Python之函数笔记

函数
一、定义
函数是带名字的代码块,用于完成具体的工作,要执行函数定义的特定任务,可调用该函数。
定义函数时,要用关键字def来定义。
实参和形参:
实参是调用函数时传递给函数的信息。
形参是调用函数时传递给函数的一项信息。
二、传递实参
① 位置实参(位置很重要)
每个实参都关联到函数定义中的一个形参。
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(‘hamster’ , ‘harry’)

结果 :
I have a hamster.
My hamster’s name is Harry.

②关键字实参
关键字实参是传递给函数的名称–值对。直接将实参中的名称和值关联起来,因此向函数传递实参时不会混淆。
函数部分与上一致

decribe_pet(animal_type = ‘hamster’ , pet_name = ‘harry’)

结果同上
:使用关键字实参时,务必准确地指定函数定义中形参名。

③ 默认值
编写函数时,可给每个形参指定默认值。在函数调用中给形参提供了实参时,Python将使用指定的实参值;否则,将使用形参的默认值。**
**
*注意 使用默认值时,在形参列表中必须先列出没有默认值的形参,在列出有默认值的形参。这让Pyhton依然能够正确地解读位置实参

三、返回值
函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值。用关键字return。

函数可返回任何类型的值,包括列表和字典等比较复杂的数据结构。
def build_person(first_name,last_name):
person = {’ first ': first_name , ‘last_name’ }
return person
musician = build_person('jimi ', ‘hendrix’)
print(musician)

结果:
{’first‘ : ’jimi‘ ,’last‘ :’hendrix‘}

四、传递列表
将列表传递给函数后,函数就能直接访问其内容。

①在函数中修改列表
将列表传递给函数后。函数就可以对其进行修改。在函数中对这个列表所做的任何修改都是永久性的。

② 禁止函数修改列表
可向函数传递列表的副本而不是原件;这样函数所做的任何修改都只影响副本,而丝毫不影响原件。
切片表示法[ : ]创建列表的副本。
五、传递任意数量的实参
可以创建一个空元组,并将收到的所有值都封装到这个元组中。
① 结合使用位置实参和任意数量实参
如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。Python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。
②使用任意数量的关键字实参
可将函数编写成能够任意数量的键–值对----调用语句提供了多少就接受多少。
六、 将函数存储在模块中
import语句允许在当前运行的程序文件中使用模块中的代码。
① 要让函数是可导入的,得先创建模块。模块是扩展名为.py的文件,包含要导入程序中的代码。
import pizza
这就是一种导入方法:只需编写一条import语句并在其中指定模块名,就在程序中使用该模块中的所有函数。
② 导入特定的函数
from module_name import function_name
from module_name import function_0,function_1,function_2
③ 使用as给函数指定别名
如果要导入的函数的名称可能与程序中现有的名称冲突,或者函数的名称太长,可指定简短而独一无二的别名——函数的另一个名称,类似于外号。
import语句中使用make_pizza as mp 实现的,关键字as将函数重命名 为你提供的别名
from pizza import make_pizza as mp
④使用as 给模块指定别名
import pizza as p
⑤ 导入模块中的所有函数
使用星号(*)运算符可让Python导入模块中的所有函数:
from pizza import *

七、 函数编写指南
注意几个细节:
① 应给函数指定描述性的名称,且只在其中使用小写字母和下划线。
②每个函数都包含简要地阐述其功能的注释,该注释应紧跟在函数定后面,并采用文档字符串格式。
③ 所有的import语句都应放在文件开头,唯一例外的情形是,在文件开头使用了注释来描述整个程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值