一、变量
与其他语言相比,python里面的变量不需要定义类型,只要一个变量名即可。
变量只能由数字、字母和下划线组成,只能以字母和下划线开头;与其他语言不同,也不能以“$”开头。
一定要注意一些保留字以及一些方法,如type和print
二、值类型和引用类型
值类型是不可改变的(指向地址),如果想要改变,只能重新申请空间,数字、元祖和str都是值类型;
引用类型是不可变的(指向地址),list、set和dict都是引用类型。
使用id()方法来获取变量的内存地址
三、运算符
1、算数运算符
- 表示平方,如33表示3的3次方
2、赋值运算符
- python中没有自增和自减运算
3、关系(比较)运算符
使用方法ord获取相应的编码值,如ord('a')得到97
- 字符串之间也可以比较,是按照字符比较
- list、set、tuple也可以比较,都是单个做比较
- dict不支持比较
4、逻辑运算符
得到的结果不一定是布尔类型,返回的结果是解析的最终结果,比如and,需要判断两个值是否都为真才能得到结果,所以如果第一个就是假,则返回,不再比较第二个,如果第一个为真,则无论如何都返回第二个;同样的or,两个都为假才能返回假,所以如果第一个为假时还需要确定第二个值,如果第一个为真,则直接返回第一个值;而not的返回值只有True和False:
and(且)、or(或)、not(非)
如:2 and 2得到2,2 and 1得到1,2 and 0得到0,无论结果是2还是1,都表示True
只有在需要做逻辑判断的地方才会被强转为布尔类型。
5、成员运算符
就是前面的in
和not in
str、list、set使用成员运算符,都查找的是其中的值,只查看第一层;dict查找的是其中的key,例如:
>>> 2 in {1,2}
True
>>> 2 in {'1':1}
False
>>> 2 in {'1':1,2:'2'}
True
>>> 2 in {'1':1,'2':'2'}
False
>>> 2 in {'1':1,'2':2}
False
>>> 2 in (1,3,[3,4,2])
False
6、身份运算符
is
和is not
,用来判断对象;
关系运算符的等号用来比较两个变量的值是否相等;
而is是用来比较两个变量的内存地址是否相同:
>>> a = 1
>>> b = 1.0
>>> a == b
True
>>> a is b
False
>>> id(a)
4305332608
>>> id(b)
4325448368
>>> a = 1
>>> b = 1
>>> a == b
True
>>> a is b
True
考虑下面的情况:
如果a = {1,2,3}, b = {2,1,3},那么a==b得到什么(True),a is b又得到什么?(False),为什么?
如果a= (1,2,3), b = (2,1,3),那么a == b得到什么(True),a is b又得到什么?(False),为什么?
变量类型判断:
方法一:
>>> a = 1
>>> type(a) == int
True
方法二:
>>> a = 1
>>> isinstance(a, int)
True
或者改变第二个参数为元祖,表示变量是否为元祖中的某个类型:
>>> a = '1'
>>> isinstance(a,(int, str, float))
True
网友评论