Python自学笔记(3)-------函数

Python自学笔记(3)-------函数

1.函数定义

在Python中,定义函数的语法如下:
def 函数名([参数列表]):
“”" 注释 “”"
函数体

def demo (x , y):
    #函数调用求和
    sum = x+y
    return sum
print(demo(5,8))

定义函数时需注意以下几个问题:
1)函数形参不需要声明其类型,也不需要指定函数返回值类型
2)即使该函数不需要接受任何参数,也必须保留一对空的圆括号
3)在写函数时,注意缩进
4)在函数的括号后一定要加冒号而不是分号

2.形参与实参

一个函数可以没有形参,但一定要有括号,表示这是一个函数但不接受参数.在定义函数时,函数的参数可以有多个,每个参数之间用逗号隔开,可以不用指定参数的数据类型.

def demo (x , y):
    x+=1
    y+=1
    sum = x+y
    return sum
x1 = 5
y1 = 8
print('sum = ',demo(x1,y1))
print('x1 = ',x1)
print('y1 = ',y1)

运行结果:
在这里插入图片描述
运行后,我们发现x1,y1的值并没有发生改变.对于大多数情况下,修改函数形参的值并不会改变实参的值.这就是由变量作用域不同导致的.但有些特殊情况可以改变实参的值.如果传递给函数的是Python可变序列(列表,字典),并且在函数内部使用下标或其它方式为可变序列增加,删除元素或修改元素值时,修改后的结果是可以反映到函数之外的,即实参也得到了相应的修改.

def demo1(s):
    #当实参为列表时
    s[1] = s[1] + s[2]
    return s
s = [1,2,3,4]
print("原列表为 : ",s)
print("先列表为 : ",demo1(s))

在这里插入图片描述

def demo2(s):
    #当实参为字典时
    s['age'] = 38
    return s
s = {'name':'Tom','age':35,'sex':'male'}
print("原字典为 : ",s)
print("现字典为 : ",demo2(s))

在这里插入图片描述

3.变量作用域

变量起作用的代码范围称为变量的作用域,不同作用域内同名变量之间互不影响.
函数内部定义的变量称为局部变量,而不属于任何函数的变量称为全局变量.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值