一.运算符
1.python变量名的定义:
(1)变量名必须以字母或者下划线开头(以下划线开头或者结束的成员名有特殊的含义,在类的定义下用下划线作为成员名前缀和后缀往往是表示类的特殊成员)
- _xxx:以一个下划线开头,保护成员,只有类对象和子类对象可以访问这些成员,在类的外部一般不建议直接访问;在模块中使用一个或多个下划线开头的成员不能用from module import *导入,除非在模块中使用_ _all_ _变量明确指出这样的成员可以导入。
- _ _xxx_ _:前后各两个下划线,系统定义的特殊成员。
- _ _xxx:以两个或更多下划线开头但不以两个或更多下划线结束,表示私有成员,一般只有基类的对象自己能访问,子类的对象也不能访问该成员,但在基类的对象外部可以通过“对象名._类名_ _xxx”这样的特殊方式来访问。
(2)变量名中不能有空格或者标点符号(括号、引号等)
(3)不能使用关键字作为变量名
(4)不建议使用系统内置的模块名、类型名或函数名以及已导入的模块名及其成员名作为变量,这会改变其类型和含义,甚至会导致其他代码无法正常执行,可以通过dir(_ _builtins_ _)查看所有内置对象的名称。
(5)变量名对英文字母的大小写敏感,分别为不同的变量。
2.复数
>>>x=3+4j #使用j或J表示复数虚部
>>>y=5+6j
>>>x+y #支持负数的加减乘除运算
(8+10j)
>>>abs(x) #使用内置函数abs()可用来计算复数的模
>>>x.img #虚部
4.0
>>>x.real #实部
3.0
>>>x.conjugate #共轭复数
(3-4j)
3.算术运算符
- +运算符除了用于加法算术外,还可以用于列表,元组,字符串的连接,但不支持不同的类型的对象之间相加或者相减(并集)
- *运算符除了用于算术乘法外,还可以用于列表,元组,字符串这几个序列类型与整数的乘法,表示序列元素的重复,生成新的序列对象。字典和集合不支持与整数的相乘,因为其中的元素不允许重复。
- /表示算数除法,//表示求整商(商取整)
- %运算符可以用于整数或实数的求余数运算(结果符号和除数相同),还可以用于字符串格式化
4.成员测试运算符
- in用于成员测试,测试一个对象是否为另一个对象的元素
- is用于测试两个对象是否为同一个,如果两个对象是一个,两者具有相同的内存地址
5.位运算符
位运算符详解(与,或,非,异或)_Markble的博客-CSDN博客
首先将整数转化为二进制数,然后右对齐,必要时左侧补0,按位进行运算,最后再把计算结果为转化为十进制数字返回。& | ^
6. 逻辑运算符
and,or,not,and和or具有惰性求值或者逻辑短路的特点。
7.类型转换与类型判断
>>>bin() #二进制
>>>oct() #八进制
>>>hex() #十六进制
注:
-
python中的变量并不直接存储值,而是存储了值的内存地址或者引用
-
应尽量避免在实数之间直接进行相等性测试,而是应该以两者之差的绝对值是否足够小作为两个实数是否相等的依据。
- 在数字中间位置使用单个下划线作为分隔来提高数字的可读性
- 1<3<5等价于1<3 and 3<5
- 列表重复的值在内存中只有一份
- python不支持i++和i--运算