python 内置函数 builtins_python内置函数

#查看内置函数

dir(__builtins__)############################################################################################################abs()函数返回数字的绝对值。

>>> abs(-40.00)40.0

#max()方法返回给定参数的最大值,参数可以为序列。

>>> max(80,100,1000)1000

#min()方法返回给定参数的最小值,参数可以为序列。

>>> min(80,100,1000)80

#pow()方法返回x的y次方的值。

>>> pow(100,2)10000

>>> importmath>>> math.pow(100,2)10000.0

#round()方法返回浮点数x的四舍五入值。

>>> round(80.264,2)80.26

############################################################################################################chr()用一个整数作参数,返回一个对应的字符。

>>> print(chr(72),chr(101),chr(108),chr(108),chr(111))

H e l l o#ord()函数是chr()函数的配对函数,它以一个字符串(Unicode字符)作为参数,返回对应的ASCII数值,或者Unicode数值。

>>> print(ord('A'),ord('Z'),ord('a'),ord('z'))65 90 97 122

###########################################################################################################

#all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。

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

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

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

print(all(('a', 'b', 'c', 'd'))) #元组tuple,元素都不为空或0

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

print(all((0, 1, 2, 3)))#元组tuple,存在一个为0的元素

print(all([]))#空列表 print()

print(all(()))#空元组

#any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。

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

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

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

print(any(('a', 'b', 'c', 'd')))#元组tuple,元素都不为空或0

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

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

print(any([]))#空列表

print(any(()))#空元组

#ascii() 函数类似 repr() 函数, 返回一个表示对象的字符串

print(ascii("Hello World"))#bin() 返回一个整数 int 或者长整数 long int 的二进制表示。

print(bin(10))print(bin(20))#bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。#bool 是 int 的子类。

print(bool())print(bool(0))print(bool(1))print(issubclass(bool,int))#bytearray() 方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。#class bytearray([source[, encoding[, errors]]])

print(bytearray())#bytearray(b'')

print(bytearray([1,2,3]))#bytearray(b'\x01\x02\x03')

print(bytearray("Hello World","utf-8")) #bytearray()

#bytes 函数返回一个新的 bytes 对象,该对象是一个 0 <= x < 256 区间内的整数不可变序列。它是 bytearray 的不可变版本。#class bytes([source[, encoding[, errors]]])

a = bytes([1,2,3,4])print(a)print(type(a))

a= bytes('hello','ascii')print(a)print(type(a))#callable() 函数用于检查一个对象是否是可调用的。

print(callable(0))print(callable("Hello World"))defadd(q,b):return a +bprint(callable(add)) #函数返回 True

classA:defmethod(self):return0print(callable(A)) #类返回 True

a =A()print(callable(a)) #没有实现 __call__, 返回 False

classB:def __call__(self, *args, **kwargs):return0

b=B()print(callable(b)) #实现 __call__, 返回 True

#classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。

classA(object):

bar=1

deffunc(self):print('foo')

@classmethoddeffun2(cls):print('fun2')print(cls.bar)

cls().func()

A.fun2()#compile() 函数将一个字符串编译为字节代码。

str="for i in range(0,10):print(i)"c=compile(str,'','exec') #编译为字节代码对象

print(c)print(exec(c))#delattr 函数用于删除属性。delattr(x, 'foobar') 相等于 del x.foobar。

classCoordinate:

x= 10y= -5z=0

point1=Coordinate()print('x =',point1.x)print('y =',point1.y)print('z =',point1.z)

delattr(Coordinate,'z')print('--删除 z 属性后--')print('x =',point1.x)print('y =',point1.y)#触发错误

print('z =',point1.z)#dict() 函数用于创建一个字典。

print(dict()) #创建空字典

print(dict(a='a',b='b',c='c')) #传入关键字

print(dict(zip(['one', 'two', 'three'], [1, 2, 3]))) #映射函数方式来构造字典

print(dict([('one', 1), ('two', 2), ('three', 3)])) #可迭代对象方式来构造字典

#dir([object])

print(dir()) #获得当前模块的属性列表

print(dir([])) #查看列表的方法

#divmod(a, b)

print(divmod(7,2))print(divmod(8,2))#enumerate() 函数用于将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

seasons = ['Spring', 'Summer', 'Fall', 'Winter']print(list(enumerate(seasons)))print(list(enumerate(seasons, start=1))) #小标从 1 开始#for 循环使用 enumerate

seq = ['one', 'two', 'three']for i, element inenumerate(seq):print(i, seq[i])#eval() 函数用来执行一个字符串表达式,并返回表达式的值。

x=7

print(eval('3*x'))print(eval('pow(2,2)'))print('2+2')

n=81

print(eval('n+4'))#exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。#实例 1

exec('print("Hello wolrd")')exec("""for i in range(5):

print("iter time:%d" % i)""")#实例 2

x = 10expr= """z = 30

sum = x + y + z

print(sum)"""

deffunc():

y= 20

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

func()#filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

defis_odd(n):return n % 2==1tmplist=filter(is_odd,[1,2,3,4,5,6,7,8,9,10])

newlist=list(tmplist)print(newlist)#float() 函数用于将整数和字符串转换成浮点数。

print(float(1))print(float(112))print(float(-123.6))print(float('123'))#Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

print("{} {}".format("hello", "world")) #不设置指定位置,按默认顺序

print("{0} {1}".format("hello", "world")) #设置指定位置

print("{1} {0} {1}".format("hello", "world")) #设置指定位置

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

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

print(a)

b= frozenset('Hello World')print(b)#getattr() 函数用于返回一个对象属性值。

classA(object):

bar=1a=A()print(getattr(a,'bar')) #获取属性 bar 值

print(getattr(a,'bar2')) #属性 bar2 不存在,触发异常

print(getattr(a,'bar2',3)) #属性 bar2 不存在,但设置了默认值

#globals() 函数会以字典类型返回当前位置的全部全局变量。

print(globals())

a="Hello World" #globals() 函数会以字典类型返回当前位置的全部全局变量。

print(globals())#hasattr() 函数用于判断对象是否包含对应的属性。

classCoordinate:

x= 10y= -5z=0

point1=Coordinate()print(hasattr(point1, 'x'))print(hasattr(point1, 'y'))print(hasattr(point1, 'z'))print(hasattr(point1, 'no')) #没有该属性

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

print(hash('test')) #字符串

print(hash(1)) #数字

print(hash(str([1,2,3]))) #集合

print(hash('test')) #字典

#help() 函数用于查看函数或模块用途的详细说明。

help('sys') #查看 sys 模块的帮助

help('str') #查看 str 数据类型的帮助

help(([1,2,3])) #查看列表 list 帮助信息

help("a.append") #显示list的append方法的帮助

#hex() 函数用于将一个指定数字转换为 16 进制数。

print(hex(255))print(hex(-42))print(hex(12))print(type(type(12)))#id() 函数用于获取对象的内存地址。

print(id("Hello World"))print(id("1"))print(id(1))#isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

print(isinstance(2,int))print(isinstance(2,str))print(isinstance(2,(str,int,list))) #是元组中的一个返回 True#type() 与 isinstance()区别:

classA:pass

classB(A):pass

print(isinstance(A(), A) ) #returns True

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

isinstance(B(), A) #returns True

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

#issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类。

classA:pass

classB(A):pass

print(issubclass(B,A)) #返回 True

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

lst=[1,2,3]for i initer(lst):print(i)#Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。

print(len("Hello World"))print(len([1,2,3,4,5]))#list() 方法用于将元组或字符串转换为列表。#注:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中。

aTuple = (123, 'Google', 'Runoob', 'Taobao')

list1=list(aTuple)print ("列表元素 :", list1)

str="Hello World"list2=list(str)print ("列表元素 :", list2)#locals() 函数会以字典类型返回当前位置的全部局部变量。

def fun(arg): #两个局部变量:arg、z

z=1

print(locals())

fun(4) #返回一个名字/值对的字典

#map() 会根据提供的函数对指定序列做映射。

def square(x) : #计算平方数

return x ** 2

print(map(square, [1,2,3,4,5])) #计算列表各个元素的平方

print(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) #使用 lambda 匿名函数#提供了两个列表,对相同位置的列表数据进行相加

print(map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))#memoryview() 函数返回给定参数的内存查看对象(Momory view)。#所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。

v = memoryview(bytearray("abcefg", 'utf-8'))print(v[1]) #98

print(v[-1]) #103

print(v[1:4]) #

print(v[1:4].tobytes()) #b'bce'

#next() 返回迭代器的下一个项目。#首先获得Iterator对象:

it = iter([1, 2, 3, 4, 5])#循环:

whileTrue:try:#获得下一个值:

x =next(it)print(x)exceptStopIteration:#遇到StopIteration就退出循环

break

#oct() 函数将一个整数转换成8进制字符串。

print(oct(10))print(oct(20))print(oct(15))#open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。#使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。

f = open('test.txt')

f.read()#print() 方法用于打印输出,最常见的一个函数。

print(1)print("Hello World")

a= 1b= 'Hello World'

print(a,b)print("aaa""bbb")print("aaa","bbb")print("www","hello world","com",sep=".") #设置间隔符

#property() 函数的作用是在新式类中返回属性值。#语法:class property([fget[, fset[, fdel[, doc]]]])

#Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。

print(list(range(0, 30, 5)))print(list(range(0, 10, 2)))print(list(range(0, -10, -1)))print(list(range(1, 0)))#repr() 函数将对象转化为供解释器读取的形式。

print(repr('HELLO WORLD'))print(repr({'hello world': 'hello.com', 'google': 'google.com'}))#reversed 函数返回一个反转的迭代器。#字符串

print(list(reversed('Hello')))#元组

print(list(reversed(('H', 'e', 'l', 'l', 'o'))))#range

print(list(reversed(range(5, 9))))#列表

print(list(reversed([1, 2, 4, 3, 5])))#set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

x = set('runoob')

y= set('google')print(x, y)

(set(['b', 'r', 'u', 'o', 'n']), set(['e', 'o', 'g', 'l'])) #重复的被删除

print(x & y) #交集

set(['o'])print(x | y) #并集

set(['b', 'e', 'g', 'l', 'o', 'n', 'r', 'u'])print(x - y) #差集

set(['r', 'b', 'u', 'n'])#setattr() 函数对应函数 getattr(),用于设置属性值,该属性不一定是存在的。

classA(object):

bar= 1a=A()print(getattr(a, 'bar')) #获取属性 bar 值

setattr(a, 'bar', 5) #设置属性 bar 值

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

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

print(myslice) #slice(None, 5, None)

arr = range(10) #range(0, 10)

print(arr)

[0,1, 2, 3, 4, 5, 6, 7, 8, 9]print(arr[myslice]) #range(0, 5) # 截取 5 个元素

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

example_list = [5, 0, 6, 1, 2, 7, 3, 4]print(sorted(example_list, reverse=True))#python staticmethod 返回函数的静态方法,该方法不强制要求传递参数

classC(object):

@staticmethoddeff():print('Hello World');

C.f();#静态方法无需实例化

cobj =C()

cobj.f()#也可以实例化后调用

#str() 函数将对象转化为适于人阅读的形式。

s = 'RUNOOB'

print(str(s))

dict= {'runoob': 'runoob.com', 'google': 'google.com'};print(str(dict))#sum() 方法对系列进行求和计算。

print(sum([0,1,2]))print(sum((2, 3, 4), 1)) #元组计算总和后再加 1

print(sum([0,1,2,3,4], 2)) #列表计算总和后再加 2

#super() 函数是用于调用父类(超类)的一个方法。

classFooParent(object):def __init__(self):

self.parent= 'I\'m the parent.'

print ('Parent')defbar(self,message):print ("%s from Parent" %message)classFooChild(FooParent):def __init__(self):#super(FooChild,self) 首先找到 FooChild 的父类(就是类 FooParent),然后把类B的对象 FooChild 转换为类 FooParent 的对象

super(FooChild,self).__init__()print ('Child')defbar(self,message):

super(FooChild, self).bar(message)print ('Child bar fuction')print(self.parent)if __name__ == '__main__':

fooChild=FooChild()

fooChild.bar('HelloWorld')#tuple函数将列表转换为元组。

list1= ['Google', 'Taobao', 'Runoob', 'Baidu']print(tuple(list1))#type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。#type() 与 isinstance()区别:

classA:pass

classB(A):passisinstance(A(), A)#returns True

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

isinstance(B(), A) #returns True

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

#vars() 函数返回对象object的属性和属性值的字典对象。

print(vars())classRunoob:

a= 1

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

a = [1,2,3]

b= [4,5,6]

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

zipped= zip(a,b) #返回一个对象

print(zipped)print(list(zipped)) #list() 转换为列表

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

a1, a2 = zip(*zip(a,b)) #与 zip 相反,zip(*) 可理解为解压,返回二维矩阵式

print(list(a1))print(list(a2))#__import__() 函数用于动态加载类和函数 。#如果一个模块经常变化就可以使用 __import__() 来动态载入。#a.py 文件代码:#!/usr/bin/env python#encoding: utf-8

importosprint ('在 a.py 文件中 %s' %id(os))#test.py 文件代码:#!/usr/bin/env python#encoding: utf-8

importsys__import__('a') #导入 a.py 模块#执行 test.py 文件,输出结果为:#在 a.py 文件中 4394716136

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页