首页 > 编程语言 > 详细

python基础入门之十 —— 函数

时间:2020-03-20 13:22:17      阅读:57      评论:0      收藏:0      [点我收藏+]

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

 

python基础入门之十 —— 函数

原文:https://www.cnblogs.com/LynHome/p/12468278.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!