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)

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

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

Python自学笔记(3)-------函数_第2张图片

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

Python自学笔记(3)-------函数_第3张图片

3.变量作用域

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

你可能感兴趣的:(学习笔记,python,新手,自学)