Python之函数(基础)

1.函数的定义

(1).函数的定义与调用

# 定义函数
def say_hello():
    print('hello1')
    print('hello2')
    print('hello3')

# 调用函数,函数只有被调用了才会有输出值
say_hello()

在这里插入图片描述
示例1:定义求和函数(计算 20 + 30)

def sum_fun():
    num1 = 20
    num2 = 30
    result = num1 + num2
    print('%d + %d = %d' %(num1,num2,result))

sum_fun()

在这里插入图片描述
(2).函数的嵌套

def fun1():
    print('world')
    def fun2():
        print('hello')
    # 调用函数2(必须在函数1里先调用函数2)
    fun2()

#调用函数1
fun1()

在这里插入图片描述
2.函数的四大参数

参数分为:形参  实参
# 形参:定义函数的时候的变量(可以任意起名)
def welcome(a):
    print('hello',a)

# 实参:真实的数据信息,即调用函数的时候传的参数
welcome('lily')
welcome('tom')

在这里插入图片描述

形参分为: 位置参数 默认参数 可变参数 关键字参数

(1)位置参数

形参和实参个数必须保持一致,最好按位置传参
def getInfo(name,age):
    print(name,age)

getInfo('westos',21)
getInfo(age=11,name='westos')

在这里插入图片描述
(2).默认参数

形参和实参可以不一致
# 计算x的y次方
def mypow(x,y=2):
    print(x ** y)

mypow(4,3)   # 4的3次方
mypow(2)     # 2的2次方

在这里插入图片描述
(3).可变参数

可以接收任意个参数
# 累加运算
def mysum(*args):
    # *args:可变参数(也可以简写为*a)
    #  args的数据类型为:元组(tuple)
    print(args)
    print(type(args))
    sum = 0
    for item in args:
        sum += item
    print(sum)
mysum(1,2,3,4,5,6,7,8,9)
mysum(1,2,3,4,5)

在这里插入图片描述
(4).关键字参数

def getStuInfo(name,age,**kwargs):
    # **kwargs是一个字典,可以传递任意多的key-value
    print(name,age)
    print(kwargs)

getStuInfo('westos',19,hobbies=['coding','running'],gender='female')

在这里插入图片描述
3.函数的返回值

返回值:函数运行的结果,还需要进一步操作时,给一个返回值,return用来返回函数执行结果,如果没有返回值,默认为None
python可以间接返回多个值(返回了一个元组)一旦遇到return,函数执行结束,后面的代码不会执行
def mypow(x,y=2):
    return x ** y,x + y
    # 不会输出,因为之前有return
    print('hello')

# 将函数的返回值赋值给变量a,b(有几个函数返回值就用几个变量接收)
a,b = mypow(3,4)
print(a,b)

在这里插入图片描述

函数返回值的意义在于,便于后续的使用
def mypow(x,y=2):
    # print打印函数值,调用函数时,只能输出打印内容,但无法使用变量
    print(x ** y)

# 因为无函数返回值,所以此操作为无效操作
a = mypow(2)
print(a)

在这里插入图片描述
4.变量的作用域

局部变量:在函数内部定义的变量,只在函数内部起作用,函数执行结束,变量会自动删除

全局变量:在函数外部定义的变量,能够被本程序中的所有对象或函数进行引用,全局变量的定义有利于程序的变量共享,简化了添加和修改的程序

(1).全局变量与局部变量的定义

# 定义全局变量
a = 1
print('outside:',id(a))

def fun():
    # 定义局部变量
    a = 5
    print('inside:',id(a))

fun()
print(a,id(a))

在这里插入图片描述
(2).将局部变量声明为全局变量

# 定义全局变量
a = 1
print('outside:',id(a))

def fun():
    # 将局部变量a声明为全局变量
    global a
    # 定义局部变量
    a = 5
    print('inside:',id(a))

fun()
print(a,id(a))

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值