内置函数

作用域相关 locals() globals()

#这两组开始容易搞混
print(locals()) #返回本地作用域中的所有名字
print(globals()) #返回全局作用域中的所有名字
# global 变量 这两个是用于声明的,是关键字,上面的两个是内置函数
# nonlocal 变量

迭代器生成器相关 next()iter() range()

##下面的两个做的是同样的事情,从迭代器中取值,且真正完成功能的是 .__next__()
# 迭代器.__next__() #这个是迭代器中的方法
# next(迭代器) #这个是内置函数 # 迭代器 = iter(可迭代的)
# 迭代器 = 可迭代的.__iter__() ##range() 的值是可以迭代的 但不是一个迭代器
range(10)
range(1,11)
range(1,11,2)
print('__next__' in dir(range(1,11,2)))
print('__next__' in dir(iter(range(1,11,2)))) #当它调用 iter() 转换后,就是一个迭代器了

帮助相关的 dir()  help()

dir 查看一个变量拥有的方法
print(dir([]))
print(dir(1)) # 查看方法名及用法
help
help(str)

变量 callable() 一般用于检测一个变量是否是函数

print(callable(print))    #True

a = 1
print(callable(a)) #False
print(callable(globals)) #True def func():pass
print(callable(func)) #True # 某个方法属于某个数据类型的变量,就用.调用
# 如果某个方法不依赖于任何数据类型,就直接调用 —— 内置函数 和 自定义函数 #import time #调用模块 使用 import 时,其实真正调用的 __import__()
t = __import__('time') #一般都不这么用
print(t.time())

文件相关的 open()

# f = open('E:/py/log/test.txt')  #打开一个文件
print(f.writable()) #可以使用 writable() 检测一下文件是否可以写
print(f.readable()) #可以使用 readable() 检测一下文件是否可以读

内存相关的  id()  hash()

#id(o) o 是参数,返回一个变量的内存地址
#hash() - 对于相同可 hash 数据的 hash 值在一次程序的执行过程中总是不变的
# - 字典的寻址方式(同过 hash 来寻址的) print(hash(12345)) #可 hash
print(hash('hsgda不想你走,nklgkds')) #可 hash
print(hash('hsgda不想你走,nklgkds')) #可 hash
print(hash(('','aaa'))) #可 hash
print(hash([])) #不可 hash

输入输出  input() print()

ret = input('提示 : ')
# print(ret) print('我们的祖国是花园',end='') #指定输出的结束符 默认是 \n
print('我们的祖国是花园',end='')
print(1,2,3,4,5,sep='|') #指定输出多个值之间的分隔符
f = open('file','w') #其实屏幕也是一个文件,只不过是看着输入的
print('aaaa',file=f) #默认是打印到文件中,file=f 打印的东西写到了文件中
f.close()

我们来看一个例子  ——  打印进度条

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) #flush 立即把内容输出到流文件,不作缓存
print('完成')
#progress Bar #专门由于打印进度条的

字符串类型代码的执行 eval() exec() compile()  [不常用]

#'print(123)' #这样不可以执行
#下面都可以执行
exec('print(123)')
eval('print(123)') print(eval('1+2+3+4')) # 有返回值
print(exec('1+2+3+4')) #没有返回值
# exec 和 eval 都可以执行 字符串类型的代码
# eval 有返回值 —— 有结果的简单计算
# exec 没有返回值 —— 简单的流程控制
# eval 只能用在你明确知道你要执行的代码是什么,因为有很大的安全隐患 #exec 举例说明 打印一个直角三角形
code = '''for i in range(10):
print(i*'*')
'''
exec(code)
#compile 编译(了解)
#exec 流程类的
code1 = 'for i in range(0,10): print (i)'
compile1 = compile(code1,'','exec') #compile 编译为 exec 的这种模式
exec(compile1) #eval 计算类的
code2 = '1 + 2 + 3 + 4'
compile2 = compile(code2,'','eval') #这个地方的 '' 空字符串是放文件的位置的
print(eval(compile2)) #如果不是从文件中读取内容,就放一个空字符串就可以了 #single 交互类的
code3 = 'name = input("please input your name:")'
compile3 = compile(code3,'','single')
exec(compile3) #执行时显示交互命令,提示输入
print(name) # name #执行后name变量有值
# "'pythoner'" 可用来排错

数据类型:bool int float complex
只有与数据类型强制转换的时候

我们来了解下 complex

# 复数 —— complex
# 实数 : 有理数
# 无理数
# 虚数 :虚无缥缈的数
# 5 + 12j === 复合的数 === 复数
# 6 + 15j # j 是 python 中虚数的单位 # 浮点数(有限循环小数,无限循环小数) != 小数 :有限循环小数,无限循环小数,无限不循环小数
# 所以浮点数不包括无限不循环小数
# 浮点数(是根据科学计数法来的)
#354.123 = 3.54123*10**2 = 35.4123 * 10 #在这个过程中小数点是浮动的所以叫做浮点数
f = 1.781326913750135970 #当小数很长是 会出现不准确的情况
print(f) #因为十进制的小数在转为二进制小数时会出现微弱的偏差(所有语言都这样)

进制转换(不用)
bin    二进制
oct    八进制
hex   十六进制

#其中 0b 0o 0x 为进制的标识符 后面的才是数
print(bin(10)) #0b1010
print(oct(10)) #0o12
print(hex(10)) #0xa

数字运算 abs divmod rount pow
 sum min max
abs 绝对值
divmod 除余 (有用:如分页)
rount 精确值(自动四舍五入)
pow 幂运算

print(abs(-5))
print(abs(5)) print(divmod(7,2)) # div除法 mod取余
print(divmod(9,5)) # 一般叫做 除余方法 print(round(3.14159,3)) print(pow(2,3)) #pow幂运算 == 2**3
print(pow(3,2))
print(pow(2,3,3)) #幂运算之后再取余
print(pow(3,2,1)) #sum 求和
#min 计算最小值
#max 计算最大值 #可以传两个值
ret = sum([1,2,3,4,5,6])
print(ret) ret = sum([1,2,3,4,5,6,],10)
print(ret) ret = sum([1,2,3,4,5,6,10],)
print(ret) print(min([1,2,3,4]))
print(min(1,2,3,4))
print(min(1,2,3,-4))
print(min(1,2,3,-4,key = abs)) #根据绝对值比较大小,key 可以加条件 以什么方法运算 print(max([1,2,3,4]))
print(max(1,2,3,4))
print(max(1,2,3,-4))
print(max(1,2,3,-4,key = abs))

简单分类:

##### zip filter map sorted   很重要的
### bool int float sum min max range input print hash open improt bytes len  重要的
## abs divmod round pow eval exec dir reversed str repr dict set frozenset enumerale zip filter map sorted 二级的
# 其他

最新文章

  1. 如何实现VoIP中大并发应用
  2. Oracle 11g密码过期问题解决方案
  3. git branch使用
  4. Jetty+json-lib库抛异常的问题解决过程(java.lang.NoClassDefFoundError: net/sf/json/JSONObject)
  5. Hand 3D Pose Estimation
  6. 获取select当前选择的值和文本
  7. MySQL错误Another MySQL daemon already running with the same unix socket
  8. 基于 Bootstrap 的扁平化 UI 开发包
  9. 模仿jquery的一些实现
  10. 024找到二维阵列(keep it up)
  11. cf 323A A. Black-and-White Cube 立体构造 不知道为什么当k为奇数时构造不出来 挺有趣的题目吧
  12. 经典面试题目——250M内存处理10G大小的log文件
  13. 「LibreOJ NOIP Round #1」旅游路线
  14. java图片缩放与裁剪
  15. RN截图并且下载问题
  16. Go实战--golang中使用JWT(JSON Web Token)
  17. 关于MVC的感悟
  18. PHP使用Redis实现消息队列
  19. 一个涉及到浮点寄存器的CM
  20. chrony 时间同步

热门文章

  1. 5000量子位支持量子编程,D-Wave推出下一代量子计算平台计划
  2. SQL语句检索数据排序及过滤
  3. 如何解决一个从SkylineGlobe5版本升级到7版本遇到的小问题
  4. 微信小程序中用户登录和登录态维护
  5. 7年,OpenStack从入门到放弃|送书
  6. 为什么Fourier分析?
  7. OracleSql语句学习(二)
  8. openstack搭建之-cinder配置(12)
  9. [转帖]内置系统账户:Local system/Network service/Local Service 区别
  10. Python——Set集合