列表:增删改查
元组:查(只读文件)
def test():
a = 11
b = 22
c = 33
d = [a,b,c]
return d #第一种
return [a,b,c] #第二种
return (a,b,c) #第三种
return a,b,c
局部变量:
全局变量:
a = 100
def test():
print("a= %d"%a)
print("b = %d"%b)
print("c = %d"%c)
b = 200
test()
c = 300 # 位置不对,报错。全局变量一定是在函数调用之前
常用顺序:
全局变量定义
各个函数定义
调用的语句
全局变量和局部变量相等,
a = 100
def test():
a = 200 # 默认是定义局部变量,修改全局变量在前加globle
print("a = %d"%a) # 200 局部变量定义
def test2():
print("a = %d"%a) # 100 全局变量
test()
test2()
定义全局变量时变量前加g_
字典、列表作为全局变量,不用加global修饰
函数参数
缺省参数:
def test(a,b = 22):
result = a+b
print("result = %d"%result)
test(11)
test(33,33)
test(44)
def test(a,b =22 ,c =33) #缺省参数
print(a)
print(b)
print(c)
test(11,c=44) #命名参数
不定长参数:
result = a+b
for i in args:
result = result+i
print(result)
sum(3,4,5,6,7,8,9)
print(a)
print(b)
print(c)
for i in args:
print(i)
for (k,v) in kwargs.items():
print(("%s"+":"+"%s")%(k,v))
A = (44,55,66)
B = {"name":"laowang","age":18}
test(1,22,33,*A,**B)
(3,) 元组,一个元素的时候,加一个“,”表示一个元组
不可变类型:数字,字符串,元组
可变类型:列表,字典
字典中,不可变类型可以当key,可变类型不行。
递归:
4!=4*3*2*1
5!=5*4*3*2*1
问题:输入一个值,完成阶乘。
def jie(n):
if n ==1:
return 1
return n*jie(n-1)