一  反射相关

1 hasattr   根据字符串的形式 , 去判断对象中是否有成员

1 hasattr(object,name)2 判断对象object是否包含名为name的特性(hasattr是通过调用getattr(object,name))是否抛出异常来实现的。3 参数object:对象4 参数name:特性名称5 >>> hasattr(list, 'append')6 True7 >>> hasattr(list, 'add')8 False

2 getattr  根据字符串的形式,去对象中找成员.   第一个参数是(模块或对象或类),  第二个参数是(用户输入或值)getattr(object, name [, defalut])获取对象object名为name的特性,如果object不包含名为name的特性,将会抛出AttributeError异常;如果不包含名为name的特性且提供default参数,将返回default。

参数object:对象

参数name:对象的特性名

参数default:缺省返回值>>> classtest():

...  name="ming"...defrun(self):

...return "Hello World"...>>> t=test()>>> getattr(t, "name") #获取name属性,存在就打印出来。

'ming'

>>> getattr(t, "run") #获取run方法,存在就打印出方法的内存地址。

>

>>> ret = getattr(t, "run")() #获取run方法,后面加括号可以将这个方法运行。

>>> print(ret)'Hello World'

>>> getattr(t, "age") #获取一个不存在的属性。

Traceback (most recent call last):

File"", line 1, in AttributeError: test instance has no attribute'age'

>>> getattr(t, "age","18") #若属性不存在,返回一个默认值。

'18'

>>>

3 setattr   根据字符串的形式 , 动态的设置一个成员(在内存中)  (三个参数, 第一个参数是要设置的变量, 第三个变量是要设置的值)

给对象的属性赋值,若属性不存在,先创建再赋值>>> classtest():

... name="ming"...defrun(self):

...return "Hello World"...>>> t=test()>>> hasattr(t, "age") #判断属性是否存在

False>>> setattr(t, "age", "18") #为属相赋值,并没有返回值

>>> hasattr(t, "age") #属性存在了

True

4 delattr

综合使用

>>> classtest():

name="ming"

defrun(self):return "Hello World">>> t=test()>>> getattr(t, "age") #age属性不存在

Traceback (most recent call last):

File"", line 1, in AttributeError: test instance has no attribute'age'

>>> if getattr(t ,"age") is none: #当获取到这个age值为空时,需要给这个age重新赋值

setattr(t,"age","18")'True'

>>>getattr(t,"age")'18'

二 基础数据类型相关

1 bool

2 int

3 float

4 complex   复数

complex(5,6)

(5+6j)

5 bin  整型转换为二进制

6 oct  整型转换为八进制

7 hex  整型转换为十六进制

8 abs  求绝对值

9 divmod  (除,余数)

10 round     (值,小数后几位)

ret = round(4.563111347,3)print(ret)4.563

11 pow  幂运算

ret = pow(2,3)print(ret)8

12 sum

13 max

14 min

15 list

16 tuple

17 reversed

a = [0, 1, 2, 3, 4, 5, 6]

b=reversed(a)print(b)>>>

print(list(b))>>> [6, 5, 4, 3, 2, 1, 0]print(list(b))>>>[]

因此,reversed()返回的是一个迭代器对象,只能进行一次循环遍历并只能显示一次所包含的值!

18  slice   和切片有关

19 str

20 format     格式化输出

21 bytes

22 bytearry

x = bytearray(5)print(x)>>> bytearray(b'\x00\x00\x00\x00\x00')

23 memoryview

memory 内存,view 查看。那么memoryview()函数返回给定参数的内存查看对象。内存查看对象指对支持缓冲区协议的数据进行包装,

在不需要复制对象基础上允许Python代码访问。

s= memoryview(bytearray('abcdefgh','utf-8'))print(s[1])>>> 98

print(s[-1])>>> 104

print(s[1:4])>>>

24 ord  函数主要用来返回对应字符的ascii码

25 chr  主要用来表示ascii码对应的字符,输入可以是数字,可以是十进制,也可以是十六进制

26 ascill

27 repr

repr() 函数将对象转化为供解释器读取的形式且返回一个对象的string格式

s= 'RUNOOB'

print(repr(s))>>> 'RUNOOB'dict= {'runoob': 'runoob.com', 'google': 'google.com'}print(repr(dict))>>> {'runoob': 'runoob.com', 'google': 'google.com'}

28 dict

29 set

30 frozenset  不可变集合

31 len

32 sorted

a = [1,3,5,-2,-4,-6]

b= sorted(a,key=abs)

c=sorted(a)print(a)>>> [1, 3, 5, -2, -4, -6]print(b)>>> [1, -2, 3, -4, 5, -6]print(c)>>> [-6, -4, -2, 1, 3, 5]

33 enumerate

a = enumerate() 返回一个元祖 a[0]序列号,a[1]数据

34 all

接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False

tmp_1= ['python',123]

all(tmp_1)>>>True

tmp_2=[]

all(tmp_2)>>>True

tmp_3=[0]

all(tmp_3)>>> False

35 any

接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False

a = []

ret = any(a)

print(ret)

>>> False

b = [1]

ret1 = any(b)

print(ret1)

>>> True

36 zip

list1 = [1, 2, 3, 4]

list2 = ["a", "b", "c"]

s = zip(list1, list2)

print(list(s))

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

37 filter

filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list

def is_odd(x):

return x % 2 == 1

然后,利用filter()过滤掉偶数:

list(filter(is_odd, [1, 4, 6, 7, 9, 12, 17]))

38 map

map函数应用于每一个可迭代的项,返回的是一个结果list。如果有其他的可迭代参数传进来,map函数则会把每一个参数都以相应的处理函数进行迭代处理。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。

L = [1,2,3,4,]

def pow2(x):

return x*x

list(map(pow2,L))

>>> [1, 4, 9, 16]

三 作用域相关

1 locals   获取执行本方法所在命名空间内的局部变量的字典

2 globals  获取全局变量的字典

四 面向对象相关

1 type  元类,类的最高层

2 object

3 classmethod    类方法,用来修改类变量的

4 staticmethod    静态方法,用来处理一些和操作类无关的事

5 property    可以像调用一个变量一样调用一个方法

class Pager:

def __init__(self,page):

self.page = page

self.page_num = 12

@property

def start(self):

ret = (self.page - 1) * self.page_num

return ret

@property

def end(self):

ret = self.page * self.page_num

return ret

p = Pager(5)

# print(p.start())

# print(p.end())

print(p.start)

print(p.end)

6  vars

class My():

'Test'

def __init__(self,name):

self.name=name

def test(self):

print self.name

vars(My)#返回一个字典对象,他的功能其实和 My.__dict__ 很像

7 super  在多继承中,可以保证顶层父类只被调用一次 ,用 _ _mro_ _ 查看多继承规律时,遵循深度优先原则

8 issubclass

检查第一个参数是否是第二个参数的子子孙孙类

返回 : 是一个布尔值

class Base(object):

pass

class Foo(Base):

pass

class Bar(Foo):

pass

print(issubclass(Bar,Base)) # 检查第一个参数是否是第二个参数的子子孙孙类

9 isinstance

检查第一个参数(对象) 是否是第二个参数(类及父类)的实例.

返回值: 布尔型

class Base(object):

pass

class Foo(Base):

pass

obj = Foo()

print(isinstance(obj,Foo))

print(isinstance(obj,Base))

判断一个数据是什么数据类型

a = "python"

ret = isinstance(a,str)

print(a)

五 迭代/生成器相关

1 next

2 iter

3 range

range 是一个生成器,他只用来存储数据的生成方式,而不直接存储数据

# 列表解析

sum([i for i in range(100000000)])# 内存占用大,机器容易卡死

# 生成器表达式

sum(i for i in range(100000000))# 几乎不占内存

六 其他

字符串类型代码执行相关

1 eval

eval() 将字符串类型的代码执行并返回结果

print(eval('1+2+3+4'))

还可以用来操作文件,将文件里面的内容转化为字典,方便调用

2 exec

exec()将自字符串类型的代码执行

print(exec("aa = 11 + 22"))

>>> Noneprint("value is:", aa)

>>> 33

exec("print('hello,world')")

>>> hello,world

3 compile

参数说明:

1> 参数source:字符串或者AST(Abstract Syntax Trees)对象。即需要动态执行的代码段。

2>参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。当传入了source参数时,filename参数传入空字符即可。

3> 参数model:指定编译代码的种类,可以指定为 ‘exec’,’eval’,’single’。当source中包含流程语句时,model应指定为‘exec’;当source中只包含一个简单的求值表      达式,model应指定为‘eval’;当source中包含了交互式命令语句,model应指定为'single'。

输入/输出相关

4 input

5 print

def print(self, *args, sep=' ', end='\n', file=None): # known special case of print

"""

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

file: 默认是输出到屏幕,如果设置为文件句柄,输出到文件

sep: 打印多个值之间的分隔符,默认为空格

end: 每一次打印的结尾,默认为换行符

flush: 立即把内容输出到流文件,不作缓存

"""

file() 和文件有关的关键字

f = open('tmp_file','w')

print(123,456,sep=',',file = f,flush=True)

打印进度条

import time

for i in range(0,101,2):

time.sleep(0.1)

char_num = i//2 #打印多少个'*'

per_str = '\r%s%% : %s\n' % (i, '*' * char_num) if i == 100 else '\r%s%% : %s'%(i,'*'*char_num)

print(per_str,end='', flush=True)

#小越越 : \r 可以把光标移动到行首但不换行

内存相关

6 id

7 hash

文件操作相关

8 open

共有六种操作文件的方分别为: r、w、a、r+、w+、a+ ,每一种都可以用二进制文件来操作:rb、wb、ab、rb+、wb+、ab+,也可以指定编码格式

模块相关

9 __import__

帮助相关

10 help

调用相关

11 callable      检测一个对象能否被调用

查看内置属性和方法

12 dir

dir(list)

dir(a)

dir(123)

常用python内置函数_python常用内置函数相关推荐

  1. python中常见的内置函数_python常用内置函数

    内置函数(***) 1.print() 屏幕输出. ''' 源码分析 def print(self, *args, sep=' ', end='\n', file=None): # known spe ...

  2. python 常用内置函数_python常用内置函数使用|python基础教程|python入门|python教程...

    基础小函数.字符串函数.序列函数 序列.元组.列表小函数 max() 求最大值(列表.元组.序列) min() 求最小值 len() 求长度 >>> a = [1,2,3,4] &g ...

  3. python有哪些函数_python常用函数有哪些

    Python常用函数: 1. print()函数:打印字符串 2. raw_input()函数:从用户键盘捕获字符 3. len()函数:计算字符长度 4. format(12.3654,'6.2f' ...

  4. python获取系统时间函数_Python常用时间操作总结【取得当前时间、时间函数、应用等】...

    本文实例讲述了Python常用时间操作.分享给大家供大家参考,具体如下: 我们先导入必须用到的一个module >>> import time 设置一个时间的格式,下面会用到 > ...

  5. python中math模块函数_Python常用的一些内建函数和math模块函数

    一:Python内建函数 1 #abs取绝对值 2 num = -10 3 print(abs(num))4 5 #max 求最大值 6 print(max(6, 9, 2, 12, 8))7 8 # ...

  6. js去掉前后空格的函数_python常用函数有哪些

    Python常用函数: 1. print()函数:打印字符串 2. raw_input()函数:从用户键盘捕获字符 3. len()函数:计算字符长度 4. format(12.3654,'6.2f' ...

  7. python数据分析函数大全_Python常用数据分析函数集合

    1.Map函数 - 列表解析 ①.map()函数解析 (1).python源码信息 C:\Users\ArSang>python Python3.6.3rc1 (v3.6.3rc1:d8c174 ...

  8. python必背语法_python常用语法合集

    判断语句 (使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块) if condition_1: statement_block_1 elif condition_2: statement_b ...

  9. 什么是python函数_Python之什么是函数

    Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数 abs,它接收一个参数. 可以直接从Python的官方网站查看文档: http:// ...

  10. python中math函数_Python math模块 数学函数教程

    在Python基础教程中,大家都已经了解了Python有很多运算符可以进行一些数学运算,但是要处理复杂的问题是不是所有代码都要自己一行一行的来编写呢? 玩蛇网提醒大家,这个时候,最先想到的就应该是py ...

最新文章

  1. mysql数据库核对_Mysql数据库操作总结
  2. (传送门)linux命令总结dd命令详解
  3. Bootstrap -- 插件: 按钮状态、折叠样式、轮播样式
  4. MobX 上手指南,写 Vue 的感觉?
  5. Lost Array(CF-1043B)
  6. 16、React系列之 React 路由
  7. Urllib库的基本使用
  8. TFTPClient
  9. matlab年平均,MATLAB平均每5个元素
  10. Micrometer中文文档
  11. ffmpeg sdk 的一些资料博客地址
  12. 算法-舍弃不吉利数字
  13. ES文件浏览器(清理垃圾神器, 强大网盘管理功能, 强大文件分析能力)
  14. 数理统计——AQI预测
  15. ios小米手环6最新固件获取auth_key更换第三方表盘
  16. Java面试——多线程高并发
  17. 【Linux】通过Mac终端连接虚拟机(ssh root@192.168.31.230)
  18. 掌控板教程 | 搞定 Siri 语音控制,只要半小时!
  19. 【手绘漫画】图解LeetCode之寻找重复数(LeetCode287题),抽屉原理
  20. jenkins接入企业微信提醒

热门文章

  1. linux怎么把mysql数据库备份还原,MySQL数据库备份和还原
  2. tensorflow之XORerr1例题
  3. java8 meta区_JVM-Java8的MetaSpace
  4. zookeeper学习之环境搭建
  5. lnmp + swoole 安装
  6. 类库、通用变量、is和as、委托
  7. 在visual studio2015中使用easyX画图
  8. Spring注解的使用和区别:@Component、@Service、@Repository、@Controller
  9. Bailian2693 最远距离【序列处理】
  10. Bailian2738 实数加法【数学】