python学习(函数)
前言:目前先将python的基础语法和知识学完,再去尝试写脚本,这次就学习python中的函数和类。
一、定义函数
使用关键字def 来定义一个函数,这就是函数定义,而且定义以冒号结尾。
格式:
def 函数名 :内容函数名
例如:
def message():"""打印的信息"""print("hello world")
message()
输出结果:
hello world
"""打印的信息"""
被称为文档字符串的注释,文档字符串用三引号括起来。
二、向函数传递信息
def message(username):"""打印的信息"""print("hello,"+username.title())
#调用函数
message('lemon')
通过这个例子可以知道,在定义函数时括号内添加了username
,我们在调用的时候可以赋任何值给username
。
三、位置实参
调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的一个形参。最简单的关联方式是基于实参的顺序,这就算位置参数。
调用函数多次,如:
应注意在函数调用时实参的顺序与函数定义中形参的顺序是否一致
关键字实参
关键字实参是传递给函数的名称—值对,直接在实参中将名称和值关联起来,因此向函数传递实参时不会混淆.
关键字实参明确地指出了各个实参对应的形参,因此不会出现因为顺序而混淆的情况。
默认值
编写函数时,可给每个形参指定默认值。在调用函数中给形参提供了实参时,Python将使用指定的实参值;否则,将使用形参的默认值。
使用默认值时,在形参列表中必须先列出没有默认值的形参,再列出有默认值的实参。这样才能够正确地解读位置实参。
四、返回值
函数并非总是直接显示输出,相反,它可以处理一些数据,并返回一个或一组值。函数返回的值被称为返回值 。
返回简单的值
相较于之前,需要再次调用函数并赋值有些麻烦,返回值直接是赋值给一个变量,我们通过打印出这个变量即可得出相应的值。
让实参变成可选的
有时候,需要让实参变成可选的,这样使用函数就可以提供额外的信息。
可使用默认值来让实参变成可选的。
这里用一个if
语句来进行判断middle_name
是否存在,通过这样的判断,就可以打印出不同的情况,这里便是将middle_name
变成可选的。
返回字典
函数可返回任何类型的值,包括列表和字典等较复杂的数据结构。
full_name
接收first_name
和last_name
,并将这些值封装到字典中.
同样可以增加一个可选值,如果存在则添加到字典中,并通过返回值赋值给变量
使用函数和while循环
五、传递列表
将列表传递给函数后,函数就能直接访问其内容
通过把列表传递给函数,提高效率
传递任意数量的实参
形参名*toppings 中的星号让Python创建一个名为toppings 的空元组,并将收到的所有值都封装到这个元组中
不管收到的是一个值还是三个值,函数都能妥善地处理
结合使用位置实参和任意数量实参
如果要让函数接受不同类型的实参,必须在函数定义中将接纳任意数量实参的形参放在最后。Python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。
Python将收到的第一个值存储在形参size 中,并将其他的所有值都存储在元组toppings中
使用任意数量的关键字实参
结果:
{'first_name': 'albert', 'last_name': 'einstein', 'location': 'princeton', 'field': 'physics'}
形参**user_info
中的两个星号让Python创建一个名为user_info 的 空字典,并将收到的所有名称—值对都封装到这个字典中。 然后遍历字典user_info 中的键—值对,并将每个键—值对都加入到字典profile 中。
六、将函数存储在模块中
导入整个模块
模块 是扩展名为.py的文件,包含要导入到程序中的代码
只需编写一条import 语句并在其中指定模块名,就可在程序中使用该模块中的所有函数。
例如:
使用这种import 语句导入了名为module_name.py 的整个模块,就可使用下面的语法来使用其中任何一个函数:
module_name.function_name()
导入特定的函数
from module_name import function_name
通过用逗号分隔函数名,可根据需要从模块中导入任意数量的函数:
from module_name import function_0, function_1, function_2
使用as给函数指定别名
函数make_pizza() 指定了别名mp()
指定别名通用语法:
from module_name import function_name as fn
使用as给模块起别名
导入模块中的所有函数
使用星号(* )运算符可让Python导入模块中的所有函数
from module_name import *
python学习(函数)相关推荐
- Python学习—函数
函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率. 1.定义函数 Python 定义函数使用 def 关键字,一般格式如下: def ...
- python学习——函数及其参数
函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.严格来说python只有函数,没有过程,人们理解的函数都是带有return的,而过程 ...
- python学习--函数例子
1 #!/usr/bin/env python3 2 # -*- coding:utf-8 -*- 3 4 #01 函数的定义,调用 5 #生日歌 6 def happy(): 7 print(&qu ...
- Debian Linux下的Python学习——函数
python函数通过def关键字定义.def关键字后跟一个函数的标识符名称,然后跟一对圆括号.圆括号之中可以包括一些变量名,该行以冒号结尾.接下来是一块语句,它们是函数体. 1.无参数函数(函数不带参 ...
- python学习-函数(定义、可变参、小练习(列表最小值函数))
函数目录 定义 可变参函数 自定义列表最小值函数 定义 函数定义使用关键字def,可以不带参数,也可以带参数,带参数的函数,可以使用位置参数,详见示例: str1 = 'sadf'def printV ...
- python学习——函数
函数 内建函数,如print() 用户自定义函数 一.函数定义法则 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). def 函数名(参数列表): 函数体 函数内容以冒号 : 起始 ...
- 小猿圈python学习-函数的递归
求100不断除以2直到商为0为止,打印每次除的商 用循环实现 n = 100 while n > 0: n = int(n/2) print(n) 输出: 50 25 12 6 3 1 0 如果 ...
- Python学习 - 面向对象之多态
Python学习 - 语法入门:https://blog.csdn.net/wanzijy/article/details/125287855 Python学习 - 数据类型:https://blog ...
- python eval 入门_Python学习笔记整理3之输入输出、python eval函数
Python学习笔记整理3之输入输出.python eval函数 来源:中文源码网 浏览: 次 日期:2018年9月2日 Python学习笔记整理3之输入输出.python eval函数 ...
- 整理了7道Python函数的练习题,希望对你学习函数有帮助
1.简述普通参数,指定参数,默认参数,动态参数的区别 普通参数:以正确的顺序传入函数,调用时数量必须和声明的一样 指定参数:参数和函数调用关系密切,函数调用使用关键字参数来确定传入的参数值,参数 允许 ...
最新文章
- HTML的<span>标签【杂记】
- SpringBoot跨域问题解决方案
- ubuntu设置始终亮屏_如何设置默认显示亮度?
- Win10下安装LabelImg以及使用(绝对是全网最简单的教程)
- 关于类型的存储时间和链接
- 谷歌和ESRI眼中的Web Mercator
- java result_Result对象 + 统一异常处理
- npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! taoism@1.0.0 dev: `webpack-dev-server --inline --
- timesten mysql_timesten 存储过程
- Java为Excel导出增加批注(POI)
- 单片机入门3.驱动蜂鸣器
- Java教师工资习题
- C语言(求最小公倍数的3种方法)
- git推送不能完全退出错误
- 色粉笔画的简史和怎样画色粉笔画?
- EDAS投会议论文遇见的问题及部分解决办法——总结
- readlink /var/lib/docker/overlay2/l: invalid argument报错解决
- 开发、运维、业务都说好的全栈云原生长这样
- 虚拟机 硬盘空间不足 磁盘最大大小调整的相对方法
- oracle查看锁定任务
热门文章
- 卧虎藏龙2不显示服务器列表,《卧虎藏龙贰》iOS平台 合服公告(第2期)
- 深度学习和目标检测系列教程 5-300:早期的目标检测RCNN架构
- 期末复习、化学反应工程科目(第五章)
- 开课提醒 | 听顶会大佬透析前沿算法,解密人脸识别技术
- AAAI 2020 开源论文 | 一种针对图嵌入模型的受限黑盒对抗攻击框架
- 疯狂吸金1600个亿的拼多多,社交网络分析到底隐藏多少财富?
- 接下来学习计划2020.11.9
- pytorch的两个函数 tensor.detach(),tensor.detach_(),tensor.clone() 的作用和区别
- 浙江大学人工智能研究所:AI+X驱动科学发现
- springBoot静态资源优先级)