欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

函数

程序员文章站 2022-07-10 23:26:44
...

定义

函数名的命名: 用下划线‘_’隔开

注意:
函数只在调用的时候执行

调用函数格式:
函数名()
注意:1.必须先创建函数在调用函数 2.一般情况不要把调用函数放在函数体中
3.函数可以调用多次

def smile():
    print('哈哈哈', '嘿嘿嘿')
    print('哈哈哈', '嘿嘿嘿')
    print('哈哈哈', '嘿嘿嘿')


# .....100行代码
smile()

注释

1.在函数体的第一行使用多行注释对函数名解释说明
2.调用函数的时候使用Ctrl+q 查看函数名的解释,从而了解此参数的功能。

def say_hello():
    """
    这是一个打招呼的方法
    你好,世界   你好,python
    """
    print('Hello World')
    print('Hello Python')


say_hello()

参数

函数的参数格式:
def 函数名(参数1,参数2…):
说明:

  1. 函数定义几个参数,调用函数是就必须传递几个参数
  2. 参数添加到小括号内,参数之间用逗号‘,’隔开
  3. 定义时小括号中的参数,用来接收参数用的,称为 “形参”
    调用时小括号中的参数,用来传递给函数用的,称为 “实参”

函数的参数分为:
位置参数:实参和形参一一对应,按位置进行传递

关键字参数:在我们传参的时候,以形参等于实参的形式忽略形参的定义顺序,将实参传递给实参。
位置参数和关键字参数混用:位置参数在关键字参数前面,否则报错。

默认参数:在定义关键字形参时,可以给形参赋一个初始值。(默认值)这种参数叫做默认参数。
当调用函数时,没有给默认参数赋值,就会使用默认参数。如果给默认参数赋值,那么就会使用新的参数。
注意:默认参数一定要写在形参的后面

可变参数:格式:*变量名 可以接受多个位置参数
注意事项:1.多个位置参数被组织成一个新的元组 2.一般情况下变量名一般为args----->args
扩展:
具有打散功能
**kwargs------>接受多个关键字参数
创建函数声明参数时的顺序: 位置参数—>*args----->默认参数----->*kwargs

"""位置参数"""


def sum_num(aa, bb):
    num1 = aa  # num1=10
    num2 = bb  # num2=2
    num3 = num1 + num2
    print(num3)


sum_num(10, 2)
# 将参数名内的内容分别赋值给aa,bb。上面程序继续运行,最后打印出num3

"""关键字参数"""


def sum_1(num1, num2):
    print(num1)
    print(num2)
    print(num1 + num2)


sum_1(num1=17, num2=3)  # num1和num2位置可以调换

"""关键字参数和位置参数混用"""


def sum_2(num1, num2):
    print(num1)
    print(num2)
    print(num1 + num2)


sum_2(17, num2=3)  # 位置参数必须在关键字参数前面
# sum(num1=2,15)程序报错
"""
默认参数
"""


def save_fou(name, age, gender='男'):
    print('姓名:{} 年龄:{} 性别:{}'.format(name, age, gender))


save_fou('小高', 12)  # 姓名:小高 年龄:12 性别:男
save_fou('小', 12, gender='女')  # 姓名:小 年龄:12 性别:女

"""
可变参数
"""


def func(*args):
    print(args)  # (1, 2, 3, 4, 5)


func(1, 2, 3, 4, 5, )


# *打散功能
def func1(a, b, c):
    print(a, b, c, )  # (1, 2, 3)


tup = (1, 2, 3)
func(*tup)  # 将tup打散成1,2,3 ,然后分别给a,b,c赋值


# kwargs
def func2(**kwargs):
    print(kwargs)  # ---->转化为字典类型{'name': 'zs', 'age': 15}


func2(name='zs', age=15)


def func3(name, age):
    print(name, age)  # zs 12


dic = {'name': 'zs', 'age': 12}
func3(**dic)

参数类型

# 一、可变参数类型
a = [1, 2, 3]


def func(b):
    print(b)  # [1, 2, 3]
    b.append(4)
    print(b)  # [1,2,3,4]


func(a)
print(a)  # [1,2,3,4]

# 二、不可变参数类型
c = 1000


def num_c(d):
    print(d)  # 1000
    d = 200
    print(d)  # 200


num_c(c)
print(c)  # 1000

返回值

ef 函数名(参数1,参数2):
…函数体…
return 值1,值2,…
注意:
1.如果函数不写返回值,默认返回None
2.return 关键字有两个作用,一个作用是返回内容,另一个作用是结束此方法。
3.return 关键字后面不允许在写代码。

# 一、return返回内容
def sum_num(aa, bb):
    num3 = aa + bb
    return num3


ret = sum_num(10, 2)  # 将num返回给ret
print(ret)


# 二、return结束此方法
def func(c):
    print('func....')
    a = 10
    b = c
    if b < a:
        return
    print('xxx')


func(11)

相关标签: 函数的基础知识