Python常用内置函数总结:

整理过程中参考了runoob网站中python内置函数的相关知识点,特此鸣谢!!

原文地址:http://www.runoob.com/python/python-built-in-functions.html

l all()函数

判断迭代对象中是否有空或为0的对象,如果有则返回False

all(['a', 'b', 'c', 'd'])  # 列表list,元素都不为空或0 True

all([0, 1,2, 3])          # 列表list,存在一个为0的元素False

all([])             # 空列表True

>>> all(())             # 空元组True

print (all([])) #结果是True

print(all(()))#结果居然也是True

l any()函数

any也用来判断可迭代对象,所不同的是,当可迭代对象中都为0时结果才为False

any(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素 True

any([0, '', False]) # 列表list,元素全为0,'',false

any(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素 True

any((0, '', False)) # 元组tuple,元素全为0,'',false

any([]) # 空列表 False

any(()) # 空元组 False

l bytearray()方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256

ü 如果 source 为整数,则返回一个长度为 source 的初始化数组;

ü 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;

ü 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数

ü 如果没有输入任何参数,默认就是初始化数组为0个元素。

用print()嵌套====>输出结果

bytearray()====> bytearray(b'')

bytearray([1,2,3]) ====>bytearray(b'\x01\x02\x03')

print(bytearray('花呀花呀开在那枝丫枝丫头','utf-8'))====>

bytearray(b'\xe8\x8a\xb1\xe5\x91\x80\xe8\x8a\xb1\xe5\x91\x80\xe5\xbc\x80\xe5\x9c\xa8\xe9\x82\xa3\xe6\x9e\x9d\xe4\xb8\xab\xe6\x9e\x9d\xe4\xb8\xab\xe5\xa4\xb4')

print(bytearray('xuxiaodong', 'utf-8'))==========>bytearray(b'chengjin')

bytearray('xuxiaodong', 'utf-8')====> bytearray(b'chengjin')

l callable()

callable() 函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。

对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True。

调用函数==========>输出结果

callable(0) ==========>False

callable("xuxiaodong")==========> False

def add(a, b): ... return a + b ... ==========>callable(add)==========>True

l complex() 函数

complex() 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数

real -- int, long, float或字符串;

imag -- int, long, float;

调用函数==========>输出结果

complex(1, 2)==========> (1 + 2j)

complex(1) ==========># 数字 (1 + 0j)

complex("1") ==========># 当做字符串处理 (1 + 0j)

complex("1+2j") ==========>(1 + 2j)# 注意:这个地方在"+"号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错

l dir() 函数

dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

dir() # 获得当前模块的属性列表 ['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']

>>> dir([ ]) # 查看列表的方法 ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

l divmod()函数

python divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。

在 python 2.3 版本之前不允许处理复数。

参数说明:

a: 数字

b: 数字

divmod(7, 2) ==========>(3, 1)

divmod(8, 2) ==========>(4, 0)

divmod(1+2j,1+0.5j)==========> ((1+0j), 1.5j)

l enumerate() 函数

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。Python 2.3. 以上版本可用,2.6 添加 start 参数。

参数

sequence -- 一个序列、迭代器或其他支持迭代对象。

start -- 下标起始位置。

返回值

返回 enumerate(枚举) 对象。

seasons = ['Spring', 'Summer', 'Fall', 'Winter']

list(enumerate(seasons))==========>[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

用法

seq = ['one', 'two', 'three']

for i, element in enumerate(seq):

... print i, seq[i] ...

结果:

0 one

1 two

2 three

l eval() 函数

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

参数

expression -- 表达式。

globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。

locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

返回值

返回表达式计算结果。

用法

x = 7  eval( '3 * x' ) ==========>21

eval('pow(2,2)') ==========>4

eval('2 + 2') ==========>4

l file() 函数

file() 函数用于创建一个 file 对象,它有一个别名叫 open(),更形象一些,它们是内置函数。参数是以字符串的形式传递的。

更多文件操作可参考:Python 文件I/O

参数

name -- 文件名

mode -- 打开模式

buffering -- 0 表示不缓冲,如果为 1 表示进行行缓冲,大于 1 为缓冲区大小。

返回值

文件对象。

f = file('test.txt')

f.read()

l filter() 函数

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

语法

以下是 filter() 方法的语法:

filter(function, iterable)

参数

function -- 判断函数。

iterable -- 可迭代对象。

返回值

 

返回列表。

def is_odd(n):

return n % 2 == 1

newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) print(newlist)

l float() 函数

float() 函数用于将整数和字符串转换成浮点数。

参数

x -- 整数或字符串

返回值

返回浮点数。

float(1) ==========>1.0

float(112) ==========>112.0

float(-123.6) -==========>123.6

float('123') # 字符串 ==========>123.0

frozenset()函数

frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

语法

frozenset() 函数语法:

class frozenset([iterable])

参数

iterable -- 可迭代的对象,比如列表、字典、元组等等。

返回值

返回新的 frozenset 对象,如果不提供任何参数,默认会生成空集合。。

实例

a = frozenset(range(10)) # 生成一个新的不可变集合

a ==========>frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

b = frozenset('chengjin')

b==========> frozenset(['b', 'r', 'u', 'o', 'n']) # 创建不可变集合

l hash() 函数

描述

hash() 用于获取取一个对象(字符串或者数值等)的哈希值。

语法

hash 语法:

hash(object)

参数说明:

object -- 对象;

返回值

返回对象的哈希值。

实例

以下实例展示了 hash 的使用方法:

>>>hash('test') # 字符串 ==========>2314058222102390712

>>> hash(1) # 数字 ==========>1

>>> hash(str([1,2,3])) # 集合 ==========>1335416675971793195

>>> hash(str(sorted({'1':1}))) # 字典 ==========>7666464346782421378

l id()函数

描述

id() 函数用于获取对象的内存地址。

语法

id 语法:

id([object])

参数说明:

object -- 对象。

返回值

返回对象的内存地址。

实例

以下实例展示了 id 的使用方法:

>>>a = 'chengjin'

id(a) ==========>4531887632

b = 1

id(b) ==========>140588731085608

l isinstance() 函数

描述

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

isinstance() 与 type() 区别:

type() 不会认为子类是一种父类类型,不考虑继承关系。

isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。

语法

以下是 isinstance() 方法的语法:

isinstance(object, classinfo)

参数

object -- 实例对象。

classinfo -- 可以是直接或间接类名、基本类型或者有它们组成的元组。

返回值

如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。。

实例

以下展示了使用 isinstance 函数的实例:

>>>a = 2

>>> isinstance (a,int) ==========>True

>>> isinstance (a,str)==========> False

>>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True ==========>True

type() 与 isinstance()区别:

class A:

pass

class B(A):

pass

isinstance(A(), A) # returns True

type(A()) == A # returns True

isinstance(B(), A) # returns True

type(B()) == A # returns False

l iter() 函数

描述

iter() 函数用来生成迭代器。

语法

以下是 iter() 方法的语法:

iter(object[, sentinel])

参数

object -- 支持迭代的集合对象。

sentinel -- 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object。

打开模式

返回值

迭代器对象。

实例

lst = [1, 2, 3]

for i in iter(lst):

... print(i)

结果:

... 1 2 3

 

l reduce() 函数

描述

reduce() 函数会对参数序列中元素进行累积。

函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

语法

reduce() 函数语法:

reduce(function, iterable[, initializer])

参数

function -- 函数,有两个参数

iterable -- 可迭代对象

initializer -- 可选,初始参数

返回值

返回函数计算结果。

实例

以下实例展示了 reduce() 的使用方法:

>>>def add(x, y) : # 两数相加

... return x + y ...

>>> reduce(add, [1,2,3,4,5]) # 计算列表和:1+2+3+4+5 15

>>> reduce(lambda x, y: x+y, [1,2,3,4,5]) # 使用 lambda 匿名函数 15

l repr() 函数

描述

repr() 函数将对象转化为供解释器读取的形式。

语法

以下是 repr() 方法的语法:

repr(object)

参数

object -- 对象。

返回值

返回一个对象的 string 格式。

实例

以下展示了使用 repr() 方法的实例:

>>>s = 'chengjin'

>>> repr(s) "'chengjin'"

>>> dict = {'chengjin': 'chengjin.com', 'google': 'google.com'};

>>> repr(dict) "{'google': 'google.com', 'chengjin': 'chengjin.com'}"

l reverse() 函数

描述

reverse() 函数用于反向列表中元素。

语法

reverse()方法语法:

list.reverse()

参数

NA。

返回值

该方法没有返回值,但是会对列表的元素进行反向排序。

实例

以下实例展示了 reverse()函数的使用方法:

#!/usr/bin/python

aList = [123, 'xyz', 'zara', 'abc', 'xyz'];

aList.reverse();

print "List : ", aList;

以上实例输出结果如下:

List :  ['xyz', 'abc', 'zara', 'xyz', 123]

l slice() 函数

描述

slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。

语法

slice 语法:

class slice(stop)class slice(start, stop[, step])

参数说明:

start -- 起始位置

stop -- 结束位置

step -- 间距

返回值

返回一个切片对象。

实例

以下实例展示了 slice 的使用方法:

>>>myslice = slice(5) # 设置截取5个元素的切片

>>> myslice

slice(None, 5, None)

>>> arr = range(10)

>>> arr

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> arr[myslice] # 截取 5 个元素

[0, 1, 2, 3, 4]

sorted() 函数

描述

sorted() 函数对所有可迭代的对象进行排序操作。

sort 与 sorted 区别:

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

语法

sorted 语法:

sorted(iterable[, cmp[, key[, reverse]]])

参数说明:

iterable -- 可迭代对象。

cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。

key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

返回值

返回重新排序的列表。

实例

以下实例展示了 sorted 的使用方法:

>>>a = [5,7,6,3,4,1,2] >>>

b = sorted(a) # 保留原列表

>>> a

[5, 7, 6, 3, 4, 1, 2]

>>> b

[1, 2, 3, 4, 5, 6, 7]

>>> L=[('b',2),('a',1),('c',3),('d',4)]

>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # 利用cmp函数

[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

>>> sorted(L, key=lambda x:x[1]) # 利用key

[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

>>> sorted(students, key=lambda s: s[2]) # 按年龄排序

[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

>>> sorted(students, key=lambda s: s[2], reverse=True) # 按降序

[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]

>>>

l zip() 函数

描述

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

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

语法

zip 语法:

zip([iterable, ...])

参数说明:

iterabl -- 一个或多个迭代器;

返回值

返回元组列表。

实例

以下实例展示了 zip 的使用方法:

>>>a = [1,2,3]

>>> b = [4,5,6]

>>> c = [4,5,6,7,8]

>>> zipped = zip(a,b) # 打包为元组的列表

[(1, 4), (2, 5), (3, 6)]

>>> zip(a,c) # 元素个数与最短的列表一致

[(1, 4), (2, 5), (3, 6)]

>>> zip(*zipped) # 与 zip 相反,可理解为解压,

返回二维矩阵式 [(1, 2, 3), (4, 5, 6)]

l exec 内置语句

描述

exec 执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码。

需要说明的是在 Python2 中exec不是函数,而是一个内置语句(statement),但是Python 2中有一个 execfile() 函数。可以理解为 Python 3 把 exec 这个 statement 和 execfile() 函数的功能够整合到一个新的 exec() 函数中去了。

语法

以下是 exec 的语法:

exec obj

参数

obj -- 要执行的表达式。

返回值

exec 返回值永远为 None。

实例

以下展示了使用 exec 的实例:

实例 1

>>>exec 'print "Hello World"'

Hello World # 单行语句字符串

>>> exec "print 'chengjin.com'"

chengjin.com # 多行语句字符串

>>> exec """for i in range(5):

... print "iter time: %d" % i

... """

结果为:

iter time: 0

iter time: 1

iter time: 2

iter time: 3

iter time: 4

实例 2

x = 10

expr = """

z = 30

sum = x + y + z

print(sum)

"""

def func():

y = 20

exec(expr)

exec(expr, {'x': 1, 'y': 2})

exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})

func()

输出结果:

60

33

34

python常用函数拾零的更多相关文章

  1. Python常用函数记录

    Python常用函数/方法记录 一. Python的random模块: 导入模块: import random 1. random()方法: 如上如可知该函数返回一个[0,1)(左闭右开)的一个随机的 ...

  2. Python常用函数、方法、模块记录

    常用函数: 1.pow():乘方 2.abs():绝对值 3.round():四舍五入 4.int():转换为整数 5.input():键盘输入(会根据用户的输入来做类型的转换) raw_input( ...

  3. python常用函数年初大总结

    1.常用内置函数:(不用import就可以直接使用) help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像函数一样调用 repr(obj) 得到o ...

  4. python常用函数总结

    原文地址https://www.cnblogs.com/nice107/p/8118876.html 我们在学习python的时候,接触最多的往往则是那些函数,对于python函数,在这里为大家总结归 ...

  5. 超级干货,python常用函数大总结

    我们在学习python的时候,接触最多的往往则是那些函数,对于python函数,在这里为大家总结归纳了这些,如果有缺漏,还请及时留言指正哦! 话不多说,干货来袭! 1.常用内置函数:(不用import ...

  6. python常用函数库收集。

    学习过Python都知道python中有很多库.python本身就是万能胶水,众多强大的库/模块正是它的优势. 收集一些Python常用的函数库,方便大家选择要学习的库,也方便自己学习收集,熟悉运用好 ...

  7. python 常用函数集合

    1.常用函数     round() :  四舍五入         参数1:要处理的小数         参数2:可选,如果不加,就是不要小数,如果加,就是保留几位小数     abs() :绝对值 ...

  8. Python | Python常用函数、方法示例总结(API)

    目录 前言 1. 运算相关 2. Sring与数字 3. 列表相关 4. 集合相关 5. 序列化类型 6. 字典相关 7. 输入输出 8. 文件相关 9. json模块 10. unittest测试模 ...

  9. python常用函数及模块

    原文来源于博客园和CSDN 1.计算函数 abs()--取绝对值 max()--取序列最大值,包括列表.元组 min()--取序列最小值 len()--取长度 divmod(a,b)---取a//b除 ...

随机推荐

  1. STM32 M0之SPI

    从M3到M0,可能SPI的接口函数大致类似,但是细节略有不同 仔细观察寄存器描述,虽然个别存在差异,但是真心不知道竟然有太多的“玄机” 这次的问题主要出在了数据宽度上: 1. M3/M4的数据宽度支持 ...

  2. 使用jbc查询数据封装成对象的工具类

    适用于获取Connection对象的util package com.briup.myDataSource; import java.io.FileReader; import java.io.Inp ...

  3. 2017"百度之星"程序设计大赛 - 资格赛 1002 度度熊的王国战略

    全局最小割 Stoer-Wagner (SW算法)优化 优化吃藕了,感谢放宽时限,感谢平板电视 (pb_ds) #include <iostream> #include <cstdi ...

  4. HTTP报文学习

    HTTP报文用于HTTP协议的信息交互,分为请求报文和响应报文.报文由首部和主体两部分组成,中间使用空行(CR+LF)分隔 1. 报文结构 报文由首部.空行和实体组成: 报文中首先是请求行或者状态行, ...

  5. MyBatis学习存档(5)——联表查询

    之前的数据库操作都是基于一张表进行操作的,若一次查询涉及到多张表,那该如何进行操作呢? 首先明确联表查询的几个关系,大体可以分为一对一和一对多这两种情况,接下来对这两种情况进行分析: 一.建立表.添加 ...

  6. JAVA对存储过程的调用方法(本文源于网络)

    博客分类: java java存储过程sql  一:Java如何实现对存储过程的调用:   A:不带输出参数的   ---------------不带输出参数的-------------------- ...

  7. poj 1753高斯

    和前面的开关问题差不多,就是要理解一下我们方程等号的右端代表的含义是什么.我们建立的方程是想让对位的位置变或者不变,然后生成增广矩阵的时候要多注意一点. ac代码: #include #include ...

  8. Nopcommerce 项目添加插件

    插件是用来扩展nopCommerce功能的.nopCommerce拥有多种类型的插件.例如:支付方式(PayPal),税务机构,送货方式计算方法(UPS, USP, FedEx),小部件(如“在线聊天 ...

  9. SQL生成自动序号 带有占位符(掩码),可以调整占位长度的语句

    MSSQL 语句 --声明变量 DECLARE @i int DECLARE @xh varchar(10) DECLARE @name varchar(10) Set @i = 0 --开始循环插入 ...

  10. LeetCode 腾讯精选50题--二叉树中的最大路径和

    二叉树中的最大路径和 题目描述 给定一个非空二叉树,返回器最大路径和,路径指一条从任意节点出发,到达任意节点的序列,该路径至少包含一个节点,且不一定经过根节点 解题思路 树这一类数据结构我还不是很熟悉 ...