内置函数

1 作用域相关

locals()   返回当前作用域中的名字

globals() 返回全局作用域中的名字

 

2 迭代器相关

range() 生成数据

next() 迭代器向下执行一次.内部实际使用了__next__()方法返回迭代器的下一个项目

iter() 获取迭代器,内部实际使用的是__iter__()方法来获取迭代器

lst=["白蛇传","还珠格格","庄子"]
it=lst._iter_()
print(it.__next__())
print(it.__next__())
print(it.__next__())
print(dir(str))



it =iter(lst) 内部封装的就是__iter__()
print(it.__next__())
print(next(it))   内部封装的是__next__()

 

3 子敷疮类型代码的执行

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

s="5*6"
ret=eval(s)   动态执行一个代码片段,侧重点在返回上
pritn(ret)
a="{'name':"汪峰",'age':'48','wife':{'name':"国际章",'age':'38'}"
d =eval(a) 还原回字典 列表
print(d['name'])

 

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

s="a=10"
exec(s)
print(a)   pycharm里的报错信息,不一定是对的
content = input("请输入你的代码:")
exec(content)
pritn(a)

 eval 和 exec的区别:
 eval执行代码的时候有返回值

而exec执行代码 但是没有返回值

 

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

s="for i in range(10):
print(i)
c=complie(s,"","exec")  没有返回值 使用exec的执行模式
exec(c)
结果:0
1
2
3
4
5
6
7
8
9
s="5+9"
c=compile(s,","eval")   compile(代码块,文件名,执行模式)   
括号中有代码块和文件名选其一填,
执行模式要是有返回值用eval,没有返回值用exec模式
ret=eval(c)  有返回值 选eval print(ret)
结果:14

 

s="content=input("请输入你的名字:")
c=complie(s,"","single") 编译      没有singel() 
exec(c) 执行    没有返回值 使用exec模式
print(content)

 

4 输入和输出相关

input() 获取用户输入的内容

print() 打印输出

 

5 内存相关

hash() 获取到对象的哈希值

lst=(1,2,3,4,5,6)
print(id(lst))   查看内存地址

print(hash(lst))  目的是为了存储,计算之后是一个数字
hash值尽量的不要重复(在某种特定环境下hash可能会重复)

 

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

 

6 文件操作相关

open() 用于打开一个文件 创建一个文件句柄

 

7 模块相关

__import__() 用于动态加载类和函数

import os   引入模式 (引入os 模块)

 

8 帮助

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

print(help(str)) 帮助文档

 

9 调用相关

callable() 用于检查一下对象是否可调用 如果返回true, object可能调用失败,但是如果返回false 那调用绝对不会成功

如:
a=10
print(callable(a))  判断a 是否能被调用执行  返回False

a 不能被调用
def a():
    pass
a()       a 是函数 能被调用

print(callable(a))  返回True

 

10 查看内置属性

dir() 查看对象的内置属性 方法,访问的是对象中的__dir__()方法

1 print(dir(str))  所有方法的名字
View Code


 

11 基础数据类型相关

数字相关:

bool() 将给定的数据转换成bool值 如果不给值 返回false

int() 将给定的数据转换成int值 如果不给值 返回0

float() 将给定的数据类型换成float值 也就是小数

complex() 创建一个复数, 第一个参数为实部,第二个参数为虚部 或者第一个参数直接用字符串来描述复数

12 进制转换

bin() 将给定的数据转换成二进制

print(bin(3))   5的二进制 0b二进制

 

oct()将给的参数转换成八进制

hex()将给的参数转换成十六进制

 

13 数学运算

abs() 返回绝对值

print(abs(32)) 绝对值 |绝对值| 

 

divmode() 返回商和余数

print(divmod(10,3)) 计算商和余数

 

round()四舍五入

print(round(4.51)) 四舍五入

 

pow(a,b) 求a的b次幂 如果有三个参数 则求完次幂后对第三个数取余

print(pow(2,4,3)) 求次幂 第三个参数 ,计算余数

 

sum()求和

print(sum([1,2,3,4,5],3)

结果:18

 

min() 求最小值

print(min[5,12,45,6,7,34]))

结果: 5

 

max()求最大值

print(max[5,12,45,6,7,34])

结果:45

 

14 和数据结构相关:

列表和元组:

list() 将一个可迭代对象转换成列表

tuple() 将一个可迭代对象转换成元组

reversed()将一个序列翻转 返回翻转序列的迭代器

lst=["马化腾","哈哈哈","看看看","淡淡的"]
ll =reversed(lst)   翻转 返回迭代器
print(list(ll))

 

slice() 将列表切片

 1 lst=["马化腾","马原","马大帅","马超"]
 2 s=slice(1,3,2)
 3 print(lst[s])
 4 
 5 
 6 print(lst[1:3:2])
 7 
 8 
 9 结果:
10 两者得到的都是 "马云"
View Code

 

15 与字符串相关

str() 将数据转换成字符串

format()与具体数据相关 用于计算各种小数

 1 print(format(s,"^20")) # 居中
 2 # print(format(s,">20")) # 右对齐
 3 # print(format(s,"<20")) # 左对齐
 4 
 5 
 6 # print(format(3, 'b'))   # 二进制 11
 7 # print(format(97, 'c' ))   # 转换成unicode字符
 8 # print(format(11, 'd' ))   # 十进制
 9 # print(format(11, 'o' ))   # ⼋进制
10 # print(format(11, 'x' ))   # ⼗六进制(⼩写字⺟)
11 # print(format(11, 'X' ))   # ⼗六进制(⼤写字⺟)
12 # print(format(11, 'n' ))   # 和d⼀样
13 # print(format(11))   # 和d⼀样
14 
15 # 浮点数
16 #print(format (123456789, 'e' ))   # 科学计数法. 默认保留6位⼩数
17 # print(format (123456789, '0.2e' ))   # 科学计数法. 保留2位⼩数(⼩写)
18 # print(format (123456789, '0.2E' ))   # 科学计数法. 保留2位⼩数(⼤写)
19 # print(format (1.23456789, 'f' ))   # ⼩数点计数法. 保留6位⼩数
20 # print(format (1.23456789, '0.2f' ))   # ⼩数点计数法. 保留2位⼩数
21 # print(format (1.23456789, '0.10f'))   # ⼩数点计数法. 保留10位⼩数
22 # print(format (1.23456789e+10000, 'F' ))   # ⼩数点计数法. INF 无穷大
23 ,
View Code

 

bytes() 把字符串转化成bytes()类型\

bytearray()返回一个新字节数组,这个数字里的元素是可变的,并且每个元素的值的范围是(0,256)

memoryview() 查看bytes在内存中的情况

 

ord() 输入字符找字符编码的位置

print(ord('a'))  查看字母a的编码位置  97

 

chr() 输入位置数字找出对应的字符:   用法跟ord相反

ascii() 是ascii码中的返回该值 不是就返回\n

repr()

 

16 数据集合

dict{} 创建一个字典

set() 创建一个集合

frozenset() 创建一个冻结的集合 冻结的集合不能进行添加和删除操作

 

len() 返回一个对象中元素的对象

sorted() 对可迭代对象进行排序操作

enumerate() 获取集合的枚举对象

all() 可迭代对象中全部为true 则为true

any() 可迭代对象中有一个是true 结果就是true

zip() 函数用于将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的开了表,如果各个可迭代器的元素个数不一致,则返回列表长度与最短的对象相同

filter()

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

 

posted @ 2018-08-14 21:29  茉莉花M  阅读(164)  评论(0编辑  收藏  举报