目录

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 笔记 --函数相关推荐

  1. Python笔记-函数装饰器

    在调用某个方法前,想调用一些额外的东西. 个人感觉就和C++里面,带一个函数指针的的参数,在某个函数执行前,调用这个函数指针,或者,在某个函数中,直接调用这个函数.比如插入日志等.功能. 但在pyth ...

  2. Python笔记-函数装饰器的缺点

    装饰器的好处,复用了代码,缺点就是原函数的元信息不见了 比如函数docstring._name_.参数列表 如下代码: def use_logging(level = "debug" ...

  3. python eval 入门_Python学习笔记整理3之输入输出、python eval函数

    Python学习笔记整理3之输入输出.python eval函数 来源:中文源码网    浏览: 次    日期:2018年9月2日 Python学习笔记整理3之输入输出.python eval函数 ...

  4. 初学者python笔记(装饰器、高阶函数、闭包)

    一个函数被定义完成后,甚至程序发布后,后期可能需要添加某些功能,但是我们不可能每次都去修改原函数的代码,这时候装饰器就可以上场了,本篇文章将会用一个个可实现的代码,由浅入深.循序渐进得阐述装饰器的强大 ...

  5. 初学者python笔记(内置函数_2)

    这篇初学者笔记是接着上一篇初学者python笔记(内置函数_1)的.同样都是介绍Python中那些常用内置函数的. max()和min()的高级用法 我们都知道,max():取最大值,min():取最 ...

  6. 初学者python笔记(map()函数、reduce()函数、filter()函数、匿名函数)

    文章目录 一.匿名函数 二.map()函数 三.reduce()函数 四.filter()函数 五.三大函数总结 本篇文章内容有Python中的匿名函数和map()函数.reduce()函数.filt ...

  7. 《流畅的Python第二版》读书笔记——函数中的类型注解

    引言 这是<流畅的Python第二版>抢先版的读书笔记.Python版本暂时用的是python3.10.为了使开发更简单.快捷,本文使用了JupyterLab. 本章关注于Python在函 ...

  8. python全栈开发笔记---------函数

    一 数学定义的函数与python中的函数 初中数学函数定义:一般的,在一个变化过程中,如果有两个变量x和y,并且对于x的每一个确定的值,y都有唯一确定的值与其对应,那么我们就把x称为自变量,把y称为因 ...

  9. python实现函数ifodd_09-Python笔记整理(函数)

    函数也是对象 函数的返回值 1.函数的返回值: a.就是函数返回给调用者的值 b.就是return关键字后面的表达式的值 c.就是函数调用表达式的值 python中每个函数都是有返回值的,返回值就是r ...

最新文章

  1. 【通知】《深度学习之模型设计》第三次重印,欢迎读者支持!
  2. power bi 日期计算_PowerBI 动态计算周内日权重指数
  3. 4.8-全栈Java笔记:包机制
  4. 2013应届毕业生“百度”校招应聘总结
  5. android 获取monkey日志_Monkey日志如何分析
  6. vivox20 html阅读器,【vivoX20评测】屏幕:全面屏也得看显示素质_vivo X20_手机评测-中关村在线...
  7. oracle将字符串转成数组_【算法打卡】上升下降字符串
  8. Ubuntu 16.04 折腾日记
  9. php函数中pdf文件文字转曲,indesign使文字转曲的三种方法
  10. linux系统设置中文
  11. @Transient注解
  12. 酷q java_组件-酷Q(QQ)-CQ HTTP API(基本失效)
  13. Codeforces Round #612 (Div. 2) C. Garland题解
  14. 没考驾照的恭喜了!上海打响第一枪!
  15. 给北上奋进的你一份礼物(java面试知识储备攻略)
  16. 企业经营核心要素框架
  17. 51cto的请看过来
  18. 小甲鱼python课后习题【26,27,28,29,30】
  19. (Adventure项目)自行车业务数据分析报告(二)
  20. js动态添加html元素绑定事件,JS实现动态添加DOM节点和事件的方法示例

热门文章

  1. Excel的常用函数使用
  2. 1.2 CSS 基础
  3. replace()和re.s()用法
  4. 小公司的坑,能躲一个是一个!
  5. 论文算法学习实现(5):动态障碍物的检测和剔除2
  6. 《蒹葭》-- 选自《诗经·国风·秦风》
  7. 2018前端面试题(八)
  8. 【人工智能Prolog】安装与运行你的第一个Prolog程序
  9. 草草读罢《苏菲的世界》
  10. Identity Card