发布于2019-08-08 11:02 阅读(813) 评论(0) 点赞(3) 收藏(0)
def greet_user(): print("Hello") greet_user() # PEP8 函数和类的定义后空两行
def greet_user(username): print("Hello, " + username.title() + "!") greet_user('ges')
函数定义时括号中的变量称之为形参,eg: username;函数调用时括号中的值或变量成为实参,eg: 'ges'。
函数调用时将实参值传递给形参,运行函数体。
函数调用时,将函数调用中的每个实参都关联到函数定义中的一个形参,基于实参顺序的关联方式——位置实参。
def describe_pet(animal_type, pet_name): print("\nI have a " + animal_type + '.') print("My " + animal_type + "'s name is " + pet_name.title() + ".") describe_pet('dog', 'pipi')
运行结果:
I have a dog. My dog's name is Pipi.
位置实参:函数调用时自动将从左往右的第一个实参传递给第一个形参,第二个实参传递给第二个形参,依次。。。
describe_pet(animal_type='dog', pet_name='pipi') describe_pet(pet_name='pipi', animal_type='dog')
上述两条函数调用代码的运行结果完全一样。
传递给形参名称-值对,函数调用时就无需考虑实参顺序。
def describe_pet(pet_name, animal_type='dog'): print("\nI have a " + animal_type + '.') print("My " + animal_type + "'s name is " + pet_name.title() + ".") describe_pet(pet_name='wangwang') # 使用默认值 describe_pet('wangwang') # 使用默认值 & 位置实参 describe_pet(pet_name='mimi', animal_type='cat') # 忽略形参的默认值,传递新的实参值
运行结果:
I have a dog. My dog's name is Wangwang. I have a dog. My dog's name is Wangwang. I have a cat. My cat's name is Mimi.
可混合使用位置实参、关键字实参和默认值,形成了多种运行结果一致的函数调用方式——简称等效函数调用。
def describe_pet(pet_name, animal_type): print("\nI have a " + animal_type + '.') print("My " + animal_type + "'s name is " + pet_name.title() + ".") describe_pet()
运行结果:
Traceback (most recent call last): File "C:\Users\yxf\Desktop\python_pycharm\test_def.py", line 6, in <module> describe_pet() TypeError: describe_pet() missing 2 required positional arguments: 'pet_name' and 'animal_type'
实参和形参不匹配时,运行报错信息会有详细信息,根据提示信息修改代码即可。
作者:天下
链接:https://www.pythonheidong.com/blog/article/13465/386bdb3ff393cc23613e/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!