当前位置: 移动技术网 > IT编程>脚本编程>Python > python基础入门之十 —— 函数

python基础入门之十 —— 函数

2020年03月20日  | 移动技术网IT编程  | 我要评论

展台搭建公司,汕尾人,上海预约挂号

1、概述

(1)定义:

def 函数 (参数)
代码1
代码2
.....

(2)调用:

函数名(参数)

p.s:(1)在python 中,函数必须先定义后使用。

       (2)定义函数时代码不执行,调用时执行。

# 演示
def add_func(a, b):
    return a+b
a = 1
b = 2
print(add_func(a, b))  # 3

2、说明文档

def add_func(a, b):
    """
    函数说明
    :param a:参数1
    :param b:参数2
    :return:返回值
    """
    return a+b
help(add_func)

(1)书写:函数名下一行,三引号内

(2)查看:help()函数

 

3、全局遍量和局部变量

(1)局部变量:只在函数体内部的变量,函数结束即销毁

(2)全局变量:函数体内外可用的变量

a = 100  # 全局变量
print(a)  # 输出全局变量a,100

def function1():
    print(a)  # 输出全局变量a,100
def function2():
    a = 200  # 局部变量,全局变量不变
    print(a)  # 输出局部变量a,200
def function3():
    global a # 声明全局表量
    a =200  # 修改全局变量
    print(a)  # 输出全局变量a,200

function1()
function2()
print(a)  # 输出全局变量a,100
function3()
print(a)  # 输出全局变量a,200

4、多个返回值

def return_num():
    return 1, 2   # 逗号隔开,默认返回元组返回
    # 另:return 后面可以直接书写元组,字典,列表

print(return_num())  # (1, 2)

5、函数的参数

位置参数

调用函数时根据函数定义的参数位置来传递参数

def user(name,age,gender):
    print(f'您得名字{name},年龄{age},性别{gender}')
user('tom',20,'男')

关键字参数

函数调用通过‘键=值’来加以制定,不分先后顺序

user('tom',gender='男',age=16)

p.s:函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序

缺省参数

 用于定义函数,为参数提供默认值,调用函数时可不传该默认参数得值

def user(name,age,gender='男'):
print(f'您得名字{name},年龄{age},性别{gender}')
user('小米',20)     #gender不传参,默认为男
user('小米',66,gender='女')   #gender传参,修改默认值,改为女

(p.s: 所有参数必须出现在默认参数前)

不定长参数

定义函数时不确定传参个数使用

  • 位置传递:*args变量收集参数,根据传进参数的位置合并为一个元组

 

def user(*args):
    print(args)

user('小米',20)
user('小米')
  • 关键字传递:**kwargs变量收集参数,合并成字典
def user(**kwargs):
    print(kwargs)

user(name='小米',age=20, id=110)
user(name='小米',age=66,gender='女')

6、拆包

(1)元组:

def return_num():
    return 100,200
#元组拆包
num1,num2=return_num()
print(num1)  # 100
print(num2)  #  200

(2)字典

dict1 = {'name':'tom','age':18}
#字典拆包
a,b=dict1
#取键
print(a)  # name
print(b)  # age
#取值
print(dict1[a]) # tom
print(dict1[b])  # 18

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网