内置函数中(生成器迭代器,作用域,其他)

# 内置函数:python自带
# 与作用域相关的有(2) globals() 面向全局的(无需传参)
# locals() 面向本地 根据所在外置不同打印的内容页不同 (无需传参)

# 生成器有关的(3) 分别是 range iter iterator
# range(100)#(一个参数)
# range(5,100)(两个参数)
# range(1,100,2)(三个参数)
# 可迭代对象,可以for 循环
# range(100).__iter__()
# iter(range(100)) #效果与上面的是一样的,把range 搞成迭代器
# iterator=iter(range(100))#拿到一个迭代器
# print(iterator.__next__())
# print(next(iterator))#与上面一行的效果一样,较为常用
# for i in range(100):
# print(i)

# 查看内置函数类型的(1)dir
# print(dir()) 括号里添加被查看的类型

# 调用相关的(1) callable 可以调用
# print(callable(a)) a可以是函数

# 帮助的内置函数(1)help# idle 进入py界面,退出输入quit.
# 在help里面看函数如何使用不用加括号,因为不调用
# 查看类型的三种类型:
# 第一种:ctrl+左键单击:只能在pycharm中执行:
# 第二种:dir 只包括方法名----想查看某方法在这个数据类型中
# 第三种: help 包括方法名及其他的使用

# 模块相关的(1)import
import time #时间
import os #操作系统

# 文件操作的 (1) open
# f=open()
# 打开模式 r,w,a(打开时光标在末尾),rb,wb,ab
# 编码 utf-8,gbk

# 内存相关的(2) id hash(一种算法中文名哈希) 可哈希的是不可变的
# print(id(1))
# print(hash("aaaddd"))在一个程序执行的过程中, 一次运行中拿到的值不变,
# 但是多次运行会变
# 数据的存储和查找

# 模块相关(2) hashlib input
# {"k":"v"} 字典的好处 查找速度非常快(利用"k"一次找到)
# 判断一个类型可不可以哈希 hash()

# 输入输出(2)input() print()
# s=input("提示") #接收的内容全是字符串
# print(s)
# print(1,2,3,4,5,sep="*")sep 是指定多个要打印的内容之间的分隔符
# print(1,2,sep=",")# print('%s,%s'%(1,2)) 这两个执行结果一样
# f=open("a","w")
# print(1,end='\n',file=f) #执行后打印出abc到了"a"中,2还在控制台显示
# print(2) print()也是往文件写内容

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在这里类似于指针 (将光标放在最前面)
# 字体颜色 看视频第三片段0-6

# 字符串类型代码的执行(3) exec eval compeile
# exec("print('12345')") #都可以以python代码形式执行一个字符串
# eval("print('12345')") #exec 没有返回值 eval 有返回值
# print(exec('1+2+3-4'))# exec用于流程性代码的执行
# print(eval('1+2+3-4'))# eval用于值计算的时候
# compile()
# code1='for i in range(0,10):print(i)'#流程语句使用
# compile1=compile(code1,'','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')
# # name# 执行前name变量不存在
# 这三个函数使用一定要慎重

# 和数字相关的数据类型
# bool int float complex(复数)在数据类型强行转换的时候使用 (较为常用重点)

# 进制的转换
# bin(二进制) oct(八进制) hex(十六进制)


# 以下是和数字相关的最重要的内置函数(四个黄色,三个红色)
# abs() #绝对值

# divmod() #接收两个参数

# round() #传两个参数 保留几位小数用的
# print(round(3.1415926,2))#结果是3.14
# print(round(3.14863,2))#结果是3.15 四舍五入的取
# print(round(3.1415926,3)) #结果是3.142

# pow 里面可以是三个参数也可以是两个参数
# print(pow(3,2))# 表示求 3的二次方 结果是9
# print(pow(2,3,2))# 表示3的二次方取余2 结果为0

# sum() #参数是可迭代的
# print(sum([1,2,3,4,5,6]))
# print(sum(range(100)))
# print(sum([1,2,3,4,5,6],5))#在列表和21的基础上再加上一个5结果是26

# min#最小值
# print(min([1,4,0,9,6]))
# print(min([],default=0))#如果只传入[]则会报错,自己设置一个默认返回值可避免
# dic={"z":1,"a":2} #求字典中值最小
# # print(min(dic,key=lambda k:dic[k]))
# call=lambda k:dic[k]
# print(call("z"))
# l=[1,3,5,-9,4,7]
# print(min(l,key=abs))#key= 后面一定是个函数

# max#最大值 用法与min相同(后面加一个可迭代的对象,还可以在迭代对象后加函数,设置返回值)
# print(max([1,4,0,9,6]))#一般求最大值的演示
# dic={"z":1,"a":2} #求字典中值最大
# print(max(dic,key=lambda k:dic[k] ))
# print(max((),default=0))#如果遇到了本身是空的元祖字典之类,可以自己设定返回值
posted @ 2017-11-12 14:49  警察学院  阅读(93)  评论(0)    收藏  举报