python学习笔记

第十五章:内置函数

2018-02-11  本文已影响0人  运柱

python有一些常用的内置函数:

数学函数

abs() 获取绝对值

min()求最小值

max()求最大值

hash()获取一个对象(字符串或数值)的哈希值

pow(),c风格的几次方,math.pow(x, y)

sum(),对序列进行求和

round(x[, n])返回浮点数的四舍五入,n表示小数点后预留位数,默认为0.

进制转换

bin()返回一个整型int或long int的二进制表示

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

hex() 将十进制整数转换为16进制

类型转换

int()将一个字符串或数字传换成整数,int(x, base=10)

float()将整数和字符串转换成浮点数

complex()用于创建一个复数,形如real+imag*j

chr() 将0~255范围内的整数转换为对应的ascii字符

ord() 意义和chr()相反,以字符为参数,返回对应的ascii数值。

bool()将给定参数转换为布尔类型,如果没有参数,返回False。bool是int的子类。

str()将对象转化为适于阅读的形式

列表、元组、字典相关函数

dict() 生成字典,dict()生成空字典,dict(a='e', b='f', c='g'),传入关键字,{'a':'e', 'b':'f', 'c':'g'},dict(zip(['one', 'two', 'three'], [1, 2, 3])),dict([('one', 1), ('two', 2), ('three', 3)])

list()将元组转换为列表

tuple()将列表转换为元组

all(),any()的参数都是元组或列表,区别:all()如果所有元素都不是0、''、False或者iterable为空,返回True,否则返回False;any()如果所有元素为空、0、False则返回False,如果不都为空、0、False,则返回True;all()参数是空列表或空元组,返回True,any()返回False。

slice(stop),或slice(start, stop[, step])实现切片对象。print([1, 2, 3, 4, 5, 6, 7][slice(3)])

filter()用于过滤序列,函数返回filter对象

eg。

def is_odd(n):

      return n % 2 == 1

aList = filter(is_odd, [1, 2, 3, 4, 5, 6, 7])

print(list(aList))

迭代相关函数

next(iterator[,defaul]) 返回迭代器的下一个项目。

sorted(iterable, key=None, reverse=False),key用来进行比较的元素,指定可迭代对象的一个元素来进行排序,reverse排序规则,True为降序,False为升序。和list.sort()的区别:sorted会修改原始的list,list.sort()返回为None;另外list.sort()只为list定义,sorted函数可以接受任何iterable。eg:print(sorted({1:'A', 2:"B", 3:"C"}))

iter()用于生成迭代器

面向对象相关函数

setattr(object, name, value),getattr(object, name)用于设置和获取属性,该属性必须存在。hasattr(object, name)用于判断属性是否存在。

delattr(object, attr) 用于删除属性

hasattr(object, attr)用于判断一个对象是否有某一属性

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

isinstance() 用于判断一个对象是否是某一类型,类似type,但type不会认为子类是父类类型,isinstance会认为子类是父类类型

issubclass(B, A)用于判断B是否是A的子类,A、B都是类名

super() 用于调用父类的一个方法

staticmethod修饰符,声明静态方法,类不需要实例化就可以调用该方法。

classmethod修饰符,声明类方法,类方法的第一个参数是cls,和实例方法的self意义相同。如果有继承关系,子类方法调用类方法时,传递的类变量cls时子类,而非父类。

class A:

       @classmethod

        def cm(cls):

              print('类方法调用者:', cls.__name__)

        @staticmethod

        def sm():

              print('静态方法调用')

class B(A):

       pass

A.cm()

B.cm()

A.sm()

B.sm()

其它

open()用于打开一个文件,创建一个file对象

format()格式化函数

zip()将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回zip对象。如果各个迭代器的元素个数不一致,则zip对象包含的列表长度与最短的对象相同,利用*号操作符,可以将元组解压为zip对象。

a = [1, 2, 3]

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

zipped = zip(a, b)

zipList = []

for it in zipped:

     print(it)

     zipList.append(it)

print(zipList)

for it in zip(*zipList):

     print(it)

range(stop)

range(start, stop[,step])

返回可迭代对象,start默认为0,step默认为1。

上一篇 下一篇

猜你喜欢

热点阅读