函数的学习1——定义函数&传递实参——参考Python编程从入门到实践
定义函数
def greet_user():
print("Hello") greet_user() # PEP8 函数和类的定义后空两行
1. 向函数传递参数
def greet_user(username):
print("Hello, " + username.title() + "!") greet_user('ges')
2. 实参和形参
函数定义时括号中的变量称之为形参,eg: username;函数调用时括号中的值或变量成为实参,eg: 'ges'。
函数调用时将实参值传递给形参,运行函数体。
传递实参
1. 位置实参
函数调用时,将函数调用中的每个实参都关联到函数定义中的一个形参,基于实参顺序的关联方式——位置实参。
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.
位置实参:函数调用时自动将从左往右的第一个实参传递给第一个形参,第二个实参传递给第二个形参,依次。。。
- 函数可以多次调用:为提高工作效率,定义一个函数之后,可以多次调用,只需使用不同的实参即可。
- 注意实参的顺序:实参的顺序应与形参的顺序一致,不然会闹出笑话。
2. 关键字实参
describe_pet(animal_type='dog', pet_name='pipi')
describe_pet(pet_name='pipi', animal_type='dog')
上述两条函数调用代码的运行结果完全一样。
传递给形参名称-值对,函数调用时就无需考虑实参顺序。
3. 默认值
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.
4. 等效函数调用
可混合使用位置实参、关键字实参和默认值,形成了多种运行结果一致的函数调用方式——简称等效函数调用。
5. 避免实参错误
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'
实参和形参不匹配时,运行报错信息会有详细信息,根据提示信息修改代码即可。
函数的学习1——定义函数&传递实参——参考Python编程从入门到实践的更多相关文章
- 函数的学习2——返回值&传递列表——参考Python编程从入门到实践
返回值 函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值.函数的返回值被称为返回值. 1. 简单的返回值 def get_formatted_name(first_name, l ...
- 函数的学习3——传递任意数量的实参&将函数存储在模块——参考Python编程从入门到实践
传递任意数量的实参 形参前加一个 * ,Python会创建一个已形参为名的空元组,将所有收到的值都放到这个元组中: def make_pizza(*toppings): print("\nM ...
- 二、继续学习(主要参考Python编程从入门到实践)
操作列表 具体内容如下: # 操作列表 # 使用for循环遍历整个列表. # 使用for循环处理数据是一种对数据集执行整体操作的不错的方式. magicians = ['alice', 'david' ...
- 字典的学习2——参考Python编程从入门到实践
遍历字典 1. 遍历所有键值对 eg1: user_0 = { 'username': 'efermi', 'first': 'enrico', 'last': 'fermi',}for key, v ...
- 字典的学习1——参考Python编程从入门到实践
字典:从汉语词意的角度理解,字典就是一个工具书,可以查找某个字.词.成语等的详细解释,字与解释相对应,而Python中字典则是一些列键和值相对应. Python中,字典放在花括号{键:值}中,eg: ...
- Python编程从入门到实践笔记——函数
Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...
- 入门python:《Python编程从入门到实践》中文PDF+英文PDF+代码学习
入门python推荐学习久负盛名的python入门书籍<Python编程从入门到实践>. 书中涵盖的内容是比较精简的,没有艰深晦涩的概念,最重要的是每个小结都附带有"动手试一试& ...
- 《Python编程从入门到实践》_第八章_函数
一个简单的函数 先看一个简单的函数 def say_hello(): '''打印hello''' print("Hello!") say_hello() #运行结果 Hello! ...
- 函数的练习2——python编程从入门到实践
8-9 魔术师:创建一个包含魔术师名字的列表,并将其传递一个名为show_magicians()的函数,这个函数打印列表中每个魔术师的名字. def show_magicians(magicians) ...
随机推荐
- UFUN函数 UF_ATTR函数(UF_ATTR_assign ,UF_ATTR_read_value )
UF_initialize(); tag_t ; ]="零件名称"; UF_ATTR_value_t value; value.type=UF_ATTR_string; value ...
- 在WinDbg里使用MEX调试扩展
简介 针对WinDbg的MEX调试扩展可以帮助您简化常见的调试器任务,并为调试器提供强大的文本筛选功能.此扩展被Microsoft支持工程师广泛用于解决流程应用程序的故障. 下载&安装 下载m ...
- WinDbg常用命令系列---!cppexr
!cppexr 简介 !cppexr显示C++异常记录的内容. 使用形式 !cppexr Address 参数 Address指定要显示的C++异常记录的地址. 支持环境 Windows 2000 E ...
- Prisma 2 is Coming Soon
转自:https://www.prisma.io/blog/prisma-2-is-coming-soon-mwwfhevie993 Prisma 2 will introduce many fund ...
- CFD-Post批处理(在一系列算例同一位置截取速度云图)
批量在一系列算例的同一位置截取面,并显示截面的速度分布云图 现在我们有一系列的算例 我们打开CFD-Post 我们编写如下的Python代码来实现在一系列算例的同一位置截面,并显示界面的速度分布云图 ...
- Linux 权限规划ACL
什么是ACL ACL是Access Control List的缩写,主要目的是提供传统的owner.group.others的read.write.execute权限之外的具体权限设置 ACL可以针对 ...
- Java 面向对象(九)
常用类之Random Random类位于 java.util 包中,主要用于生成伪随机数 Random类将种子数作为随机算法的起源数字,计算生成伪随机数,其与生成的随机数字的区间无关 创建Random ...
- IIS 7中添加FTP站点并设置指定用户访问
1. 开启 FTP 和 IIS 服务功能: 2. 添加新用户: 打开计算机管理界面: 展开“本地用户与组”: 邮件点击“用户”->点击“创建新用户”: 在创建新用户对话框输入用户 ...
- GWAS Catalog数据库简介
GWAS Catalog The NHGRI-EBI Catalog of published genome-wide association studies EBI负责维护的一个收集已发表的GWAS ...
- jq select change下拉框选项变化判断选中值,添加(attr)或移除(removeAttr)一个或多个属性
select change下拉框选项变化判断选中值,添加(attr)或移除(removeAttr)一个或多个属性 $("#IsRecommend").change(function ...