码迷,mamicode.com
首页 > 编程语言 > 详细

python3 函数

时间:2018-06-12 14:48:39      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:python函数

形式参数: 实际参数:固定数参数 默认参数:给参数一个默认值,赋予新值时覆盖默认值。 位置参数:sys.argv[XX] 代码名称、函数、变量不可以与系统默认参数、模块名字相同 if __name__ == ‘__main__‘: __name__: 在主动调用的时候返回__main__(意思就是主动调用这个函数) 在被动调用的时候返回__foo__(像导入模块的时候,顺带到这个地方,并不是要执行它的时候返回foo) 所以在if __name__ == ‘__main__‘:下面的代码是属于在主动调用的时候才执行。 前向引用: def foo(): print(‘in foo‘) bar() #此时函数的内容并没有执行,当调用的时候才开始真正的执行函数 #foo() 如果这个时候调用foo()函数的话,会报错,因为bar函数还没有生成 def bar(): print(‘in bar‘) foo() 内部函数/内嵌函数: def foo(): print(‘in foo‘) def bar(): print(‘in foo-bar‘) bar() foo() #函数bar()只能在foo函数内部调用,foo函数结束bar则结束,类似于局部变量的意思 函数操作符: 使用一对圆括号()调用函数,如果没有圆括号,只是对函数的引用 任何输入的参数都必须放置在括号中 调用:把函数执行一遍 引用:把函数本身指向引用者 >>> def func(): ... return ‘hello wlrkd‘ ... >>> a = func() >>> b = func >>> a ‘hello wlrkd‘ >>> b <function func at 0x7f90fc1afe18> >>> b() ‘hello wlrkd‘ 关键字参数: 关键字参数的概念仅仅针对函数的调用 这种理念是让调用者通过函数调用中的参数名字来区分参数 这样规范允许参数缺失或者不按顺序 def get_ingo(name, age): print(‘%s is %s years old‘ % (name, age)) get_ingo(‘bob‘, 23) get_ingo(23, ‘bob‘) get_ingo(age=23, name=‘bob‘) #get_ingo(age=23, ‘bob‘) #错误,关键字参数必须在后 #def func(age=23, name): #错误,定义函数时,有默认值的参数必须在后 # get_ingo(23, name=‘bob‘) #错误,name变量得到了多个值 # get_ingo(‘bob‘, 23, 24) #错误,调用函数时,实参个数要与形参个数相同 get_ingo(‘bob‘, age=23) 参数组: python允许程序员执行一个没有显示定义参数的函数 相应的方法是通过一个把元组(非关键字参数)或字典(关键字参数)作为参数组传递给函数 def get_args(*args): #一个*号代表以元组形式接收参数 print(args) def get_kwargs(**kwargs): #两个*号代表以字典形式接收参数 print(kwargs) def get_info(name, age): print(‘%s is %s years old‘ % (name, age)) if __name__ == ‘__main__‘: get_args() get_args(‘abc‘) get_args(10, 20,30, 40) get_kwargs() get_kwargs(name=‘bob‘, age=25) info = [‘bob‘, 23] get_info(*info) #在实参传递的时候以一个*号,代表字符串字符串、元组、列表 info_dict = {‘name‘:‘azj‘, ‘age‘:25} get_info(**info_dict) #两个*号代表的是字典的含义,将字典进行传递 () (‘abc‘,) (10, 20, 30, 40) {} {‘name‘: ‘bob‘, ‘age‘: 25} bob is 23 years old azj is 25 years old

python3 函数

标签:python函数

原文地址:http://blog.51cto.com/13399699/2128426

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!