python 函数

定义

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

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

调用函数格式:
函数名()
注意: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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值