1.0xfff,0o777,0b0110 分别代表16进制,8进制,2进制数字
2.变量名称可以用中文
3.可以使用连比 0<=1<12>10 和连续赋值 a=b=c=1
4.可以用列表赋值 a,b,c=[1,2,3] 或者 a,b,c=1,2,3
5.常用函数
str="123+456+789" lst=str.split("+") #返回一个list "-".join(lst) #返回 123-456-789 hex(0o777)#返回16进制 oct(123)#返回8进制 bin(0xfff)#返回2进制6.字符串切片
str="12345" out=str[0:5:2] #开始位置,结束位置(不含),步长 out=str[-1:-6:-1] #-1表示倒数第一位,第三个-1表示步长7.关于可变数据类型的名称引用问题 可变数据类型:list,dict,set
8.global关键字: 在python的函数体中如果直接使用全局变量,只能引用他的值而不能修改。如果想修改,则需要在一开始用global关键字指明某些变量是全局变量 示例1:
a=3 b=1 def f(): a=5 b=4 return a+b print(f()) print("%d %d" %(a,b)) ''' output: 9 3 1 可见这样其实并没有改变全局变量a b的值,只是设置了局部变量而已 '''示例2:
a=3 b=1 def f1(): print(a+b) f1() def f2(): a+=1 #f2() def f3(): global b b+=1 f3() print(b) ''' f1可以运行,output 4 f2不可运行,报错:local variable 'a' referenced before assignment。 这是因为没有在函数内部显式地定义a,b时只能引用全局变量的值而不能修改 f3中加入了global关键字,表示使用的b是全局变量,因此不会报错。且经过f3中的操作后,b=2,即全局变量值被修改 '''9.map函数: ①用来更快输入数据:
a,b,c=map(int,input().split(" ")) #map的第一个参数是一个函数func,后面跟x个list。x是func的参数个数 print(a+b+c)②方便的对list的每一项进行某种操作
a=(1,2,3,4,5) b=(6,7,8,9,10) #list和tuple都可以 def func(num1,num2): return num1+num2 c=list(map(func,a,b)) #注意map返回的是一个函数对象,需要用list进行强制类型转换 print(c)10.lambda表达式 示例1:
a=[1,2,3] b=list(map(lambda aa:3*aa,a) ) print(b)示例2:
lambda_func=lambda aa,bb:3*aa+1.0/bb out=lambda_func(3,5) print(out)