ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python 函数和函数名的应用

2019-07-17 22:01:17  阅读:234  来源: 互联网

标签:func2 func1 func 函数 python 应用 print def


一、函数

1.函数定义

def 关键字 -- 定义

func 函数名 -- 和变量定义规则一样

()必须要写格式

: 声明语句结束

def my_len():

​ 函数体

def func(a:int,b:str):

​ print(a,b)

func(1,2)

2.函数的好处

​ 1.减少代码重复性(冗余)

​ 2.代码可读性高

​ 3.将功能进行封装(造工具)

3.调用函数

​ 函数名+()

​ 多次调用就是执行多次

​ 可以循环使用

def func():
print("test")

func()

4.函数的返回值

return 的内容返回给了函数的调用

return 返回一个内容(就是内容本身) 可以返回任意类型

return下方的代码不执行,终止这个函数

return 终止函数,切记不能终止循环

return 返回多个内容的时候是元组形式

return 没有写返回值的时候返回的是None,不写return返回的也是None

5.位置传参

def yue(a,b,c=1): # 形参 c = 1是默认参数

​ print("test")

yue(True,(1,),c=3) # 实参 位置参数 > 默认参数

函数的参数

形参:函数定义的时候叫做形参

​ 位置参数

​ 默认参数

​ 混合参数

实参:函数调用的时候叫做实参

​ 位置参数

​ 关键字参数

​ 混合参数

传参:将实参传递给形参的过程叫做传参

6.函数的动态函数

*args,**kwargs(能够接收函数的位置参数和动态的关键字参数)

定义阶段(*args,**kwargs) 聚合

​ *args -- tuple

​ **kwargs -- dict

使用阶段*args,*kwargs打散

​ *args - 源数据类型

​ *kwargs - 打散的是字典的键

优先级:位置 > 动态位置 > 默认 > 动态关键字

lst = [12,23,323,32,32,4]

def func(*args):

​ print(*args)

func(lst[0],lst[1]) # 笨的方法

func(*lst)

7.函数的注释

"""

每次写函数的时候需要写注释

函数名.__doc__ 查看函数的注释

函数名.__name__ 查看函数的名字

"""

8.名称空间

内置空间:python解释器自带的

全局空间:当前文件(.py文件)

局部空间:函数体开辟的空间

加载顺序:内置>全局>局部

取值顺序:局部>全局>内置

作用域:

全局作用域:内置+全局

局部作用域: 局部

9.函数嵌套

函数中套函数

函数嵌套调用

函数嵌套参数的传递

函数嵌套返回值的传递

10.global nonlocal

global:修改全局空间的变量对应的值

nonlocal:在外层的函数中,修改局部空间的变量值,完全不涉及全局变量,只修改离他最近的一层,最近的一层没有变量继续向上找,直到找到最外层函数

三元运算符

a = 10

b = 20

c = a if a > b else b

变量名 = 条件成立的结果 条件 条件不成立的结果

二、函数名的应用

1.函数名指向的是函数的内存地址,加上()就执行这个函数

func()

2.函数名就是一个变量

age1 = 12
age2 = age1
age3 = age2
print(age3)
def fuc():
    print(666)
f1 = fuc
f2 = f1
f2()
f1()

3.函数名可以作为容器类类型的元素

def func1():

    print('in func1')

def func2():

    print("in func2")

def func3():

     print("in func3")

lst = [func1,func2,func3]

for i in lst:

     i()

4.函数名可以作为函数的实参。

def func1():print("in func1")
def func2(argv):
    argv()
    print('in func2')
func2(func1)

5.函数名可以作为函数的返回值

def func1():
    print("in func1")
def func2(argv):
    print("in func2")
    return argv
ret = func2(func1)
ret()

标签:func2,func1,func,函数,python,应用,print,def
来源: https://www.cnblogs.com/alex3174/p/11203946.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有