python笔记三 函数

简介:

函数  11/1

函数:是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名就可以了。

def   sayhi(): 函数名

     print("hello , i'm  hequan")

sayhi()  #调用

函数的返回值

def calc(x,y):

     res = x**y

     return  res  #返回函数执行结果

默认返回 None

11/2

参数

def  mail(形式参数):

ret = mail(实际参数)

if  ret:

     print("发送成功")

def mail(a1,a2=11):  默认参数必须放在最后

def mail(a1,a2):

mail(a2=123,a1=321)   指定参数   

动态参数

def show(*arg):    #  *把参数转换成元祖

          print(agr,type(arg))

show(11,22,33,44)

def show(**arg):  ##  ** 把参数转换成字典

    print(arg, type(arg))

show(n1=11, n2=22, n3=33, n4=44)

def show(*kwargs,**arg):

    print(arg, type(arg))

    print(*kwargs,type(kwargs))

show(11,22,33,44,n1=11, n2=22, n3=33, n4=44)

{'n3': 33, 'n4': 44, 'n1': 11, 'n2': 22} <class 'dict'>

11 22 33 44 <class 'tuple'>

show(*a,**b)


11/3

 

s1 = "{0} is {1}"    {name}{acter}

xx = s1.format('hequan','2b')

print(xx)

hequan is 2b

#  lambda表达式   简单函数

he = lambda a: a+1

print(he(1))

内置函数

open  函数  文件处理

r只读   w 只写  a追加

r+可读写  w+写读  a+ 同a

u自动转换成\n

b表示处理二进制文件


close关闭文件

tell()  #查看当前指针位置

seek()  # 设置指针位置

read

truncate()     指针位置之前的字节,只保留前面的,并保存到文件里。

write


形式参数

实际参数

默认参数 

关键参数            在位置参数后面

非固定参数  *args **kwargs     元祖  列表

局部变量

全局变量


返回值   --  return

函数在执行过程中只要遇到return语句,就会停止执行并返回结果,return标志着函数的结束。

如果没有return,返回值就是None.

嵌套函数

递归

匿名函数


map可以用于对可遍历结构的每个元素执行同样的操作

map(lambda x: x**2, [1234])                 # [1, 4, 9, 16]

map(lambda x, y: x + y, [123], [567])   # [6, 8, 10]

reduce则是对可遍历结构的元素 按顺序进行两个输入参数的操作,并且每次的结果保存作为下次

操作的第一个输入参数,还没有遍历的元素作为第二个输入参数。

这样的结果就是把一串可遍历的值,减少成一个对象:

reduce(lambda x, y: x + y, [1234])    # ((1+2)+3)+4=10

filter 根据条件对可遍历结构进行筛选


filter(lambda x: x % 2, [12345])    # 筛选奇数,[1, 3, 5]




列表生成

[x**2  for x in [1,2,3,4,5]]

zip函数可以把多个列表关联起来。

[sum(x) for x in zip([1, 2, 3], [5, 6, 7])] # [6, 8, 10]

iter_odd = (x for x in [1, 2, 3, 4, 5] if x % 2)

print(type(iter_odd)) # <type 'generator'>

square_dict = {x: x**2 for x in range(5)} # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}



文件操作

open()的第一个参数是文件名,第二个参数是模式。文件的模式一般有四种,读取(r),写入(w),追加(a)和读写(r+)。如果希望按照二进制数据读取,则将文件模式和b一起使用(wb, r+b…)。

with open('xx.txt','r') as f:

    lines = f.readlines()

    for line in lines:

        name, age = line.rstrip().split(',')

        print('{}  is {}  years  old'.format(name,age))


import pickle

lines = [

    "I'm like a dog chasing cars.",

    "I wouldn't know what to do if I caught one...",

    "I'd just do things."

]

with open('lines.pkl','wb') as f:

    pickle.dump(lines,f)

with open('lines.pkl','rb') as f:

    lines_back = pickle.load(f)

print(lines_back)











本文转自 295631788 51CTO博客,原文链接:http://blog.51cto.com/hequan/1886270,如需转载请自行联系原作者
目录
相关文章
|
1天前
|
测试技术 开发者 Python
Python检查函数和方法的输入/输出
【5月更文挑战第5天】Python检查函数和方法的输入/输出
9 1
|
2天前
|
Python
在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存
【5月更文挑战第12天】在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存在,该函数对路径进行检查,存在则返回True,不存在则返回False。示例代码展示了如何检查'example.txt'文件是否存在并相应打印消息。此外,`os.path.isfile()`用于确认路径是否为文件,仅当是文件时返回True,否则返回False,同样配以示例说明其用法。
12 2
|
3天前
|
Python
【Python操作基础】——函数
【Python操作基础】——函数
|
3天前
|
Python
Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。
【5月更文挑战第11天】Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。在函数内部修改全局变量需用`global`关键字声明,否则会创建新局部变量。
13 2
|
4天前
|
数据采集 数据可视化 数据挖掘
【新手解答】Python中Pandas的初学者笔记
【新手解答】Python中Pandas的初学者笔记
4 0
|
6天前
|
Java C# 开发者
Python 中的类型注解是一种用于描述变量、函数参数和返回值预期类型的机制
【5月更文挑战第8天】Python的类型注解提升代码可读性和可维护性,虽非强制,但利于静态类型检查(如Mypy)。包括:变量注解、函数参数和返回值注解,使用内置或`typing`模块的复杂类型,自定义类型注解,以及泛型模拟。类型注解可在变量声明、函数定义和注释中使用,帮助避免类型错误,提高开发效率。
18 6
|
8天前
|
存储 Python
【Python 基础】解释reduce函数的工作原理
【5月更文挑战第6天】【Python 基础】解释reduce函数的工作原理
|
8天前
|
Python
【Python 基础】解释map函数的工作原理
【5月更文挑战第6天】【Python 基础】解释map函数的工作原理
|
8天前
|
索引 Python
【Python 基础】解释Range函数
【5月更文挑战第6天】【Python 基础】解释Range函数
|
8天前
|
Python
Python中的匿名函数,即lambda函数
【5月更文挑战第6天】Python中的匿名函数,即lambda函数,用于简洁地定义小型函数,无需`def`关键字。示例:`double = lambda x: x * 2`,可将5加倍。常用于排序(自定义比较)、映射(如求平方)和过滤列表,以及作回调函数。然而,它们不适用于多行代码或复杂逻辑,此时需用常规函数。
4 0