python内置函数

python内置函数

  内置函数  
abs()dict()help()min()setattr()
all()dir()hex()next()slice()
any()divmod()id()object()sorted()
ascii()enumerate()input()oct()staticmethod()
bin()eval()int()open()str()
bool()exec()isinstance()ord()sum()
bytearray()filter()issubclass()pow()super()
bytes()float()iter()print()tuple()
callable()format()len()property()type()
chr()frozenset()list()range()vars()
classmethod()getattr()locals()repr()zip()
compile()globals()map()reversed()__import__()
complex()hasattr()max()round() 
delattr()hash()memoryview()set() 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1、作用域相关

globals()     获取全局变量的字典

locals()       获取当前方法内部的局部变量的字典

2、迭代器生成器

 

3、基础数据类型相关

1、和数字相关

数据类型相关:bool,int,float,complex(复数)

进制转换相关:bin(2),oct(8),hex(16)

数学运算:abs(绝对值),divmod(返回除数和余数),min,max,sum,round(浮点数精确),pow(幂运算)

2、和数据结构相关

序列——列表和元组相关的:list和tuple   列表值可变,元组的不可变

序列——字符串相关的:str(将对象转化为适于人阅读的形式),format,bytes(b = bytes('string',encoding='编码类型') #利用内置bytes方法,将字符串转换为指定编码的bytes),bytearry,memoryview,ord(将字符按照Unicode转数字),chr(将数字按照Unicode转字符),ascii,repr(将对象转化为供解释器读取的形式。)

序列:reversed(对列表的元素进行反向排序,保留原列表,生成一个迭代器)————reversed 直接修改原列表

   slice 对元素进行切片

3  、数据集合

字典和集合:dict,set(集合),frozenset(返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。)字典和集合都是无序的

数据集合:

len(返回对象(字符、列表、元组等)长度或项目个数),

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

 1 #!./user/bin/env python
 2 # .__author__:" cc"
 3 #.Date:2019/1/22/0022
 4 #.File:sorted
 5 
 6 l = [1,-2,3,-4,5]
 7 l.sort()
 8 print(l)
 9 l.sort(key=abs)
10 #以绝对值排序
11 print(l)
12 #sort在原列表基础上修改
13 #sorted生成新列表,不修改原列表
14 print(sorted(l))
sorted

 

enumerate(将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中),

all(判断是否有bool值为FALSE的值),

any(判断是否有bool值为TRUE的值),

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

 1 l = [1,2,3,4,5]
 2 l2 = ['a','b','c','d']
 3 l3 = ('0','00',[1,2])
 4 d = {'k1':1,'k2':2}
 5 for i in zip(l,l2,l3,d):
 6     print(i)
 7 #将元素组合起来,多余的元素不显示,字典只能取到key
 8 #结果
 9 # (1, 'a', '0', 'k1')
10 # (2, 'b', '00', 'k2')
zip

 

filter(用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象),

map(根据提供的函数对指定序列做映射。 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表)

 1 #!./user/bin/env python
 2 # .__author__:" cc"
 3 #.Date:2019/1/22/0022
 4 #.File:filter__map
 5 
 6 # def is_old(x):
 7 #     return x % 2 == 1
 8 # #返回TRUE,FALSE
 9 #
10 # ret = filter(is_old,[1,2,3,4,5,6,7,8,87,56])
11 # # 根据函数过滤可迭代对象,返回迭代器,返回奇数
12 # for i in ret:
13 #     print(i)
14 
15 # from math import sqrt
16 # def is_int(x):
17 #     return sqrt(x) % 1 == 0
18 #
19 # ret = filter(is_int,range(1,99))
20 # for i in ret:
21 #     print(i)
22 
23 ret = map(abs,[1,-2,3,-4])
24 for i in ret:
25     print(i)
26 
27 #filter 返回结果<=原序列,不改变值
28 #map 返回结果元素个数不会改变,值可能改变
filter—map

 

l1 = [1,3,5,-2,-4,-6]
l2 = sorted(l1,key=abs)
print(l1)
print(l2)
#按照绝对值排序
l = [[1,2],[3,4,5,6],(7,),'123']
print(sorted(l,key=len))
#按照长度
sorted

4、反射

 pass

5、面对对象

 pass

6、其他

1、输入输出

input

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: 立即把内容输出到流文件,不作缓存
    """
print

 

f = open('a','w')
print(1,2,3,4,sep=',',file = f,flush=True)
f.colse()
#将1,2,3,4写入到文件a中
写入文件
>>> a = 1
>>> b = 'runoob'
>>> print(a,b)
1 runoob
 
>>> print("aaa""bbb")
aaabbb
>>> print("aaa","bbb")
aaa bbb
>>> 
 
>>> print("www","runoob","com",sep=".")  # 设置间隔符
www.runoob.com
demo

2、数据类型相关

type 查看当前数据的数据类型

3、内存相关

id  返回一个变量的内存地址

hash   返回一个可hash变量的哈希值,不可hash的变量被hash之后会报错

hash() 函数的对象字符不管有多长,返回的 hash 值都是固定长度的,也用于校验程序在传输过程中是否被第三方(木马)修改,如果程序(字符)在传输过程中被修改hash值即发生变化,如果没有被修改,则 hash 值和原始的 hash 值吻合,只要验证 hash 值是否匹配即可验证程序是否带木马(病毒)。

4、文件操作相关

open()  打开一个文件,返回一个文件操作符(文件句柄)

操作文件的模式有r,w,a,r+,w+,a+ 共6种,每一种方式都可以用二进制的形式操作(rb,wb,ab,rb+,wb+,ab+)

r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

 

可以用encoding指定编码.

5、模块相关

一般用import

6、帮助方法

在控制台执行help()进入帮助模式。可以随意输入变量或者变量的类型。输入q退出

或者直接执行help(o),o是参数,查看和变量o有关的操作

7、调用相关

callable(o),o是参数,看这个变量是不是可调用。

如果o是一个函数名,就会返回True

1 def func():pass
2 print(callable(func))  #参数是函数名,可调用,返回True
3 print(callable(123))   #参数是数字,不可调用,返回False
callable

 

8、查看内置属性

dir() 默认查看全局空间内的属性,也接受一个参数,查看这个参数内的方法或变量

print(dir(list))  #查看列表的内置方法
print(dir(int))  #查看整数的内置方法
dir

 

9、字符串类型代码执行

eval

执行字符串代码并返回结果

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

 

去掉字符串的引号

eval() 函数也可以直接用来提取用户输入的多个值。

a,b=eval(input())

 

 输入3,4 得到a=3,b=4

 exec

执行字符串,不返回结果

code = '''
print(123)
a = 20
print(a)
'''
a = 10
exec(code)
print(a)

 

 compile  将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。

 

>>> #流程语句使用exec
>>> code1 = 'for i in range(0,10): print (i)'
>>> compile1 = compile(code1,'','exec')
>>> exec (compile1)
3
7


>>> #简单求值表达式用eval
>>> code2 = '1 + 2 + 3 + 4'
>>> compile2 = compile(code2,'','eval')
>>> eval(compile2)


>>> #交互语句用single
>>> code3 = 'name = input("please input your name:")'
>>> compile3 = compile(code3,'','single')
>>> name #执行前name变量不存在
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    name
NameError: name 'name' is not defined
>>> exec(compile3) #执行时显示交互命令,提示输入
please input your name:'pythoner'
>>> name #执行后name变量有值
"'pythoner'"

 

参考文档:

  https://docs.python.org/3/library/functions.html#object

转载于:https://www.cnblogs.com/ccqc/p/10229134.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值