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)