返回顶部

day17__内置函数及读写

abs绝对值

print(abs(-1))  #1
print(abs(1))   #1

 

#空,None,0的布尔值为False,其余都为True
print(bool(''))  #False
print(bool(None)) #False
print(bool(0))  #False

  

name='你好'
print(name)  #你好
print(bytes(name,encoding='utf-8'))  #b'\xe4\xbd\xa0\xe5\xa5\xbd'
print(bytes(name,encoding='utf-8').decode('utf-8')) #你好
#
print(bytes(name,encoding='gbk'))   #b'\xc4\xe3\xba\xc3'
print(bytes(name,encoding='gbk').decode('gbk'))   #你好
#
print(bytes(name,encoding='ascii'))#ascii不能编码中文

 

print(chr(88)) #X

print(dir(dict))  #对象属性

print(divmod(10,3))  #(3, 1)

dic={'name':'alex'}
dic_str=str(dic)
print(dic_str)    # {'name': 'alex'}
print(type(dic_str))  #<class 'str'>

  

 

#可hash的数据类型即不可变数据类型,不可hash的数据类型即可变数据类型
print(hash('12sdfdsaf3123123sdfasdfasdfasdfasdfasdfasdfasdfasfasfdasdf')) #-8325783092389037935
print(hash('12sdfdsaf31231asdfasdfsadfsadfasdfasdf23'))  #-6478208158977356493
#
name='alex'
print(hash(name))  #-7553419422154337720
print(hash(name))  #-7553419422154337720
#
#
print('--->before',hash(name)) #--->before -7553419422154337720
name='sb'
print('=-=>after',hash(name))  #=-=>after 7890773354327040745


print(bin(10))#10进制->2进制  #0b1010
print(hex(12))#10进制->16进制  #0xc
print(oct(12))#10进制->8进制   #0o14

  

##min max
l=[1,3,100,-1,2]
print(max(l))  #100
print(min(l))  #1


print(list(zip(('a','n','c'),(1,2,3)))) #[('a', 1), ('n', 2), ('c', 3)]
print(list(zip(('a','n','c'),(1,2,3,4)))) #[('a', 1), ('n', 2), ('c', 3)]
print(list(zip(('a','n','c','d'),(1,2,3)))) #[('a', 1), ('n', 2), ('c', 3)]

p={'name':'alex','age':18,'gender':'none'}
print(list(zip(p.keys(),p.values())))  #[('name', 'alex'), ('age', 18), ('gender', 'none')]
print(list(p.keys()))    #['name', 'age', 'gender']
print(list(p.values()))  #['alex', 18, 'none'] 

print(list(zip(['a','b'],'12345')))  #[('a', '1'), ('b', '2')]

 

age_dic={'alex_age':18,'wupei_age':20,'zsc_age':100,'lhf_age':30}
print(max(age_dic.values()))

# #默认比较的是字典的key
print(max(age_dic))
#
for item in zip(age_dic.values(),age_dic.keys()): #[(18,'alex_age')  (20,'wupeiqi_age') () () ()]
    print(item)  #(18, 'alex_age')
                #(20, 'wupei_age')
                #(100, 'zsc_age')
                #(30, 'lhf_age')
#
print('=======>',list(max(zip(age_dic.values(),age_dic.keys()))))   #=======> [100, 'zsc_age']

l=[
    (5,'e'),
    (1,'b'),
    (3,'a'),
    (4,'d'),
]
# l1=['a10','b12','c10',100] #不同类型之间不能进行比较
l1=['a10','a2','a10'] 
print(list(max(l)))   #[5, 'e']
print('--->',list(max(l1))) #---> ['a', '2']

  

 

dic={'age1':18,'age2':10}
print(max(dic)) #  age2       比较的是key
print(max(dic.values())) #18         比较的是key,但是不知道是那个key对应的

print(max(zip(dic.values(),dic.keys())))  #(18, 'age1')     结合zip使用


people=[
    {'name':'alex','age':1000},
    {'name':'wupei','age':10000},
    {'name':'yuanhao','age':9000},
    {'name':'linhaifeng','age':18},
]
# max(people,key=lambda dic:dic['age'])
print(max(people,key=lambda dic:dic['age']))  #{'name': 'wupei', 'age': 10000}

  

 

print(pow(3,3))  #27      3**3
print(pow(3,3,2))  #1      3**3%2

  

l='hello'
s1=slice(3,5)
s2=slice(1,4,2)
print(l[3:5])  #lo
print(l[s1])   #lo

print(s2.start) #1
print(s2.stop)  #4
print(s2.step)  #2

  

l=[3,2,1,5,7]
l1=[3,2,'a',1,5,7]
print(sorted(l))
# print(sorted(l1)) #排序本质就是在比较大小,不同类型之间不可以比较大小
people=[
    {'name':'alex','age':1000},
    {'name':'wupei','age':10000},
    {'name':'yuanhao','age':9000},
    {'name':'linhaifeng','age':18},
]
print(sorted(people,key=lambda dic:dic['age']))
#[{'name': 'linhaifeng', 'age': 18}, {'name': 'alex', 'age': 1000}, {'name': 'yuanhao', 'age': 9000}, {'name': 'wupei', 'age': 10000}]


name_dic={
    'abyuanhao': 11900,
    'alex':1200,
    'wupei':300,
}
print(sorted(name_dic)) #['abyuanhao', 'alex', 'wupei']
#
print(sorted(name_dic,key=lambda key:name_dic[key]))  #['wupei', 'alex', 'abyuanhao']
#
print(sorted(zip(name_dic.values(),name_dic.keys())))  #[(300, 'wupei'), (1200, 'alex'), (11900, 'abyuanhao')]

  

def test():
    msg='撒旦法阿萨德防撒旦浪费艾丝凡阿斯蒂芬'
    print(locals())  #函数会以字典类型返回当前位置的全部局部变量。{'msg': '撒旦法阿萨德防撒旦浪费艾丝凡阿斯蒂芬'}
    print(vars())   #返回对象object的属性和属性值的字典对象。     {'msg': '撒旦法阿萨德防撒旦浪费艾丝凡阿斯蒂芬'}
test()
print(vars(int))

# import------>sys----->__import__()
# import test
# test.say_hi()

# import 'test'#报错
module_name='test'
m=__import__(module_name)
m.say_hi()

  

 文件的读操作

 

# r+,可读写文件【可读;可写;可追加】-----一般使用这个模式
# w+,可写读文件【可写;可读;可追加】-----基本用不到
# a+,追加读写文件

# rb,以二进制的模式读取文件,不可以传encoding参数
# wb,以二进制编码的模式写文件

 

#r w a
f=open('1.py','r',encoding='utf-8')  #读权限
data1=f.read()  #读全部

print(f.readable())  #True
print('第1行',f.readline(),end='')  #去除换行
print('第2行',f.readline())

data1=f.readlines()  #读取一行
print(data1)
f.close()

 

f=open('陈粒1','w',encoding='utf8')
# f.read()
f.write('11111111\n')
f.write('222222222\n')
f.write('333\n4444\n555\n')
# f.writable()
f.writelines(['555\n','6666\n'])
f.writelines(['555\n','6666\n',1]) # 文件内容只能是字符串,只能写字符串
f.close()

 

f=open('陈粒1','a',encoding='utf-8')
f.write('写到文件最后')

  

 

  

 

  

 

 

 

 

 

 

 

 

 

  

 

posted on 2018-05-15 10:53  augustyang  阅读(281)  评论(0编辑  收藏  举报

导航