Python学习笔记(三)
今天来继续学习下pytho中的函数
学习目标
- 如何定义函数及带不同参数的函数
- 函数模块
- global、nonlocal、lambda
如何定义函数
无入参的函数
1
2def sayHello():
print(hello)带返回值的函数
1
2
3
4def sayHello():
hello = 'hello'
print(hello)
return hello带参数函数
1
2def saySomething(something):
print(something)有默认值函数
1
2def sayDefault(something='helloworld'):
print(something)可变参数* ,**
1
2
3
4
5
6def sayMore(*morething):
for a in morething:
print(a)
def sayMoreDic(**moreDic):
for dic in moreDic:
print(dic)*修饰的参数,其实是一个元组,**修饰的参数是一个字典,传入方式如下
1
2sayMore(1,2,3)
sayMoreDic(name='chengyan',age=10)传字典、列表和元组
传字典和列表进入函数,在函数内修改,也会同步修改外面的值
传数字、字符串、元组进入函数,在函数内修改,并不会同步修改外面的值
函数模块
定义
在python里面,新建不同的.py文件,就相当于是创建了函数模块。
引用
通过关键字import xx 来引用相同目录下的文件,这么引用到的函数如果想调用,需要这么写
1
2
3import xx
xx.sayHello()from xx import xxx
其中“xx”是模块名称,也就是文件名,”xxx”是我们要引用的函数名称,这么写有一个好处,是可以在调用函数的时候,略去”.”例如
1
2from xx import sayHello
sayHello()还有一种写法是from xx import *,这种写法的话,会引入所有的函数
模块搜索路径
1
2
3import sys
sys.path[0] = '函数模块所在路径'
#通过sys.path函数来指定模块搜索路径,用来解决代码文件不在一个文件夹下的问题
global、nonlocal、lambda关键字
global 关键字用来在局部作用域内,声明变量为全局变量,从而可以修改全局变量
nonlocal 关键字用来修改闭包中的变量,将闭包变量修改为局部变量,从而可以修改闭包变量
lambda 关键字是用来申明匿名函数的,范例如下
1
2sum1 = lambda x,y: x+y
print(sum1(2,7))
今天主要是学习了下函数的声明、调用、引用以及几个关于函数的关键字,下一节学习基础部分的最后一节类
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 火三!