VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • python基础入门之十 —— 函数

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
复制代码


相关教程