一、变量的声明和赋值
1、变量的声明和赋值用于将一个变量绑定到一个对象上,格式如下: 变量名 = 表达式
2、链式赋值:链式赋值用于同一个对象赋值给多个变量。 x=y=123 相当于:x=123; y=123
3、系列解包赋值:系列数据赋值给对应相同个数的变量(个数必须保持一致) >>> a,b,c=4,5,6 相当于:a=4;b=5;c=6
二、常量
Python 不支持常量,即没有语法规则限制改变一个常量的值。我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改。
>>> MAX_SPEED = 120
>>> print(MAX_SPEED)
120
>>> MAX_SPEED = 140 #实际是可以改的。只能逻辑上不做修改。
>>> print(MAX_SPEED)
140
三、最基本内置数据类型和运算符
1、最基本的内置数据类型
1. 整型
整数,2345,10,50
2. 浮点型
小数,3.14 或者科学计数法 314e-2
3. 布尔型
表示真假,仅包含:True、False
4. 字符串型
由字符组成的序列。 “abc”,”sxt”
2、基本运算符
示例:
>>> a = 7/2 #浮点数除法
>>> a
3.5
>>> a = 7//2 #整数除法
>>> a
3
>>> a = 7%2 #取余
>>> a
1
>>> 7%4
3
>>> 2**3 #幂运算
8
>>> 3/0
Traceback (most recent call last):
File "<pyshell#37>", line 1, in <module>
3/0
ZeroDivisionError: division by zero
>>> divmod(10,5) #同时得到商和余数
(2, 0)
>>> divmod(10,3)
(3, 1)
3、使用int()实现类型转换:浮点数直接舍去小数部分。布尔值True转为1,False转为0.字符串符合整数格式则直接转为对应整数,否则报错。
整数和浮点数混合运算时,表达式结果自动转型成浮点数。比如:2+8.0 的结果是 10.0
四、增强型赋值运算符
五、比较运算符
所有比较运算符返回 1 表示真,返回 0 表示假。这分别与特殊的变量 True 和 False 等价。 以下假设变量 a 为 15,变量 b 为 30:
六、逻辑运算符
七、同一运算符
同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。
示例:
>>> a = 1000
>>> b = 1000
>>> a == b
True
>>> a is b
False
>>> id(a)
46764560
>>> id(b)
46765216
>>> c = 10
>>> d = 10
>>> c is d
True
>>> id(c)
1388831648
>>> id(d)
1388831648
is 与 == 区别:
is 比较两个对象的 id 值是否相等,是否指向同一个内存地址;
== 比较的是两个对象的内容是否相等,值是否相等;默认调用对象的 __eq__()方法。
、is 运算符比 == 效率高,在变量和 None 进行比较时,应该使用 is。
八、基本运算符
示例:
1. 比较运算符可以连用,并且含义和我们日常使用完全一致。
>>> a = 4
>>> 3<a<10 #关系运算符可以连用
True
2. 位操作
>>> a = 0b11001
>>> b = 0b01000
>>> c = a|b
>>> bin(c) #bin()可以将数字转成二进制表示
'0b11001'
>>> bin(c&b)
'0b1000'
>>> bin(c^b)
'0b10001'
>>> a = 3
>>> a<<2 #左移 1 位相当于乘以 2.左移 2 位,相当于乘以 4
12
>>> a = 8
>>> a>>1 #右移 1 位相当于除以 2.
3. 加法操作
(1) 数字相加 3+2 ==> 5
(2) 字符串拼接 “3”+“2”==> “32”
(3) 列表、元组等合并 [10,20,30]+[5,10,100] ==>[10,20,30,5,10,100]
4. 乘法操作
(1) 数字相乘 3*2 ==> 6
(2) 字符串复制 “sxt”*3 ==> ”sxtsxtsxt”
(3) 列表、元组等复制 [10,20,30]*3 ==> [10,20,30,10,20,30,10,20,30]
九、复合赋值运算符
注意:与 C 和 JAVA 不一样,Python 不支持自增(++)和自减(--)
十、运算符优先级问题
从高到低顺序:
实际使用中,记住如下简单的规则即可,复杂的表达式一定要使用小括号组织。
1. 乘除优先加减
2. 位运算和算术运算>比较运算符>赋值运算符>逻辑运算符