python函数

Posted wangzihong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python函数相关的知识,希望对你有一定的参考价值。

函数

数学中函数的定义:

一般的,在一个变化过程中,假设有两个变量x、y,如果对于任意一个x都有唯一确定的一个y和它对应,那么就称x是自变量,y是x的函数。x的取值范围叫做这个函数的定义域,相应y的取值范围叫做函数的值域

编程语言中函数的定义:

函数是逻辑机构化和过程化的一种编程方法。

python中函数

函数初始

s = 中国人民
# # 写一段代码替换len计算字符长度
# count = 0
# for i in s:
#     count += 1
# print(count)

# 写成一个函数
def my_len():  # 定义函数,声明函数
    count = 0
    for i in s:
        count += 1
    print(count)
    return count  # 返回值

my_len()  # 调用函数
length = my_len()  # 赋值,返回长度
print(length)

‘‘‘
返回值:
    1 没有返回值 
        不写return
        只写return,结束一个函数,return后面的代码不再执行,结束该函数
        return None
    2 返回一个值
        返回任何数据类型
        只要返回就可以接受
        如果在一个程序中有多个return,之执行第一个
    3 返回多个值
        多个返回值用多个变量接受,对应接受
        多个返回值用一个变量接受,得到的是一个元祖
‘‘‘
def func():
    list = [1,2,3,python]
    for i in list:
        print(i)
print(func())  # 没有返回值

def func():
    list = [1,2,3,python]
    for i in list:
        print(i)
    return
    print(return后面的语句不执行)
print(func())  # 没有返回值

def func():
    list = [1,2,3,4]
    for i in list:
        if 3 in i:
            return  # 找到需要的数字就结束函数
print(func())

# 返回多个变量,多个参数接受
def func():
    return 1,2,3
r1,r2,r3 = func()
print(r1,r2,r3)

# 返回多个变量,用一个变量接受
def func():
    return 1,2,3
r = func()
print(r)

# 解包
a,b,c = (1,2,3)  # 元祖解包
print(a,b,c)
a,b,c = [c,d,e]
print(a,b,c)  # 列表解包
a,b = {name:python,job:It}  # 字典解包
print(a,b)

‘‘‘
参数:传递一个值,函数接收一个值
形参:函数接收参数
实参:调用时传递的参数
‘‘‘
def my_len(s):  # 接受参数,形式参数,形参
    count = 0
    for i in s:
        count += 1
    return count  # 返回值
print(my_len(python))  # 调用传入的参数为实际参数,实参

‘‘‘
参数分类:
    1 没有参数
        定义函数和调用函数时括号里不写内容
    2 有一个参数
        定义传递一个参数
    3 有多个参数
        位置参数 必须传递,有几个参数就传递几个值
        关键字参数 关键字 = 值
        组合传参 必须先按照位置传参,再按照关键字传递参数
                不能给同一个变量传递多个参数
‘‘‘
# 传递两个参数
def my_sum(a,b):
    res = a + b
    return res
print(my_sum(1,2))  # 位置传递参数
print(my_sum(b=2,a=1))  # 关键字传递参数
print(my_sum(3,b=5))  # 组合传参

‘‘‘
默认参数
    1 调用函数的时候,默认参数可以不传递,不传递使用默认参数,传递使用该参数
    2 应用场景:如安装软件时默认安装
定义函数的时候:
    1 必须先定义位置参数,后定义默认参数    
‘‘‘
def classmate(name,sex=M):
    print(%s : %s%(name,sex))
classmate(python,M)
classmate(java,F)
classmate(php)

‘‘‘
动态参数:
    *args 
        *为定义方式关键字,可以接受任意多个参数
        *args 后面定义的变量可以改变,约定为args
        顺序:动态参数在位置参数和关键字参数之间
        *args 只接受按照位置传递的参数
    **kwargs
        接受关键字传参的值,组成一个字典
    *args必须在**kwargs之前
‘‘‘
def sum(*args):
    print(args)  # 出来的是一个元祖
    n = 0
    for i in args:
        n += i
    return n
print(sum(1,2))
print(sum(1,2,3,4,5))

def func(**kwargs):
    print(kwargs)  # 以字典形式
func(a=1,b=2,c=3)
func(a=1,b=2)

def func(*args,**kwargs):
    print(args,kwargs)
func(1,2,3,a=5,b=a,list = [A,B])

‘‘‘
各个参数之间顺序:
位置参数 *args 默认参数 **kwargs
‘‘‘
def func(a,*args,sex=M,**kwargs):
    print(a,args,sex,kwargs)
func(1,2,3,4,sex=F,b=5)

# 动态参数的另外一种传递参数
def func(*args):
    print(args)
list = [1,2,3,4,5]
‘‘‘
实参传递序列时,给一个序列前面加上*,就是将这个序列顺序打散
‘‘‘
func(*list)

def func(**kwargs):
    print(kwargs)
dict = {a:1,b:2,c:3}
func(**dict)

# 函数的注释
def func(a,*args,sex=M,**kwargs):
    ‘‘‘
    功能描述
    :param a: 
    :param args: 
    :param sex: 
    :param kwargs: 
    :return: 
    ‘‘‘
    pass

‘‘‘
函数:
    1.函数的定义 def
    2.函数的调用 func()
    3.函数的返回值 return
    4.函数的参数
        4.1.形参
            位置参数:必须传递
            *args:可以接受多个位置参数
            默认参数:可以不传
            **kwargs:可以接受多个关键字参数
        4.2.实参
            按照位置传参数,按照关键字传递参数
‘‘‘

 

以上是关于python函数的主要内容,如果未能解决你的问题,请参考以下文章

python使用上下文对代码片段进行计时,非装饰器

python 元组有用的函数,方法和片段。

Python代码阅读(第26篇):将列表映射成字典

VSCode自定义代码片段——声明函数

Python学习 :函数

VSCode自定义代码片段8——声明函数