python函数记忆 python那么多函数怎么记住

Python 之内置函数:filter、map、reduce、zip、enumerate

这几个函数在 Python 里面被称为高阶函数,本文主要学习它们的用法。

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比永川网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式永川网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖永川地区。费用合理售后完善,十载实体公司更值得信赖。

filter 函数原型如下:

第一个参数是判断函数(返回结果需要是 True 或者 False),第二个为序列,该函数将对 iterable 序列依次执行 function(item) 操作,返回结果是过滤之后结果组成的序列。

简单记忆:对序列中的元素进行筛选,获取符合条件的序列。

返回结果为: ,使用 list 函数可以输入序列内容。

map 函数原型如下:

该函数运行之后生成一个 list,第一个参数是函数、第二个参数是一个或多个序列;

下述代码是一个简单的测试案例:

上述代码运行完毕,得到的结果是: 。使用 print(list(my_new_list)) 可以得到结果。

map 函数的第一个参数,可以有多个参数,当这种情况出现后,后面的第二个参数需要是多个序列。

map 函数解决的问题:

reduce 函数原型如下:

第一个参数是函数,第二个参数是序列,返回计算结果之后的值。该函数价值在于滚动计算应用于列表中的连续值。

测试代码如下:

最终的结果是 6,如果设置第三个参数为 4,可以运行代码查看结果,最后得到的结论是,第三个参数表示初始值,即累加操作初始的数值。

简单记忆:对序列内所有元素进行累计操作。

zip 函数原型如下:

zip 函数将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一样,则返回列表长度与最短的对象相同,利用星号( * )操作符,可以将元组解压为列表。

测试代码如下:

展示如何利用 * 操作符:

输出结果如下:

简单记忆:zip 的功能是映射多个容器的相似索引,可以方便用于来构造字典。

enumerate 函数原型如下:

参数说明:

该函数用于将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

测试代码如下:

返回结果为: 。

本文涉及的函数可以与 lambda 表达式进行结合,能大幅度提高编码效率。最好的学习资料永远是官方手册

Python 几个重要的内置函数

在学习Python的过程中,有几个比较重要的内置函数:help()函数、dir()函数、input()与raw_input()函数、print()函数、type()函数。

第一、help()函数

Help()函数的参数分为两种:如果传一个字符串做参数的话,它会自动搜索以这个字符串命名的模块、方法等;如果传入的是一个对象,就会显示这个对象的类型的帮助。比如输入help(‘print’),它就会寻找以‘print’为名的模块、类等,找不到就会看到提示信息;而print在Python里是一个保留字,和pass、return同等,而非对象,所以help(print)也会报错。

第二、dir()函数

dir()函数返回任意对象的属性和方法列表,包含模块对象、函数对象、字符串对象、列表对象、字典对象等。尽管查找和导入模块相对容易,但是记住每个模块包含什么却不是这么简单,您并不希望总是必须查看源代码来找出答案。Python提供了一种方法,可以使用内置的dir()函数来检查模块的内容,当你为dir()提供一个模块名的时候,它返回模块定义的属性列表。dir()函数适用于所有对象的类型,包含字符串、整数、列表、元组、字典、函数、定制类、类实例和类方法。

第三、input与raw_input函数

都是用于读取用户输入的,不同的是input()函数期望用户输入的是一个有效的表达式,而raw_input()函数是将用户的输入包装成一个字符串。

第四、Print()函数

Print在Python3版本之间是作为Python语句使用的,在Python3里print是作为函数使用的。

第五、type()函数

Type()函数返回任意对象的数据类型。在types模块中列出了可能的数据类型,这对于处理多种数据类型的函数非常有用,它通过返回类型对象来做到这一点,可以将这个类型对象与types模块中定义类型相比较。

Python的函数参数总结

import math

a = abs

print(a(-1))

n1 = 255

print(str(hex(n1)))

def my_abs(x):

# 增加了参数的检查

if not isinstance(x, (int, float)):

raise TypeError('bad operand type')

if x = 0:

return x

else:

return -x

print(my_abs(-3))

def nop():

pass

if n1 = 255:

pass

def move(x, y, step, angle=0):

nx = x + step * math.cos(angle)

ny = y - step * math.sin(angle)

return nx, ny

x, y = move(100, 100, 60, math.pi / 6)

print(x, y)

tup = move(100, 100, 60, math.pi / 6)

print(tup)

print(isinstance(tup, tuple))

def quadratic(a, b, c):

k = b * b - 4 * a * c

# print(k)

# print(math.sqrt(k))

if k 0:

print('This is no result!')

return None

elif k == 0:

x1 = -(b / 2 * a)

x2 = x1

return x1, x2

else:

x1 = (-b + math.sqrt(k)) / (2 * a)

x2 = (-b - math.sqrt(k)) / (2 * a)

return x1, x2

print(quadratic(2, 3, 1))

def power(x, n=2):

s = 1

while n 0:

n = n - 1

s = s * x

return s

print(power(2))

print(power(2, 3))

def enroll(name, gender, age=8, city='BeiJing'):

print('name:', name)

print('gender:', gender)

print('age:', age)

print('city:', city)

enroll('elder', 'F')

enroll('android', 'B', 9)

enroll('pythone', '6', city='AnShan')

def add_end(L=[]):

L.append('end')

return L

print(add_end())

print(add_end())

print(add_end())

def add_end_none(L=None):

if L is None:

L = []

L.append('END')

return L

print(add_end_none())

print(add_end_none())

print(add_end_none())

def calc(*nums):

sum = 0

for n in nums:

sum = sum + n * n

return sum

print(calc(1, 2, 3))

print(calc())

l = [1, 2, 3, 4]

print(calc(*l))

def foo(x, y):

print('x is %s' % x)

print('y is %s' % y)

foo(1, 2)

foo(y=1, x=2)

def person(name, age, **kv):

print('name:', name, 'age:', age, 'other:', kv)

person('Elder', '8')

person('Android', '9', city='BeiJing', Edu='人民大学')

extra = {'city': 'Beijing', 'job': 'Engineer'}

person('Jack', 24, **extra)

def person2(name, age, *, city, job):

print(name, age, city, job)

person2('Pthon', 8, city='BeiJing', job='Android Engineer')

def person3(name, age, *other, city='BeiJing', job='Android Engineer'):

print(name, age, other, city, job)

person3('Php', 18, 'test', 1, 2, 3)

person3('Php2', 28, 'test', 1, 2, 3, city='ShangHai', job='Pyhton Engineer')

def test2(a, b, c=0, *args, key=None, **kw):

print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'key=', key, 'kw =', kw)

test2(1, 2, 3, 'a', 'b', 'c', key='key', other='extra')

args = (1, 2, 3, 4)

kw = {'d': 99, 'x': '#'}

test2(*args, **kw)

Python语法小记忆

Python 中的字符串还支持转义字符。所谓转义字符是指使用反斜杠“\”对一些特殊字符进行转义。

转义字符说明

\ 续行符

\n 换行符

\0 空

\t 水平制表符,用于横向跳到下一制表位

\'' 双引号

\' 单引号

\\ 一个反斜杠

\f 换页

\0dd 八进制数,dd 代表字符,如\012 代表换行

\xhh 十六进制数,hh 代表字符,如\x0a 代表换行

在Python 中,提供了如下表所示的函数进行数据类型的转换。

函数作用

int(x) 将x 转换成整数类型

float(x) 将x 转换成浮点数类型

complex(real [,imag]) 创建一个复数

str(x) 将x 转换为字符串

repr(x) 将x 转换为表达式字符串

eval(str) 计算在字符串中的有效Python 表达式,并返回一个对象

chr(x) 将整数x 转换为一个字符

ord(x) 将一个字符x 转换为它对应的整数值

hex(x) 将一个整数x 转换为一个十六进制字符串

oct(x) 将一个整数x 转换为一个八进制的字符串

赋值运算符主要用来为变量等赋值。使用时,可以直接把基本赋值运算符“=”右边的值赋给左边的变量,也可以进行某些运算后再赋值给左边的变量。在Python 中常用的赋值。

运算符如下表所示。

运算符说明举例展开形式

= 简单的赋值运算x=y x=y

+= 加赋值x+=y x=x+y

-= 减赋值x-=y x=x-y

*= 乘赋值x*=y x=x*y

/= 除赋值x/=y x=x/y

%= 取余数赋值x%=y x=x%y

**= 幂赋值x**=y x=x**y

//= 取整除赋值x//=y x=x//y

比较运算符,也称关系运算符,用于对变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回True,如果为假,则返回False。比较运算符通常用在条件语句中作为判断的依据。Python 中的比较运算符如下表所示。

运算符作用举例结果

大于'a' 'b' False

小于156 456 True

== 等于'c' == 'c' True

!= 不等于'y' != 't' True

= 大于或等于479 = 426 True

= 小于或等于62.45 = 45.5 False

逻辑运算符是对真和假两种布尔值进行运算,运算后的结果仍是一个布尔值,Python中的逻辑运算符主要包括and(逻辑与)、or(逻辑或)、not(逻辑非)。

运算符含义用法结合方向

and 逻辑与op1 and op2 从左到右

or 逻辑或op1 or op2 从左到右

not 逻辑非not op 从右到左

所谓运算符的优先级,是指在应用中哪一个运算符先计算,哪一个后计算,与数学的四则运算应遵循的“先乘除,后加减”是一个道理。

下表按从高到低的顺序列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

运算符说明

** 幂

~、+、- 取反、正号和负号

*、/、%、// 算术运算符

+、- 算术运算符

、 位运算符中的左移和右移

位运算符中的位与

^ 位运算符中的位异或

| 位运算符中的位或

、=、、=、!=、== 比较运算符

在Python 中,使用内置函数input()可以接收用户的键盘输入。input()函数的基本用法如下:

variable = input("提示文字")

其中,variable 为保存输入结果的变量,双引号内的文字用于提示要输入的内容。

默认的情况下,在Python中,使用内置的print()函数可以将结果输出到IDLE或者标准控制台上。其基本语法格式如下:

Print(输出内容)

其中,输出内容可以是数字和字符串(字符串需要使用引号括起来),此类内容将直接

输出,也可以是包含运算符的表达式,此类内容将计算结果输出。


当前文章:python函数记忆 python那么多函数怎么记住
网页网址:http://hbruida.cn/article/doiecsh.html