Python随心记---数据类型

数据类型
数字(int)、字符串(str)、列表(list)、元祖(tuple)、字典(dict)、布尔值(bool)

能被for循环的均是可迭代对象
in 和 not in  判断某个东西是否在某个东西里面 或者不再某个东西里面
name = '梦想'
if '梦想' in name:
     print('ok')
else:
     print('error')
     
va = user== 'alex' and pwd == '123456'
va = user== 'alex' and (pwd == '123456 or 1 == 1)'
if True:
     print('ok')
计算出有多少字节
 num = 123
 v = num.bit_length()  #可以
 print(v)
python3 中不存在长整形int
expandtabs(n)  ---函数用法测试
test = 'username\temail\tpassword\nlinyifan\[email protected]\taa123456\nlinyifan\[email protected]\taa123456\n'
va = test.expandtabs(20)
print(va)
把字母变大写
 name = 'wuyonchun'
 va = name.upper()#把字母变大写
 print(va)
maketrans 和translate 函数实列
v = 'ashdjaadhjhwjha'
m = str.maketrans('aeiou','1234')
new_v = translate(m)
print(new_v)
for 循环
strings='wodepanpanchun'
for str in strings:
    print(str)
创建连续数据
va = range(100)  #创建连续数据
va = range(0,100,5)  #创建随机数据
for item in va:
    print(item)
将文字对应的索引打印出来
va= input('>>>:')
l = len(va)
rum = range(0,l)
for item in range(0,len(va)):
    print(item,va[item])
随机验证码
def check_code():
    import random
    checkcode = ''
    for i in range(6):
        current = random.randrange(0,6)
        if current != i:
            temp = chr(random.randrange(65,90))
        else:
            temp = random.randrange(0,9)
        checkcode += str(temp)
    return checkcode
code = check_code()
print(code)
split函数用法
value = input('>>>:')
v1,v2 = value.split('+')
print(v1)
print(v2)
format用法
s = ''
while True:
    name = input('>>>:')
    pawd = input('>>>:')
    emai = input('>>>:')
    template = '{0}\t{1}\t{2}\n'
    v = template.format(name,pawd,emai)
    s = s + v
list(列表)
   有序
列表中的元素可以是数字、字符串、列表、布尔值...所有东西都可以放入列表中
列表中的元素是可以修改、删除
li = [1,2,3,'age',['阿猫',['小老虎','陀陀语'],'阿狗'],59,6,True]
li[3:5]   #切片取值法;取出来的值也是一个列表
li[3:5] = [11,33]   #切片修改元素值
del li[1]   #删除列表中的元素
del li[1:3] #切片删除列表中的元素
v = 12 in li #判断12是否在列表中 
for item in li:  #循环列表
    print(item)
str = 'wupangpangwoaini'
list(str)   #字符串转列表  列表转字符串,如果列表中存在数字、字符串的时候,只能用for循环
''.join(li) #列表转字符串如果列表只有字符串,可使用该方法
tuple(元祖)
有序
元祖的一级元素不能被修改、不能被增加或者删除
建议元祖最后加入','逗号
tuple = (11,22,33,'pangpang',(11,22,33),[(55,66)],True,56,) 
tuple[0:2]  #切片得到的还是元祖
for item in tuple:
    print(item)
tuple(str)   #字符串转元祖
tuple(list)  #列表转元祖
dict(字典)
无序
value可以是任何值
布尔值、列表、字典不能作为字典的键
不能while循环
dict = {'k1':18,'k2':True,'k3':[11,22,33,{'kk1':'vv1','kk2':(33,44,55)}]}
del dict['k1']  #删除字典键值
for item in dcit.keys():
    print(item)
for item in dcit.values():
    print(item)
for k,v in dcit.item():
    print(k,v)

常用方法

#数字
int()
#字符串
replace()、find()、join()、strip()、startswit()、split()、upper()、lowe()、format()
#列表
append()、extend()、insert()
#字典
get()、update()、keys()、values()、items()
bool(布尔)
None、""、()、[]、{}、0 #用bool()判断前面这些值都为False
变量常用系统方法
int
    int()  #将字符串转数字
    type() #查看数据类型
    num ='0011'
    v = int(num,base=16)
    print(v)
    bit_lenght() #当前数字的二进制至少用几位表示
str
    str.capitalize()  #首字母大写
    str.casefold()   #全部小写
    str.lower()   #全部转小写
    str.islower()   #判断是否是小写
    str.upper()   #全部转大写
    str.isupper()   #判断是否是大写
    str.center(width,'*')   #设置宽度,并将内容居中,*填充空白,*是可带可不带参数
    str.count('str',5,10)   #统计str在字符串中出现的次数,5表示从那儿开始,10表示在哪儿结束
    str.endswith('x')   #以x结尾
    str.starwith('a')   #以a开头
    str.find('a',3,5)   #寻找a位置,默认从头开始,3和5表示从3开始,5结束
    str.format(name='alex')  #把字符串中的{name}替换为alex
    str.format_map({'name':'alex','age':20}) ---把字符串中的{name}替换为alex
    str.index('a')   #在字符串中查找a
    str.isalnum()   #判断字符串中是否只包含字母和数字
    str.expandtabs()   #检测tabs空格,用于断句
    str.isalpha(str)   #判断是否只包含字母
    str.isdecimal()   #判断当前输入的是否是数字
    str.isdigit()   #判断当前输入的是否是数字
    str.numeric()   #判断当前输入的是否是数字
    str.swapcase()   #大小写转换
    str.isidentifier()   #字母、数字、下划线标识符
    str.isprintable()   #判断是否存在不可见的字符 比如\n \t
    str.isspace()   #判断是否全部是空格
    str.title()   #把全部首字母大写
    str.istitle()   #判断是否全部首字母大写
    '_'.join(str)   #将字符串中每一个元素按照指定分隔符进行拼接
    str.ljust(20,'*')   #左边填充
    str.rjust(20,'*')   #右边填充
    str.zfill(20)   #默认填充
    str.strip()   #去掉左右空格、换行,若传入的字符在字符串中存在,则会去掉字符串的的该字符
    str.rsrip()   #去掉右边的空格、换行、移除指定字符
    str.lstrip()   #去掉左边的空格、换行
    str.maketrans('aeiou','1234')   #过滤敏感字符
    str.translate(m)   #过滤敏感字符
    str.partition('s')   #按照s分割
    str.rpartition('s')   #按照s分割
    str.split('s',1)   #分割
    str.rsplit()   #分割
    str.splitlines(True)   #分割 True保留换行 False 不保留换行
    str.startswith('a')   #判断是否以a开头
    str.endswith('a')   #判断是否以a结尾
    str.swapcase()   #大小写换行
    str[0:1]   #获取字符串索引从0到1的值  -1表示取到最后一个
    len(str)   #统计长度
    str.replace('x','w',2)   #替换,w替换x,从第二个开始
list
    list.append(5)   #向列表中最后追加元素,若追加的是列表,则列表中会存为列表形式
    list.clear(list)   #清空列表
    list.copy()   #浅拷贝列表
    list.count(2)   #统计列表元素2出现的个数
    list.extend([9898,'pangpang'])   #向列表中追加9898、pangpang两个元素
    list.index(1)   #根据值找索引(左边优先)
    list.insert(0,99)   #向指定位置插入(列表的0位置插入99)
    list.pop()   #出栈(不传参默认最后一个,若传参则是删除列表该索引为参的元素)
    list.remove(1)   #删除列表中指定元素(删除列表中值为1的元素)
    list.reverse()   #将当前列表翻转
    list.sort(reverse=True)   #对列表排序,不传参为默认升序,传reverse=True为降序
tuple
    tuple.count(1)   #统计某个元素出现的次数
    tuple.index(1)   #获取某个值的位置
dict
    dict.clear()   #清空
    dict.copy()   #浅拷贝
    dict.fromkeys(key,values)   #把第一个作为键,第二个作为值,可以传字典、列表、元祖
    dict.get(key,1111)   #根据key取值,如果ke不存在则把1111赋给key
    dict.item()
    dict.values()
    dict.keys()
    dict.pop(key)   #删除key的值
    dict.popitem()   #随机删除任意一个
    dict.setdefault('key','111')   #设置键值(如果字典中存在该键,则不设置获取当前值,如果不存在就添加键值)
    dict.update({'key':222,'ke':333})   #存在就更新,不存在就添加
    dict.update(key=222,ke=333)   #存在就更新,不存在就添加

猜你喜欢

转载自www.cnblogs.com/Essaycode/p/10054257.html