Bootstrap

python知识点汇总大一函数_Python知识点-内置函数

1.staticmethod 静态方法

classFoo:def __init__(self):pass

def sa(x):#此处参数无self,就是个普通方法

print(x)

spam=staticmethod(spam) #把spam函数做成静态方法

Foo.sa()#类可以直接调用

f=Foo()#也可以实例化调用

f.sa()#等同于在普通函数上加装饰器

classFoo:def __init__(self):pass@staticmethod#静态方法

defsa(x):print(’装饰器形式‘)

2.__import__ 动态模块导入

__import__('xx.xx')#以字符串形式import模块。#推荐导入方式下面这种

importimportlib

xxx=importlib.import_module('xx.xx')

3.all() 判断给定的所有迭代对象为True时返回True

4.enumerate(seq,index)遍历对象加索引,模式是0开始,可以设定index值1,从1开始

5.int(x,base=10) base 默认是10 也就是说10进制

#base传入值时x必须为字符串形式,base为当前字符串的进制,都是转换为10进制

print(int('0x12',16)) #16进制的0X12 转换为10进制

print(int('10',8)) #8进制的10 转换为10进制

print(int('110',2))#2进制110 转换10进制

6.ord(c) 返回对应的 ASCII 数值

ord('a') #a 所对应的ASCII码97

7.chr(c)用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。

#c可以是10进制或者16进制形式

>>>print chr(0x30), chr(0x31), chr(0x61) #十六进制

0 1a>>> print chr(48), chr(49), chr(97) #十进制

0 1 a

8.hex() 函数用于将10进制整数转换成16进制,以字符串形式表示。

>>>hex(255)'0xff'

>>> hex(-42)'-0x2a'

>>> hex(1L)'0x1L'

>>> hex(12)'0xc'

>>> type(hex(12)) #字符串

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

>>>oct(10)'012'

>>> oct(20)'024'

>>> oct(15)'017'

10bin()返回一个整数 int 或者长整数 long int 的二进制表示。

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

>>>x = 7

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

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

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

>>> n=81

>>> eval("n + 4")85

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

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

Python 3 可以使用直接使用super().meth(x) 代替 super(Class, self).meth(x)

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

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

z = 1

print(locals())

bar(4)

{'z': 1, 'arg': 4} #返回一个名字/值对的字典

15.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

16.property

classC(object):def __init__(self):

self._x=Nonedefgetx(self):returnself._xdefsetx(self, value):

self._x=valuedefdelx(self):delself._x

x= property(getx, setx, delx, "I'm the 'x' property.")

c=C()print(c.setx(10),c.getx(),c.delx())

#等同于使用@property

class C(object):

def __init__(self):

self._x = None

@property

def x(self):

return self._x

@x.setter

def x(self,value):

self._x = value

@x.deleter

def x(self):

del self._x

c=C()

c.x=100

print(c.x)

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

sort 与 sorted 区别:

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

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

18.cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。

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

map(function, iterable,)def square(x) : #计算平方数

return x ** 2

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

[1, 4, 9, 16, 25]>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) #使用 lambda 匿名函数

[1, 4, 9, 16, 25]#提供了两个列表,对相同位置的列表数据进行相加

>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])

[3, 7, 11, 15, 19]

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

zip([迭代对象1],[迭代对象2],...) #可以有对个参数

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 相反,*zipped 可理解为解压,返回二维矩阵式

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

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

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

2314058222102390712

>>> hash(1) #数字

1

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

1335416675971793195

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

7666464346782421378

;