变量:在程序中用来保存数据的容器
1.声明变量(定义变量) - 假的声明
语法:
变量名 = 值
说明:
变量名 - 要求:标识符,不能是关键字
规范:a.遵循PEP8
命名规范(名字的所有字母都小写,如果由多个单词组成,单词之间用下划线隔开)
b.见名知义(看到名字就知道变量中存的是什么数据)
student_name
= ------ 赋值符号,将=右边的值赋给左边的变量
值 ------ 可以是任何有结果的表达式,例如:190,变量,10+20,调用函数表达式
age = 18
name = '小明'
使用变量的时候就是在使用变量中保存的值
print(age)
变量必须先声明(赋值)再使用
同时声明多个变量,并且赋一样的值。(同时给多个变量赋值)
num1 = num2 = num3 = 10
print(num1, num2, num3)
同时声明多个变量,并且赋不同的值(注意:变量个数和值的个数必须保持一致)
x, y, z = 10, 20, 30
print(x, y, z)
num4 = 100
num4 = 200
print(num4) # 给同一个变量赋值,后赋的值会覆盖先赋的值。
num = 'abc'
num4 = [1, 2, 3]
num4 = {'a': 100}
print('abc') #同一个变量可以存储不同类型的值
"""
2.声明变量和给变量赋值的本质
结论:python中所有的变量,存的都是数据在内存中的地址。内存地址大小一样
用一个变量给另外一个变量赋值,实质是将变量中的地址赋给另外一个变量
使用变量的时候,是使用变量中地址对应的值
C中声明变量:
int num = 10
num = 10
python中声明变量:
num = 10
num = 'safasfa'
"""
"""
3.变量的三要素:值、地址和类型
值:变量中存的地址对应的值
地址:变量中存储的地址(id)
类型:变量中存的地址对应的值的类型
"""
name1 = '小明'
name2 = name1
print(name1) # 使用变量拿到变量中地址对应的值
print(id(name1), id(name2)) # id(变量) - 获取变量中存储的地址
print(type(name1))
python中的运算符:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符
1.数学运算符:+、-、、/、%、//、*
"""
+:加法运算,-:减法运算,:乘法运算,/:除法运算,%:取余(取余数),//:整除,:幂运算
+,-,,/和数学中的+,-,×,÷对应的功能一模一样
"""
print(10+20)
print(10-20)
print(10*20)
print(10/20)
a.% - 取余
"""
应用1:获取一个整数的最低的一位或者几位的值 - num%(10^n)
应用2:判断一个数能否被另外一个数整除,看结果是否为0
"""
print(10 % 3)
print(10 % 2)
# 获取一个数的余数
num = 36523
print(num % 10) # 3
print(num % 100) #23
b.// - 除法运算,求商,获取商的整数部分
print(5//2) # 2
print(3.9//3) #1
num = 287
print(num//100) #h 获取num百位上的值
c.** - 幂运算
"""
x**y - 求x的y次方
"""
print(2**10) #2的10次方
print(9**0.5) #9开平方
print(8**(1/3)) #8开三次方
2.比较运算符:>、<、==、!=、>=、<=
"""
所有的比较运算符的运算结果都是布尔值
"""
3.逻辑运算符:and,or,not
"""
逻辑运算符的运算对象是布尔值,运算符结果也是布尔
a.and(逻辑与运算):
值1 and 值2:如果值1和值2都为True,结果才是True:只要有一个是False结果就是False
"""
逻辑与运算相当于生活中的“并且”:当需要多个条件同时满足,就是用and将多个条件连接到一起
例子:要求成绩大于90分并且表现分大于95,才能获得奖学金
grade = 99 #成绩
score = 80 #分数
print('是否获得奖学金', grade > 90 and score > 95)
"""
b.or(逻辑或运算)
值1 or 值2 :如果值1和值2中有一个是True,结果就是True。两个都是False,结果才是False
"""
逻辑或运算相当于我们生活中的“或者”;当需要多个条件中(至少)有一个条件满足,就是用or
例子:要求成绩大于90或者表现分大于95,就能获得奖学金
grade = 99 #成绩
score = 80 #分数
print('是否获得奖学金', grade > 90 or score > 95)
"""
c.not(逻辑非运算)
not值如果值是True,结果就是False;如果值是False,结果就是True
"""
用来对某个条件进行否定
例子:能否进入网吧的条件:年龄不小于18
age = 21
print('能否进入网吧', not age < 18)
4.赋值运算符:=
,+=
,-=
,*=
,/=
,%=
,//=
,**=
"""
所有赋值符的左边必须是变量;组合的赋值运算符的左边变量必须已经赋值;
所有赋值运算符最终都会进行赋值操作
"""
a. = ----- 直接将左边的结果赋值给左边的变量
num = 100
b. +=
,-=
,*=
,/=
,%=
,//=
,**=
"""
变量 += 值 -- 相当于 变量 = 变量 + 值
变量 -= 值 -- 相当于 变量 = 变量 - 值
变量 *= 值 -- 相当于 变量 = 变量 * 值
"""
num1 = 1
num1 += 10 # num1 = num1 +10 = 1 + 10
print(num1)
num1 *= 2 # num1 = num1 * 2 = 11 * 2
print(num1)
注意
:运算符的优先级
"""
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符
优先级高的先算;如果有括号,先算括号里面的
数学运算符中优先级:**
> *
, /
, //
, %
> +
,-
"""
num = 10 + 20 > 25 and True < 2
print(num)
num = 10 + (20 > 25 and True < 2)
print(num)
num = 10 + 2 * 3 ** 2
print(num)
5.位运算:&
(按位与),|
(按位或),^
(按位异或),~
(按位取反),<<
(左移),>>
(右移)
"""
位运算是针对二进制
中的每一位进行的相关操作
a. 数字1 & 数字2 ---- 二进制的每一位进行与运算,运算的时候如果都为1结果就是1,否则就是0
1 & 1 -- 1
1 & 0 -- 0
与的特点:一位上的数如果和1与,就会保留这一位上的数,如果与0与,就会将这一位置0
11010 & 00111 = 00010
与运算的运用:判断一个数的奇偶性(最优解答
)
将数字和1与 如果结果是0,就说明这个数是偶数;如果数字是1,就说明这个数是奇数。
"""
print(3 & 2)
print(3 & -2)
"""
b. 数字1 | 数字2 --- 如果有一位是1结果就是1,两个都是0结果才为0
1 | 1 -- 1
1 | 0 -- 1
0 | 1 -- 1
0 | 0 -- 0
1101 | 0010 -- 1111
"""
print(3 | 20)
print(-3 | 20)
c.按位取反
"""
~ 数字 -- 将每一位取反(0变成1,0变成1)
~1 = 0
~0 = 1
"""
print(-2)
d.按位异或
"""
数字1 ^ 数字2 -- 每一位如果相同为0,不同为1
1 ^ 1 -- 0
1 ^ 0 -- 1
0 ^ 1 -- 1
0 ^ 0 -- 0
"""
print(11 ^ 2)
e.左移
"""
数字1 << n(位数)-- 左移指定的位数,就在二进制的后面加指定个数个0
相当于: 数字1 * 2^n
"""
print(10 << 3)
f.右移
"""
数字1 >> n(位数) --将数字的二进制位,向右移动指定的位数(从低位删除指定位数)
相当于:数字 // 2^n
"""
认识字符串
"""
1.什么是字符串(str)
字符串是python中常用的有序但是不可变的容器类的数据类型,可以同时存储多个字符。属于序列
字面量:使用单引号或者双引号将任意字符括起来,就是字符串常量
'abc1ZA23' , "sada11ZA5"
字符:指的是字符串中的每一个单元。注意
,python中只有字符的概念,没有字符类型
2.字符串中的内容
a.普通字符:包含数字字符、字母、普通符号:+ - ()等等以及中文、韩文、日文等。
例如: '123', 'asd'
b.转义字符:通过反斜杠将一些字符转换成具有特殊功能或者特殊意义的字符
例如: \n -- 换行
\t -- 制表符
' -- 表示一个普通单引号
" -- 表示一个普通双引号
\ -- 表示一个普通反斜杠
注意:一个转义字符代表一个字符
c.阻止转义:在字符串最前面加r或者R,可以阻止转义字符转义
print('abc\n123')
print(r'abc\n123')
网友评论