Python入门学习笔记(6)

这篇文章用来记录我的python学习过程

函数

函数定义

函数是一段可执行的代码块,可以重复使用。
函数定义语句:

def 函数名(参数列表):
    "注释"
    语句块
    ...
    return 返回值

函数调用

语句:函数名(实际参数)

>>> def add(m,n):
...    c=m+n
...    return c
...
>>> add(1,2)
3

函数的参数传递

(1)位置传参
直接对应位置输入实参。
(2)关键字传参
传参时按形参名称给形参赋值。

def add(a,b):
    return(a/b)

add(a=1,b=2)==add(b=2,a=1)##True

(3)序列传参
序列类型(list,tuple,str)作为参数列表传递

s1=[1,2]
add(*s1)##add(1,2)参数列表名称前要加*

(4)字典关键字传参
实参和形参通过字典进行传递和匹配,字典的值传递给键对应的形参。

d={'a':1,'b':2}
add(**d)##add(1,2)字典名称前要加**

(5)综合传参
上述几种方式混合使用。

函数的缺省参数

语法:
def 函数名(形参1=默认参数值1,形参2=默认参数值2,……):

函数的不定长参数

(1)星号元组形参
语法:

def 函数名(*元组形参名):
    语句块

(2)双星号字典形参
语法:

def 函数名(**字典形参名):
    语句块

可变/不可变类型

可变类型有:list,set,dict
不可变类型有:frozenset,tuple,str,numbers

函数作用域

全局变量
定义在函数外部,模块内部
局部变量
定义在函数内部

v=100##全局变量
def fn():
    v=200##局部变量
print(v)####100

golbal语句

语法:golbal 变量名1,变量名2……
可修改变量为全局变量

def fn():
    golbal v###声明全局变量
    v=200
print(v)##200

函数嵌套

一个函数里用def语句创建其他函数。

nonlocal语句

nonlocal声明的变量不是局部变量,也不是全局变量,而是外部嵌套函数内的变量。
语法:nonlocal 变量名1,变量名2……

var=100
def outter():
    var=200
    def inner():
        nonlocal var##指定var为200

常用函数

gobals()——返回当前全局作用域内变量的字典
locals()——返回当前局部作用域内变量的字典

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值