返回值
将函数内的数据传递回去
Python 只有 function
- 最小惊讶原则 希望输入和输出是合常理的
返回值类型要相同
def maximum(x, y):
if x > y:
return x
elif x==y:
return 'equal'
else:
return y
print(maximum(2, 3))
print(maximum(22, 22))
--------------------------------
3
equal
def maximum(x, y):
if x > y:
return x
else:
return y
print(maximum(2, 3))
print(maximum(22, 22))
------------------------------------
3
22
-
多值返回
python 允许一次返回多个值 : 多值返回的本质是使用tuple中转 -
doc string
python允许为每个函数增加一个文档字符串, 这个文档字符串可以被代码访问。具体方式是, 在函数的第一个逻辑行定义一个字符串(不执行任何操作)。访问方式是function
.doc。
lambda
一种快速定义简单函数的方法
def inc(n):
return n+1
print(inc(10))
inc = lambda n: n+1 #快速定义函数
print(inc(20))
----------------------------
11
21
练习:定义一个fib函数。输入n, fib的输出为数列第n项的值。数列某项等于前两项之和。
#fib函数
def fib(n):
if n <= 1: return 1
return fib(n-1) + fib(n-2) #递归
fib(10)
-----------------------------------
89
模块
- Module
预先写好的代码, 供其他代码使用。一个module是一个独立文件。每个module拥有自己的全局变量空间。数据定义,函数,均定义在其中。
- import
import 引入某个module对象, 可使用module.name的方式引用全局变量
import testmod.py
testmod.variblel
-
from import
引入模块中的某个或全局变量。 被引入变量不需要module.name 来访问, 仅需要name
注意: 不推荐使用引入全部变量, 会引起名称空间污染
import datetime
dt = datetime.datetime() # 1
from datetime import datetime
from datetime import datetime as dt
命名空间 在from module_name import 、import module_name中的体现:from关键词是导入模块或包中的某个部分。
* from module_A import X:会将该模块的函数/变量导入到当前模块的命名空间中,无须用module_A.X访问了。
* import module_A:modules_A本身被导入,但保存它原有的命名空间,故得用module_A.X方式访问其函数或变量。
-
模块的内置属性
- _name_ 直接运行本模块, _name_值为main;import module, _name_值为模块名字。
- _file__ 当前 module的绝对路径
- _dict_
- _doc_
- _package_
- _path_
-
dir
列出某个模块所有的变量
import testmod dir(testmod)
-
import *
只要手指还在,你就可以继续code!
网友评论