Python 笔记 --函数
目录
1.定义一个函数
2. 实参形参
3.传递实参
3.1 位置实参
3.2 关键字实参
3.3 返回字典
3.4 传递列表
3.5 传递任意实参,用元组的方法
3.6 字典传递任意数量的实参
4.将函数存储在模块中
4.1 导入整个模块
4.2 导入特定函数
4.3 使用 as 给函数 / 模块指定别名
1.定义一个函数
格式: def function_name(option)
statements
def print_hi(name):print(f'Hi, {name}')print_hi('PyCharm')
输出: Hi, PyCharm
2. 实参形参
def print_hi(name) 中,name 就是形参,函数完成其工作所需的一项信息。
print_hi('PyCharm')中,PyCharm 是一个实参,实参是调用函数时传递给函数的信息。
3.传递实参
传递实参可以使用位置实参、关键字实参、列表或字典。
3.1 位置实参
要求实参顺序和形参顺序相同
3.2 关键字实参
关键字实参传递给函数的名称--值对。
def food(f_type,f_name):print("\nI have " + f_name + ".")print("The " + f_type + "'s is " + f_name.title())food('fruit','apple') #传递实参,要求实参顺序和形参顺序相同
food(f_type = 'fruit',f_name = 'apple') #关键字实参传递给函数的名称--值对def f_name(first_name,last_name,mid_name = ''): #给形参设定默认值if mid_name:full_name = first_name + '' + mid_name + '' + last_nameelse:full_name = first_name + '' + last_namereturn full_name.title()print(f_name('anna','black')) #函数调用时没有指定实参,将会调用默认值
print(f_name('Soft','black','evel'))
输出:
I have apple.
The fruit's is AppleAnnablack
Softevelblack
3.3 返回字典
def f_name(first_name,last_name,mid_name=''):full_name = {'frist':first_name,'last':last_name,'mid':mid_name}return full_name
print(f_name('dfs','ffw','htrg'))
print(f_name('sdf','htr'))
{'frist': 'dfs', 'last': 'ffw', 'mid': 'htrg'}
{'frist': 'sdf', 'last': 'htr', 'mid': ''}
3.4 传递列表
def print_model(print_design,completed_model):while print_design:cur_design = print_design.pop()print("Print model: " + cur_design)completed_model.append(cur_design)def show_completed_model(completed_model):print("The models have been printed: ")for com_model in completed_model:print(com_model)print_design = ['iphone case','reboot','dodecahe']
completed_model = []print_model(print_design[:],completed_model) # print_design[:] 表示 print_design的备份,# print_model函数对备份的操作不会影响原来的列表
print('\n')
show_completed_model(completed_model)
show_completed_model(print_design)
Print model: dodecahe
Print model: reboot
Print model: iphone caseThe models have been printed:
dodecahe
reboot
iphone case
The models have been printed:
iphone case
reboot
dodecahe
3.5 传递任意实参,用元组的方法
def food(*tos): # * 让Python创建了一个名为 tos 的空元组,并将接收到的所有值都装到元组中if tos.__len__() != 1 :for to in tos:print(to + '-',end='') # end = '' Python的不换行输出else:print(tos) # end = '' Python的不换行输出food('fwe')
food('fsfew','213','房购房')
('fwe',)
fsfew-213-房购房-
def food(size,*tos): # * 让Python创建了一个名为 tos 的空元组,并将接收到的所有值都装到元组中if tos.__len__() != 1 :for to in tos:print(size,to )else:print(size,tos)food(12,'fwe')
food(45,'fsfew','213','房购房')
12 ('fwe',)
45 fsfew
45 213
45 房购房
3.6 字典传递任意数量的实参
def f_name(frist,last,**user_info): # ** 是让Python创建一个名为 user_info 的空字典,# 并将接收到的键值对放入其中profile = {}profile['frist_name'] = fristprofile['last_name'] = lastfor key,value in user_info.items(): # .items() 返回的是键值对profile[key] = valuereturn profileuser_profile = f_name('albert','einstein',location = 'princeton',field = 'physics')
print(user_profile)
{'frist_name': 'albert', 'last_name': 'einstein', 'location': 'princeton', 'field': 'physics'}
4.将函数存储在模块中
4.1 导入整个模块
什么是模块?
模块是扩展名为 .py 的文件,包含要导入程序中的代码
在 main.py 中加入代码行 import add 让Python打开 add.py 文件,那么在 main.py 文件中就可以使用句点通过名称来调用 add.py 中的文件了
4.2 导入特定函数
无需使用句点,可以直接通过名称来调用函数,导入语法:
from module_name import func_name1, func_name2, func_name3
4.3 使用 as 给函数 / 模块指定别名
当函数名太长或者与当前的模块中的函数有冲突,可以用 as 函数取别名
指定函数:
from module_name import func_name as fn
指定模块:
import module_name as mn
4.4 导入模块中所以函数
语法:
from module_name import *
通配符 * 号匹配所有函数,无需使用句点,可以直接通过名称来调用函数。
不推荐使用 * ,在Python中可能遇到多个名称相同的函数和变量,进而覆盖函数,而不是分别导入所有的函数,最佳做法是只导入所需要的函数,或者导入模块使用句点表示法,这能使代码更清晰,更容易阅读和理解。
Python 笔记 --函数相关推荐
- Python笔记-函数装饰器
在调用某个方法前,想调用一些额外的东西. 个人感觉就和C++里面,带一个函数指针的的参数,在某个函数执行前,调用这个函数指针,或者,在某个函数中,直接调用这个函数.比如插入日志等.功能. 但在pyth ...
- Python笔记-函数装饰器的缺点
装饰器的好处,复用了代码,缺点就是原函数的元信息不见了 比如函数docstring._name_.参数列表 如下代码: def use_logging(level = "debug" ...
- python eval 入门_Python学习笔记整理3之输入输出、python eval函数
Python学习笔记整理3之输入输出.python eval函数 来源:中文源码网 浏览: 次 日期:2018年9月2日 Python学习笔记整理3之输入输出.python eval函数 ...
- 初学者python笔记(装饰器、高阶函数、闭包)
一个函数被定义完成后,甚至程序发布后,后期可能需要添加某些功能,但是我们不可能每次都去修改原函数的代码,这时候装饰器就可以上场了,本篇文章将会用一个个可实现的代码,由浅入深.循序渐进得阐述装饰器的强大 ...
- 初学者python笔记(内置函数_2)
这篇初学者笔记是接着上一篇初学者python笔记(内置函数_1)的.同样都是介绍Python中那些常用内置函数的. max()和min()的高级用法 我们都知道,max():取最大值,min():取最 ...
- 初学者python笔记(map()函数、reduce()函数、filter()函数、匿名函数)
文章目录 一.匿名函数 二.map()函数 三.reduce()函数 四.filter()函数 五.三大函数总结 本篇文章内容有Python中的匿名函数和map()函数.reduce()函数.filt ...
- 《流畅的Python第二版》读书笔记——函数中的类型注解
引言 这是<流畅的Python第二版>抢先版的读书笔记.Python版本暂时用的是python3.10.为了使开发更简单.快捷,本文使用了JupyterLab. 本章关注于Python在函 ...
- python全栈开发笔记---------函数
一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...
- python实现函数ifodd_09-Python笔记整理(函数)
函数也是对象 函数的返回值 1.函数的返回值: a.就是函数返回给调用者的值 b.就是return关键字后面的表达式的值 c.就是函数调用表达式的值 python中每个函数都是有返回值的,返回值就是r ...
最新文章
- 【通知】《深度学习之模型设计》第三次重印,欢迎读者支持!
- power bi 日期计算_PowerBI 动态计算周内日权重指数
- 4.8-全栈Java笔记:包机制
- 2013应届毕业生“百度”校招应聘总结
- android 获取monkey日志_Monkey日志如何分析
- vivox20 html阅读器,【vivoX20评测】屏幕:全面屏也得看显示素质_vivo X20_手机评测-中关村在线...
- oracle将字符串转成数组_【算法打卡】上升下降字符串
- Ubuntu 16.04 折腾日记
- php函数中pdf文件文字转曲,indesign使文字转曲的三种方法
- linux系统设置中文
- @Transient注解
- 酷q java_组件-酷Q(QQ)-CQ HTTP API(基本失效)
- Codeforces Round #612 (Div. 2) C. Garland题解
- 没考驾照的恭喜了!上海打响第一枪!
- 给北上奋进的你一份礼物(java面试知识储备攻略)
- 企业经营核心要素框架
- 51cto的请看过来
- 小甲鱼python课后习题【26,27,28,29,30】
- (Adventure项目)自行车业务数据分析报告(二)
- js动态添加html元素绑定事件,JS实现动态添加DOM节点和事件的方法示例