Python学习之路5 - 函数
函数
定义方式:
def func():
"这里面写函数的描述"
这里写代码
return x #如果没有返回值就叫"过程",函数和过程的区别就是有无返回值
实例
def fun1():
"这里是测试"
print('这是第一个函数')
return 0 fun1() #调用函数
函数传参
def test(x,y,z):
print(x)
print(y)
print(z) test(3,3,5) #这样传的参数叫做位置参数, 位置是一一对应的
test(x=5,y=4,z=3) #这样传的参数叫做关键参数, 位置可以不用一一对应
这里需要注意的是,关键参数是不能写在位置参数前面的。
例如 test(x=4,5,5) 这样x是用了关键参数,y和z用了位置参数,这样就是错的。
但是 test(3,y=4,z=6) 这样位置参数x在关键参数y和z的前面,这样就是可以的。
同理 test(3,z=6,y=4) 这样也是可以的。
参数组
如果我要传入的参数数量不固定,就在形参列表里写 *变量名 来实现。
def test(*args):
print(args) #打印出来的是一个元组 test(3,3,5) #这样我传多少个参数都没问题了
test(*[3,4,5,6,6,4]) #这是第二种传值方式
传入字典
如果我想传入字典就在形参的位置用 **变量名 来实现
def test(**args):
print(args) #打印出来的是一个字典 test(name='vector',age=3)
高阶函数(满足下列条件之一就是高阶函数)
a:把一个函数名当作形参传给另一个函数(在不修改被装饰函数源代码的情况下修改其功能,但是调用方式变了)
def bar():
print('this is bar...')
bar()
print('----------------------------------')
def test(func): #在这里增加了功能
print(func)
test(bar) #但是这里修改了调用方式
b:返回值中包含函数名(不修改函数的调用方式,而修改函数功能)
def bar():
print('this is bar...')
bar()
print('----------------------------------')
def test(func): #在这里增加了功能
print(func)
return func #这里返回了函数地址
bar = test(bar) #将函数地址赋给一个变量,该变量和传入函数同名
bar() #这个变量加上括号,就可以当函数用了,同时又没有修改函数的调用方式
嵌套函数
x = 1
def test1():
def test2():
def test3():
x = 3
print(x)
test3()
test2()
test1()
像这样在一个函数里面再定义一个函数就叫做嵌套函数。
Python学习之路5 - 函数的更多相关文章
- Python学习之路6☞函数,递归,内置函数
一python中的函数 函数是逻辑结构化和过程化的一种编程方法. python中函数定义方法: def test(x): "The function definitions" x+ ...
- Python学习之路:函数传递可变参数与不可变参数
函数传参的方法: 太基础了,8说了 直接上重点 一.可变参数的传递 可变参数有:列表.集合.字典 直接上代码: a = [1, 2] def fun(a): print('传入函数时a的值为:', a ...
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python学习之路------你想要的都在这里了
python学习之路------你想要的都在这里了 (根据自己的学习进度后期不断更新哟!!!) 一.python基础 1.python基础--python基本知识.七大数据类型等 2.python基础 ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
随机推荐
- ACM 2000~2002
ACM 2000 输入三个字符后,按各个字符的ASCⅡ码从小打到的顺序输出这三个字符. import java.util.Scanner; public class Lengxc {public ...
- Flask之蓝图的使用
蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? 比如说,你有一个客户管理系统,最开始的时候,只有一个查看 ...
- Java实例 Part1:Java基础输出语句
** Part1:Java基础输出语句 ** 第一部分最基础,就是标准的输出语句. ps:(目前还没熟悉这个编辑器,先尝试一下) Example01 : 输出"hello world&quo ...
- 一、linux基本操作
1.linux界面的切换 DOS界面终端打开:Ctrl+Alt+F1 /F2/F3 退出:Ctrl+Alt+F7 终端的打开与退出 打开:Ctrl+Alt+t 退出:Ctrl+d 2.第一次 ...
- python--模块之sys与python解释器交互模块
作用:sys模块是与python解释器交互的一个接口.它提供了一系列有关python运行环境的变量和函数. 常用函数:import sys sys.argv #命令行参数list,第一个元素是程序本身 ...
- 选择排序,C语言实现
选择排序是不稳定排序,时间复杂度为O(n^2). 选择排序类似插入排序,把数组分为两部分,一部分已经排好序,一部分未排序. 刚开始的时候所有的元素都未排序,已排序的部分为空.就好像你手里有十张牌,左手 ...
- java 用户修改密码
import java.util.Scanner; class Member { private String mima; private String name; public String get ...
- 踩坑留印,启动进程遇到报错:/proc/self/fd/9: 2: ulimit: bad number
启动进程,遇到报错: /proc/self/fd/9: 2: ulimit: bad number 分析配置文件内容没有错误. 怀疑可能是文件格式问题,在IDE里面查看,果然是windows格式.ID ...
- P2P通讯
转载: http://www.cnblogs.com/pannengzhi/p/4800526.html http://blog.csdn.net/lee353086/article/details/ ...
- 北京Uber优步司机奖励政策(12月8日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...