给变量赋值
age = 18 ids = [1,3,4,5,6]
变量名=给他赋值的值
变量的命名规则
- 变量名只能使用字幕、数字、下划线
- 第一个字不能是数字
- 系统关键字不能用在变量名中(保留关键字)
- 变量名区分大小写
值类型与引用类型
type = 1<br /> type (1) // 报错,因为type之前赋予整形,第二行整形不能当作函数用
值类型(不可改变)
int str tuple
只会生成新的值'python'[0] = 'o'
报错!a= (1,2,3); a[0=1
报错!
引用类型(可变)
list set dict b=[1,2,3]; b[0]= 1;
可行!b.append(4) 可行
访问元组中的序列里的元素a = (1,2,3,[1,2,4]); 访问4: a[3][2]
num = (1,2,3,[4,5,[6,7,8]]) 访问7: num[3][2][1]
运算符
算术运算符/ 除法 // 整除 % 取余 * 乘法增加几倍 + 增加 - 减少
2的5次方 2**5
赋值运算符
a = b
把等号右边赋值等号左边的变量a += b
a = a+ba -= b
c = a-ba *= b
c = aba /= b
c = a/ba %= b
c = a%ba **= b
c = a*ba //= b
c = a//b
比较运算符
== 相等 != 不等 > 大于 < 小于 >= 大于等于 <= 小于等于
最后会返回一个布尔值。b=1; b+=b>=1
结果为2 b=b + (b>=1)
能比较数字,字符串,字符,序列,元组。比较字符按照ascII比较,字符串比较方式为 前后字符串中相同位置元素从第一个开始逐一比较。序列和元组也是使用从头开始每一个元素和另外个比较方比较,如果相等就继续比较第二个元素。
逻辑判断运算符
and
且,有一个不是真就会返回Falseor
或,只要有一个为真就可以为真not
非,如果是真则改为假,如果是假就为真0 and 1 => 0
1 and 2 => 2 返回后面的值,因为要判断两个都为true,所以会看到第二个就会返回第二个值
0 or 1 => 1
1 or 3 =>1 读到第一个字符的时候已经true了则直接返回
成员运算符(判断元素是否在另外个元素中,返回bool)
in
是否在not in
是否不在
在字典数据结构中判断是是否存在key为xxx
身份运算符(返回bool)
is
是xxxis not
不是xxx
区分 “==” : ==判断的是值相等,is判断的是内存地址相等>>> a = {1,2,3} b = {3,2,1} a==b => true a is b =>False 集合里的元素是无序的 所以==为true
>>> a = (1,2,3)>>> b=(2,1,3)>>>3 a ==b False>>> a is b False 元组里的元素是有序的所以==为false
判断类型
isinstance(a,int) 判断a是不是int类型,是则返回true否则返回false
isinstance(a,(int,str,float))判断a是不是属于这三种数据类型,如果属于一种则返回true
位运算符(把数字当作对二进制数运算)
& 按位与
|按位或
^ 按位异或
~ 按位曲反
<<做移动
>>右移动
变量的作用域
python中是没有块状作用域,只有函数的作用域。 for循环内部的变量可以在for循环外面使用
for i in range(0,9):
c = 1
print(c) #输出1
global关键词
global关键词修饰的局部变量作用域可以成为全局变量的作用域
#global关键字可以使得局部变量变成全局变量
def func():
global a
a = 1
func()
print(a) # 1