代码格式 -- coding=utf-8 -- def main(): pass if name == ‘main’: main() #没有返回值的函数 ``def my_len(): s = ‘haha nihao’ length = 0 for i in s: length +=1 print(length) #调用函数 my_len() #有返回值的函数 def my_len(): s = ‘haha nadfadfafafaihao’ length = 0 for i in s: length +=1 return length #调用函数 a = my_len() print(a) #有多个参数的函数 def maxnum(x,y): the_max = x if x>y else y return the_max pass r = maxnum(10,50) print® #带默认参数的函数 def stu_info(name,age=18): print(name,age) pass stu_info(“xiaohong”) #默认参数可以是一个可变数据类型 def demo(a,li=[]): li.append(a) print(li) pass demo(‘abc’) demo(‘bcd’) #不定长参数 def fun1(name,age,args): print(‘name is:’,name) print(‘age is:’,age) print(‘arg is:’,args) print(‘第一个多余的是:’,args[0]) pass #如果超过了字符的检测,就用args接收 t = (‘a’,‘b’,‘c’,‘d’) fun1(*t) #传入字典到函数 def fun2(**dic): print(dic) pass dic1 = {“name”:“xiaoming”,“age”:18,“job”:“none”} fun2(**dic1) #多种参数传递 def fun1(a,b,*args,**kwargs): print(a) print(b) print(args) print(kwargs) pass fun1(1,2,3,4,5,name=“n1”,job=“n2”) a会接收1,b会接收2,345会被args接收并且转化为元祖,剩下的会被kwargs接收转化为字典 #匿名函数 x = lambda y,z:y+z print(x(2,3)) 作用域: locals() 本地(本函数)定义的所有变量都会以字典的形式存在这里 globals() 在外部定义的所有变量都会以字典的形式存在这里 c = 100 def fun1(): #我现在要使用全局变量了 global c c = c+2 print© pass fun1() #可变数据类型,比如列表,字典,集合,直接用 li = [1,2,3] d