给变量赋值

age = 18 ids = [1,3,4,5,6] 变量名=给他赋值的值

变量的命名规则

  1. 变量名只能使用字幕、数字、下划线
  2. 第一个字不能是数字
  3. 系统关键字不能用在变量名中(保留关键字)
  4. 变量名区分大小写

值类型与引用类型

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+b
a -= b c = a-b
a *= b c = ab
a /= b c = a/b
a %= b c = a%b
a **= b c = a*
b
a //= b c = a//b

比较运算符

== 相等 != 不等 > 大于 < 小于 >= 大于等于 <= 小于等于最后会返回一个布尔值。
b=1; b+=b>=1结果为2 b=b + (b>=1)
能比较数字,字符串,字符,序列,元组。比较字符按照ascII比较,字符串比较方式为 前后字符串中相同位置元素从第一个开始逐一比较。序列和元组也是使用从头开始每一个元素和另外个比较方比较,如果相等就继续比较第二个元素。

逻辑判断运算符

and且,有一个不是真就会返回False
or或,只要有一个为真就可以为真
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是xxx
is 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循环外面使用

  1. for i in range(0,9):
  2. c = 1
  3. print(c) #输出1

global关键词

global关键词修饰的局部变量作用域可以成为全局变量的作用域

  1. #global关键字可以使得局部变量变成全局变量
  2. def func():
  3. global a
  4. a = 1
  5. func()
  6. print(a) # 1