您的位置:首页 > 编程语言 > Python开发

python3重点复习def函数

2019-01-13 00:33 134 查看

必选参数

print
4000
('必选参数')
def fun(a):	#有多少个参数,调用的时候就要有多少个元素
print(a)
fun('A')	#有多少个参数,调用的时候就要有多少个元素

默认参数

print('默认参数')
def fiu(s = 2):	#在这里把2赋值给s参数,就叫默认参数
print(s)
fiu()	#默认参数可填写元素或可不写元素都行,不填写元素就默认打印s的值,返回2
fiu(3)	#s的默认参数元素可被修改,当调用fiu函数的时候,可以赋值就直接修改了s的元素,注:(元素可填写字符串)
fiu('hello,wenge!')

可变参数,也加不定长参数

print('可变参数,也加不定长参数')
def fqw(*args):	#当你的def函数不知道要有多少个参数的时候,可以这样定义,在参数前加个*符号
print(args)
fqw(2)	#这样就可以赋值多个元素	,你会发现,这样返回的是元祖
fqw(3,4)	#这样就可以赋值多个元素	,你会发现,这样返回的是元祖
fqw('hello','haha!')	#这样就可以赋值多个元素	,你会发现,这样返回的是元祖

关键字参数

print('关键字参数')
def fas(**asdz):	#当参数出现**个星的时候,就要用关键字引入了,否则会报错
print(asdz)
fas(name = 'wenge', age = '10000')	#你会发现,这样返回的是一个字典,当参数出现**个星的时候,就要用关键字引入了,否则会报错
fas(name = 'wenge', age = '10000',dizhi = '广东')	#你会发现,这样返回的是一个字典,当参数出现**个星的时候,就要用关键字引入了,否则会报错

关键字参数

#下面例子属于关键字参数,使用关键字参数允许函数调用时参数的顺序与声明时不一致
print('关键字参数')
def sdf(xiao,hacker):
print("%s --> %s"%(xiao,hacker))
sdf('让小黑客','改变互联网')
sdf(hacker='改变互联网',xiao='让小黑客')	#如果怕元素搞乱顺序,可以这样打印指定的参数匹配元素,把指定参数赋值元素就加关键字参数

组合参数

#组合参数的顺序必须是:必选参数>默认参数>可变参数>关键字参数
print('组合参数')
def duo(z,x = 8,*c,**v):	# z必选参数, x默认参数, c可变参数, v关键字参数
print(z,x,c,v)
duo(1)
duo(1,2)
duo(1,2,3)
duo(1,2,3,4)
duo(1,2,3,(4,5))
duo(1,2,3,[4,5])
duo(1,2,3,{4,5})
duo(1,2,3,4,q=1,w=2)

变量作用域,全局变量和局部变量

print('变量作用域,全局变量和局部变量')
a = 10	#全局变量
def wen():
a=100
print(a)

def wen():
a=100
wen()
print(a)

def wen():
#使用global等于修改a全局变量
global a	#声明a是全局变量,像上面这两个例子,如果不声明的话,将无法使用局部变量,使用了global函数之后,在函数外面调用a的时候,永远都是100了
a=100	#然后再给a赋值,这个就属于局部变量
wen()
print(a)

def wen():
a=100	#把a变量的值修改为100
print(a)	#然后再函数里面调用,也属于使用了局部变量
wen()	#这里显示了函数里面的局部变量100
print(a)	#这里显示了全局变量的10

def hehe(name):	#函数定义的过程(比如这里的name)叫形参,形参只是一个形式,表示占据一个参数位置
'函数文档'	#def函数里面可以用''来实现函数文档,''里面的内容不会被打印,可以用做标记该函数的作用,相当于注释
print('调用了之后叫'+name)	#只有使用了这个参数才叫实参
hehe('实参')
print(hehe.__doc__)	#使用__doc__参数可以打印函数文档里面的内容

def sdf(xiao,hacker):
print(xiao + '-->' + hacker)
sdf('让小黑客','改变互联网')
sdf(hacker='改变互联网',xiao='让小黑客')	#如果怕元素搞乱顺序,可以这样打印指定的参数匹配元素

def xiao(names='冥狼', hackers='世界!'):	#可以给参数指定初始值
print('让' + names + '改变' + hackers)
xiao()
xiao('冥王')	#当值给出一个值的时候,将自动匹配给第一个参数
xiao(hackers='互联网')	#可以指定跟换参数的值,没提出更换的将自动使用初始值
xiao('冥王','互联网')	#重新定义值,更换了初始值

def text(*duobian):	#当你的def函数不知道要有多少个参数的时候,可以这样定义,在参数前加个*符号
print('查看参数的值有多少个:', len(duobian))	#元祖序列的坐标是从1开始算
print('查看第二个参数是:', duobian[1])	#调用第二个参数,列表形式的坐标是从0开始算
text('nash','小ck','hehe','haha')	#这个属于元祖

返回值return

def back():
return [1,'小蝎子',132.154]
print(back())

内嵌函数,也就是说在def函数里面再嵌套def函数

def fan1():
print('fan1正在执行...')
def fan2():	#在fan1函数里面再嵌套一个def函数
print('fan2正在执行...')
fan2()
fan1()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: