Python 中 函数的定义:
将某功能代码封装到函数中,日后便无需重复编写,仅调用函数既可。
一、函数的使用:
def function(): # def 定义一个函数
print(123) # 函数的内容
function() # 函数的调用
输出:
123
二、函数 return 的使用:
def function(): # def 定义一个函数
n = 1 + 2 # 函数的内容
return n # return ,既是 返回值,也是结束。
ret = function() # 将 function()这个函数赋值给 ret
print(ret) # 打印 ret 既可获取 return 的返回值。
输出:
3
三、 函数的 参数:
一个参数:
def function(a): # def 定义一个函数, 并定义一个形参 a 。
print(a) # 函数的内容
function(123) # 函数的调用, 并赋值给 参数
输出:
123
默认参数:
def function(a, b=456): # def 定义一个函数, 并b定义默认值123, 默认参数必须写在 非默认参数 后面 。
print(a,b) # 函数的内容
function(123) # 函数的调用, 并赋值给 a 参数, b 参数有默认值,可不赋值,如赋值b 则覆盖默认值。
输出:
123 456
动态参数 *args # 元组
def function(*args): # def 定义一个函数, 并定义一个 动态参数.
print(args) # 函数内容
function(1,2,3,4,5,6,7,8) # 赋值给 动态参数 args
输出: # 输出一个元组
(1,2,3,4,5,6,7,8)
动态参数 **kwargs # 字典
def function(**kwargs): # def 定义一个函数, 并定义一个 动态参数.
print(kwargs) # 函数内容
function(n=123, b=234, c=345) # 赋值给 动态参数 args
输出: # 输出一个字典
{'n':123, 'b':234, 'c':345}
动态参数 *args 与 **kwargs # 两个动态参数
def function(*args, **kwargs): # def 定义一个函数, 并定义两个 动态参数,*args 必须写在前面。
print(args) # 函数内容
print(kwargs) # 函数内容
function(1,2,3,4,5, n=123, b=234, c=345) # 赋值给两个动态参数
输出: # 输出元组与字典
(1,2,3,4,5)
{'n':123, 'b':234, 'c':345}
动态参数 *args 与 **kwargs # 两个动态参数
def function(*args, **kwargs): # def 定义一个函数, 并定义两个 动态参数,*args 必须写在前面。
print(args) # 函数内容
print(kwargs) # 函数内容
a = [1,2,3,4,5]
b = {'n':123, 'b':234, 'c':345}
function(a,b) # 赋值给动态参数, 因为 a, b 两个值为
输出:
([1,2,3,4,5], {'n':123, 'b':234, 'c':345}) # 两个值 分别赋值到 args ,既 元组 里面。
动态参数 *args 与 **kwargs # 两个动态参数
def function(*args, **kwargs): # def 定义一个函数, 并定义两个 动态参数,*args 必须写在前面。
print(args) # 函数内容
print(kwargs) # 函数内容
a = [1,2,3,4,5]
b = {'n':123, 'b':234, 'c':345}
function(*a,**b) # 指定赋值给动态参数, 想要指定赋值,必须与参数形式相同。
输出:
(1,2,3,4,5)
{'n':123, 'b':234, 'c':345}
lambda 匿名函数,函数的简单表达形式
function = lambda a: a+1 #创建形式参数a , 函数内容为 a+1 , 并且 return 了结果
ret = function(1)
print(ret)
输出:
2
# map 函数, 遍历序列,对序列中每个元素进行操作,最终获得一个新的序列。
li = [1,2,3,4]
m = map(lambda x:x*100, li) # 使用map函数,将 li 列表每个的数 代入 x 函数
new_li = list(m) # m 的类型是 map 所以必须将他变成list 才能获得返回值
print(new_li)
输出:
[100, 200, 300, 400]
# filter 函数, 对序列中的元素进行筛选,最终获取复合条件的序列
li = [1,2,3,4]
def func(x):
if x > 3:
return True
else:
return False
f = filter(func,li)
n = list(f)
print(n)
输出:
[4]
open 函数, 文件操作
f = open('test.txt', 'r')
f.tell() # 查看当前指针位置
f.seek(1) # 设置指针位置到某个点
ret = f.read() # 读取指针后面的字符
f.close()
为了防止 忘记关闭文件, 可使用 with 来操作
with open('test.txt','r') as f:
f.tell()
f.seek(1)