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()

像这样在一个函数里面再定义一个函数就叫做嵌套函数。

原文地址:https://www.cnblogs.com/imzry/p/11885607.html

时间: 2024-08-30 13:12:14

Python学习之路5 - 函数的相关文章

Python学习之路6?函数,递归,内置函数

一python中的函数 函数是逻辑结构化和过程化的一种编程方法. python中函数定义方法: def test(x): "The function definitions" x+=1 return x def:定义函数的关键字 test:函数名 ():内可定义形参 "":文档描述(非必要,但是强烈建议为你的函数添加描述信息) x+=1:泛指代码块或程序处理逻辑 return:定义返回值 调用运行:可以带参数也可以不带 函数名() 二 为何使用函数 背景提要 现在老

python学习之路03(函数)

到时再记录 3.内置函数-高阶函数 1.filter(func,sequence)接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新迭代器(在python3中),(在python2中就返回一个list) li = ['a','b','c'] def f(s): # 定义一个过滤函数 if s != 'a': return s re = filter(f,li)

python学习之路(四) ---函数

一.函数的作用 当我们在写一个复杂的程序的时候,可以能会在很多地方上用到相同的功能,写起来代码量非常大,通过函数可以解决大量的代码冗余,我们只需要将各个功能封装到一个函数内,需要的时候就调用这个函数就可以,这样写起来的代码可读性也得到很大的提升,而且当我们后续需要增添新功能的时候也非常的方便,维护起来更加的方便. 二.内置函数和自定义函数   内置函数 python中为我们提供的许多的内置函数,可以到https://www.runoob.com/python/python-built-in-fu

Python学习之路:函数参数及调用

return:结束函数并返回值 没有return时:返回None 返回值数=1时:返回具体值 返回值是数字+字符串+列表等:返回一个元组 需要return是需要函数完整调用 def test1(): print('in the test1') def test2(): print('in the test2') return 0 #结束函数并返回0 def test3(): print('in the test3') return 1,'hello',['alex','wupeiqi'], {'

Python学习之路-装饰器&生成器&正则表达式

装饰器 通俗的讲,装饰器就是在不改变源代码基础上,给源代码增加新功能. 不改变函数的源代码.调用方式.返回值等,给函数增加新功能. 经典案例:登录装饰器, def login_decorator(func):     def inner():         if USER_TEMP["status"] == False:             print("\033[31;1m用户未登录,请先登录\033[0m")             login_atm()

Python学习之路——强力推荐的Python学习资料

资料一:程序媛想事儿(Alexia)总结 Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl.Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用.它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务. Python上手虽然容易,但与其它任何语言一样要学好Python并非一日之功.我的Pyth

Python 学习之路(二)

Python 学习之路(二) 以下所用的是Python 3.6 一.条件语句 简单判断 1 if 判断条件: 2 执行语句-- 3 else: 4 执行语句-- 复杂判断 1 if 判断条件1: 2 执行语句1-- 3 elif 判断条件2: 4 执行语句2-- 5 elif 判断条件3: 6 执行语句3-- 7 else: 8 执行语句4-- 二.循环语句 2.1 while语句 和其他语言一样,不同的是多了else语句.在 python 中,while - else 在循环条件为 false

Python 学习之路(三)

Python 学习之路(三) 以下所用的是Python 3.6 一.集合部分 集合是一个无序的,不重复的数据集合,主要用来去重,以及关系测试:交集,差集,并集等 1.1 关系操作 1.1.1 列表去重 可以给列表去重,例如: 1 set_demo = [1,2,3,4,5,3,2,1] # 列表 2 set_demo = set(set_demo) # 转换成集合,来去重 3 print(set_demo) 1.1.2 取交集 intersection()方法 可以获得两个集合的交集部分,例如:

Python学习之路—2018/6/19

Python学习之路-2018/6/19 1.注册自定义转化器 converts.py class Birthday: regex = '[0-9]{8}' # 匹配规则 def to_python(self, value): # 匹配的字符串返回具体的变量值,传递到对应的视图函数中 return int(value) def to_url(self,value): # 反向解析 return "%04d" % value urls.py from django.urls import