Python3学习笔记04-函数和模块

1. 用def来定义函数
可以有参或无参,有返回值或无返回值,更奇葩的是,可以有多个返回值。
def hello():
    print('hello!')
hello()  #调用上面的函数,打印出hello!


函数体用缩进来标记,而C语言中用{}来标记。一旦顶格写,说明函数体结束。

2. 实参、形参、引用、多态
def add(a,b)  #a,b是形参
    return a+b
add(2,3)  #2,3是实参
add('hello,','world')
add([1,2],[3,4])  #以上3行显示了函数的多态性,不同类型参数的返回情况

def f(a):
    a[0]='abc'
x=[1,2]
print(x)
f(x)  #函数将列表第1个元素改为了'abc'
print(x)  #打印出['abc',2]
f(x[:])  #为了避免x被改写,可以传入一个引用
print(x)

3. lambda函数

lambda参数提供了一种简便的创建函数的方式,但只能是一行表达式,不能太复杂,否则仍然要用def来定义函数。

add2=lambda a,b:a+b
print(add2(2,6))  #这里注意,光写add2(2,6)是没反应的,要写到交互控制台中才行,代码中则加上print等来调用它的函数或表达式
4. 变量作用域

作用域分全局的和局部(本地)的,和C语言类似,不再赘述,只说一下注意点:

(1)在局部(如函数体)中使用全局变量时,要用global a来说明a是全局变量;

(2)在嵌套结构中使用上一级变量时,使用nonlocal a

5. 模块及其引入

    模块是指一系列函数、表达式和类等的集合,有时表现有一个py文件。

import math
print(math.fabs(-5))

也可以只引用fabs函数:

from math import fabs  #如果是import *则是导入所有全局变量和函数
print(fabs(-6))

自己也可以定义一个test.py用以被调用的模块。模块被import时将被执行一次。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值