python的内置函数

# print()
# input()
# len()
# type()
# open()
# tuple()
# list()
# int()
# bool()
# set()
# dir()
# id()
# str()


# print(locals())  #返回本地作用域中的所有名字
# print(globals()) #返回全局作用域中的所有名字
# global 变量
# nonlocal 变量

#迭代器.__next__()
# next(迭代器)
# 迭代器 = iter(可迭代的)
# 迭代器 = 可迭代的.__iter__()

# range(10)
# range(1,11)
# print('__next__' in dir(range(1,11,2)))

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

# 变量callable检测是不是一个函数
print(callable(print))
a = 1
print(callable(a))  #False
print(callable(globals))    #True
def func():pass
print(callable(func))   #True

f = open('文件.py')
print(f.writable())  #判断可不可写False
print(f.readable()) #判断可不可以读True

#hash - 对于相同可hash数据的hash值在一次程序的执行过程中总是不变的  #列表字典集合不可hash
print(hash(123456))     #123456
print(hash("lghjkopmn"))   #8688261886816884649
print(hash(("aa","bb")))    #-2995720226401146882

print('我们的祖国是花园',end='')  #指定输出的结束符不换行
print('我们的祖国是花园',end='')
print(1,2,3,4,5,sep='|') #指定输出多个值之间的分隔符
#我们的祖国是花园我们的祖国是花园1|2|3|4|5

# 打印到指定文件,不在解释器显示
# 创建一个file文件,并把aaaa写入
f = open('file','w')
print('aaaa',file=f)
f.close()

print(bin(10))  #二进制    0b1010
print(oct(10))  #八进制    0o12
print(hex(10))  #16进制   0xa

print(abs(-5)) #绝对值
print(abs(5))

print(divmod(7,2))   # div出发 mod取余
print(divmod(9,5))   # 除余

#reversed  反转

L1=[11,22,33,44]
L1.reverse()
print(L1)   #[44, 33, 22, 11]

l = [1,2,3,4,5]
l2 = reversed(l)
print(l2)   #<list_reverseiterator object at 0x000002778C05B390>
# 保留原列表,返回一个反向的迭代器


#bytes 转换成bytes类型
# 我拿到的是gbk编码的,我想转成utf-8编码
print(bytes('你好',encoding='GBK'))   # unicode转换成GBK的bytes b'\xc4\xe3\xba\xc3'
print(bytes('你好',encoding='utf-8')) # unicode转换成utf-8的bytes   b'\xe4\xbd\xa0\xe5\xa5\xbd'

# k=1000
# while k>1:
#     print(k)
#     k=k/2
#
# L=range(100)
# print(list(L[:3]))
# print(L[98])
# print(L[-2])
# print(list(L[-10::]))
# print(list(L[90:]))
# L1=list(L[:])
# print(L1)
#
# d={"aa":11,"bb":22,'cc':33}
# for k in d:
#     print(k)
#     print(d[k])

 

# len函数

str="asdfghh"
print(len(str))
list1=[11,22,33]
print(len(list1))

# enumerate多用于在for循环中得到计数,利用它可以同时获得索引和值,
# 即需要index和value值的时候可以使用enumerate

list1=[11,22,33,44,55,66]
for index,value in enumerate(list1):    #从0开始
    print(index,value)
# 0 11
# 1 22
# 2 33
# 3 44
# 4 55
# 5 66

for index,value in enumerate(list1,1):  #从1开始
    print(index,value)
#zip拉链方法,拉倒一起

l = [1,2,3,4,5]
l2 = ['a','b','c','d']
l3 = ('*','**',[1,2])
d = {'k1':1,'k2':2}

for i in zip(l,l2):
    print(i)
    #(1, 'a')
    # (2, 'b')
    # (3, 'c')
    # (4, 'd')
for i in zip(l,l2,l3,d):
    print(i)
    #(1, 'a', '*', 'k1')
    #(2, 'b', '**', 'k2')

#sort排序
list1 = [1,-4,6,5,-10]
list1.sort()   # 在原列表的基础上进行排序
print(list1)
list1.sort(key = abs)#绝对值排序
print(list1)

print(sorted(list1,key=abs,reverse=True)) # 生成了一个新列表 不改变原列表 占内存
print(list1)

# lambda函数
ret = lambda x,y:x+y
print(ret(2,3))

#eval
# eval函数就是实现list、dict、tuple与str之间的转化
# str函数把list,dict,tuple转为为字符串
# 字符串转换成列表
a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
print(type(a))  #<class 'str'>
b = eval(a)
print(b)    #[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]

# 字符串转换成字典
a = "{1: 'a', 2: 'b'}"
print(type(a))  #<class 'str'>
b = eval(a)
print(type(b))  #<class 'dict'>
print(b)        #{1: 'a', 2: 'b'}

# 字符串转换成元组
a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
print(type(a))  #<class 'str'>
b=eval(a)
print(type(b))  #<class 'tuple'>
print(b)        #([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))

# Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。
# __dict__与dir()的区别:
#
# dir()是一个函数,返回的是list;
# __dict__是一个字典,键为属性名,值为属性值;
# dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集;
#
# 并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来列出对象的所有属性。

class MyName(object):
def __init__(self):
self.name = 'name'
self.sex = 'female'
me = MyName()
print(me.__dict__) #{'name': 'name', 'sex': 'female'}
print(dir(me))
#['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'name', 'sex']
 

 

posted @ 2018-02-22 15:18  CHVV  阅读(223)  评论(0编辑  收藏  举报