#(1)作用域
print(globals()) #全局作用域,显示出全局所有函数和变量名
print(locals()) #本地作用域,显示出当前所处作用域的函数和变量名

#(2)输入与输出
a = input('请输入内容:') #input用户交互命令,所返回的值是字符串类型
print(a,type(a))

'''
print(self, *args, sep=' ', end='\n', file=None)
'''
print('123','456','789','987','654',sep='**') #sep参数用于分割print中的每个字符,分隔符自定义

print('123',end='') #end参数设置每次打印的结尾动作,默认是换行符,如果设置是''最终效果会在一行打印123456
print('456')

with open('test.txt','w',encoding='utf-8') as f:
print('123456789',file=f) #file参数可以将需打印的内容保存到文件中,并且不再通过屏幕打印输出内容

#(3)内存相关
t = (1,2,3)
l = [1,2,3]
i = 123
print(hash(t)) #hash函数调用后,返回一个变量的hash值,hash只能用于不可变得数据类型,如用于可变数据类型则会报错
print(hash(l))
print(hash(i))

#(4)文件操作
with open('test.txt','r',encoding='utf-8') as f: #open打开一个文件,操作方式分为'r,rb,r+,w,wb,w+,a,ab,a+',返回一个文件句柄
print(f.readlines())

#(5)查看参数所属类型的所有内置方法
print(dir(list)) #查看list的内置方法,返回的是一个列表

#(6)数据类型

bool int float 用于类型的强制转换

#(7)abs求绝对值
a = -3
print(abs(a)) #返回变量a的绝对值

#(8)divmod分别取商和取余
a = 15
b = 2
print(divmod(a,b)) #返回一个元组,第一个元素是商,第二个元素是余

#(9)max返回集合中的最大值
a = [1,2,-3,-4]
print(max(a))

#(10)min返回集合中的最小值
a = [1,2,-3,-4]
print(min(a))

#(11)sum对集合求和
a = [1,2,-3,-4]
print(sum(a))

#(12)round四舍五入
a = 1.5556
print(round(a))

#(13)pow返回x的y次幂
x = 5
y = 2
print(pow(x,y))

#(14)列表和元组

list 和 tuple 用于类型的强制转换

lis = [1,2,3,4]
print(tuple(lis))

#(15)str转换为string类型
a = 123
print(str(a),type(str(a)))

#(16)bytes将字符串转换成bytes字节
a = '天下'
print(bytes(a,encoding='gbk'))
print(bytes(a,encoding='utf-8'))

#(17)repr将一个对象转换为可打印格式
a = 'qwe'
repr(a) #repr输出的内容都会带上''引号,但在pycharm上不能输出

print(a)

#(18)reversed反转,逆序对象
s = [1,-2,2,4,5]
s1 = reversed(s) #返回一个逆序的iterator对象

for i in s1: #for循环取出元素
print(i)
print(s)

#(19)数据集合

dict,set(),frozenset(不可修改的集合)

#(20)len返回集合长度
print(len('123asd'))

#(21)enumerate
#返回一个可枚举的对象,该对象的next()方法将返回一个tuple
lis = ['a','b','c']
for k,v in enumerate(lis):
print(k,v)

#(22)zip将对象逐一匹配
a = [1,2,3]
b = ['a','b','c']
z = zip(a,b)
for i in z:
print(i)

#(23)filter
#过滤器,构造一个序列,等价于[ item for item in iterables if function(item)],在函数中设定过滤条件,逐一循环迭代器中的

元素,将返回值为True时的元素留下,形成一个filter类型数据

def compace(x):
return x > 5
result = filter(compace,[1,2,3,4,5,6,7,8,9,10,11])
for i in result:
print(i)

#(24)map会根据提供的函数对指定序列做映射
li = [1,2,3,4,5,6]
result = map(lambda x: x * 2,li)
for i in result:
print(i)

#(25)sorted对集合排序
li = [-1,2,3,8,4,6]
li2 = [9.5.4]
print(sorted(li))