函数

1、什么是函数?

函数就是一种工具,可以重复调用。

2、为什么要用函数?

1、防止代码冗余

2、代码的可读性差

3、怎么用函数?

1、定义函数  >>>  制造工具

2、调用函数  >>>  使用工具

1、无参函数:

def index()

print("ok")

2、空函数:

def login()

pass

3、有参函数:

def login(username):

print(username)

函数的参数:

参数的类型:

形参:

实参:

传参方式:

位置参数

关键字参数

默认参数

可变长参数:

*args:接收所有溢出的位置参数

**kwargs:接收所有溢出的关键字参数

*:放到实参中就是打散

形参:是在函数定义阶段就规定的参数,它就相当于定义变量时的变量名

实参:是在函数调用阶段传入的参数,它相当于定义变量时的变量值。

python代码从上到下依次执行

默认参数:

在定义函数阶段就已经传入参数

如果说你在实参的时候传入了一个新的参数,就会使用新参数

默认参数在传值的时候,不要将可变类型()当做参数传递

可变与不可变类型

可变类型(mutable):列表,字典

不可变类型(unmutable):数字,字符串,元组

定义函数

def greet_user():
print("hello")

greet_user()

这是最简单的定义函数

前面定义函数

def greet_user(username):
print("hello," + username.title() + "!")

greet_user("jesse")

运行结果:hello,Jesse!

pets.py

def describe_pet(animal_type,pet_name):
print(" i have a"+ animal_type + ".")
print("my"+ animal_type + "'s name is " + pet_name.title() + ".")
describe_pet("hamater","harry")

调用的时候,用关键字来调用,看下例子:

def describe_pet(animal_type,pet_name):
    print("
i have a " + animal_type + ".")
print("my "+ animal_type + "'s name is " + pet_name.title() + ".")
describe_pet(animal_type="hamater",pet_name="harry")
animal_type="hamater", pet_name="harry",这两个就是关键字实参,务必准确地指定函数定义中的形参名。




默认参数
def reg(username,password,gender="male"):
print(f"用户名:{username},密码:{password},性别:{gender}")

reg("zc","nice")
reg("zc","nice")

可变长参数:
*args:接收所有溢出的位置参数
接收的值都被存入一个元组
官方认证:*args
只要有*就有可变长参数的效果 *打散你传入容器类型
**kwargs:接收所有溢出的关键字参数
接收的值都被存入一个字典
官方认证:**kwargs




原文地址:https://www.cnblogs.com/medigrat/p/11827274.html