• Python day2


    #bit_length() 当十进制用二进制表示时,最少使用的位数
    1 '''
    2     bit_length
    3 1   0000 0001   1
    4 2   0000 0010   2
    5 3   0000 0011   2
    6 '''
    
    

    # 转化规则

    1 # int 转 str 无限制
    2 # str 转 int 只有字符串为数字的时候可以转
    3 # int 转 bool 只要是非零就是True else 为False
    4 # bool 转 int True为 1  False 为 0
     
    1 v1 = 10
    2 data = v1.bit_length()
    3 # show 4
    4 print(data)
    5 
    6 v = 3
    7 data = v.bit_length()
    8 # show 2
    9 print(data)
    # String 的索引
    1 a = 'ABCDFGHIJK'
    2 #show A
    3 print(a[0])
    #shou C
    4 print(a[2])

    #切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。

    # String 的索引
    1 a = 'ABCDFGHIJK'
    2 print(a[0])
    3 print(a[2])
    # String 的切片
     1 a = 'ABCDFGHIJK'
     2 # 只打印到C 而不是D
     3 print(a[0:3])
     4 # 从索引为2,即C开始 打印到F
     5 print(a[2:5])
     6 # 默认到最后
     7 print(a[0:])
     8 # -1表示字符串最后一个元素的索引,所以打印不出最后一个元素
     9 print(a[0:-1])
    10 # 打印ABCDF
    11 print(a[0:5:1])
    12 # 打印出ACF
    13 print(a[0:5:2])
    14 # 打印出GBD #反向加步长
    15 print(a[5:0:-2])
    
    
    # 字符串常用方法
      1 # 字符串常用方法
      2 name = 'rainm'
      3 # 1 captalize() 将首字母转化为大写
      4 # show Rainm
      5 print(name.capitalize())
      6 
      7 name = 'Rainm'
      8 # 2 swapcase() 大小写转化
      9 # show rAINM
     10 print(name.swapcase())
     11 
     12 # 3 title() 每个单词的首字母大写
     13 name = 'R a I n m'
     14 print(name.title())
     15 # show R A I N M
     16 name = '*R aa  i N .m'
     17 # show *R Aa  I N .M
     18 print(name.title())
     19 
     20 # 4 center 内容居中,总长度,空白处填空
     21 name = "Ranim's English is very well."
     22 # show ---------------Ranim's English is very well.----------------
     23 print(name.center(60, '-'))
     24 
     25 # 5 count 计算字符串中的元素出现的个数
     26 name = "Ra发im's English is very well."
     27 num = name.count('e')
     28 # show 2
     29 print(num)
     30 
     31 # 计算第0个元素到 第4个元素中m出现的次数
     32 num = name.count('m', 0, 4)
     33 # show 0
     34 print(num)
     35 
     36 # 6 expandtabs
     37 a2 = "hqw	"
     38 #	前面的补全
     39 # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
     40 ret4 = a2.expandtabs()
     41 # show hqw      5个空格
     42 print(ret4)
     43 
     44 # 7 startswith 判断是否以。。。开头  返回的是bool值
     45 name = "Ranim's English is very well."
     46 
     47 result = name.startswith('Ra')
     48 # show True
     49 print(result)
     50 
     51 result = name.startswith('m', 4)
     52 # show True (因为元素下标为4的是m开头的)
     53 print(result)
     54 
     55 # 8 endswith 判断是否以。。。结尾 返回的是bool值
     56 result = name.endswith('ni', 2, 4)
     57 # show true   顾头不顾腚
     58 print(result)
     59 
     60 name = "Ranim's English is very well."
     61 
     62 # 9 find 寻找字符串中的元素是否存在
     63 result = name.find('well')
     64 # 返回的找到的元素的索引,如果找不到返回-1
     65 # show 24
     66 print(result)
     67 result = name.find('k')
     68 # show -1
     69 print(result)
     70 
     71 # 10 index 查找元素下标,没找到会报错
     72 result = name.find('well')
     73 # show 24
     74 print(result)
     75 
     76 # 11 split 以什么分割,最终形成一个列表次列表不含有这个分割的元素
     77 ret9 = 'title,Tilte,atre,'.split('t')
     78 print(ret9)
     79 ret91 = 'title,Tilte,atre,'.rsplit('t',1)
     80 print(ret91)
     81 
     82 # 12 strip 删去指定符号或数字
     83 name = '*egon**'
     84 # show egon
     85 print(name.strip('*'))
     86 
     87 name = '*egon 9**'
     88 # show egon
     89 print(name.strip(' *9'))
     90 
     91 # 左删除
     92 # show egon 9**
     93 print(name.lstrip('*'))
     94 # 右删除
     95 # show *egon 9
     96 print(name.rstrip('*'))
     97 
     98 # 13 replace('要替换的','替换目标',替换次数)
     99 
    100 name = "Ranim's English is very well Ranim ."
    101 
    102 print(name.replace('Ranim', 'Chenyi', -1))
    103 
    104 name='alex say :i have one tesla,my name is alex'
    105 # show SB say :i have one tesla,my name is SB   (-1 表示所有)
    106 print(name.replace('alex', 'SB', -1))
    107 
    108 # 14
    109 # isalnum 字符串由字母或数字组成
    110 # isalpha 字符串只由字母组成
    111 # isdigit 字符串只由数字组成
    112 # 返回的都是bool类型
    113 name='jinxin123'
    114 print(name.isalnum())
    115 print(name.isalpha())
    116 print(name.isdigit())
    117 
    118 # 15 format 格式化输出
    119 res = '{} {} {}'.format('egon', 18, 'male')
    120 # show egon 18 male
    121 print(res)
    122 res = '{1} {0} {1}'.format('egon', 18, 'male')
    123 # show 18 egon 18  (不会显示male,因为已经规定输出输出顺序了)
    124 print(res)
    125 res = '{name} {age} {sex}'.format(sex='male', name='egon', age=18)
    126 # show egon 18 male
    127 print(res)

    # 列表

    # li = ['alex', [1, 2, 3], 'wusir', 'egon', '女神', 'taibai']
    # l1 = li[0]
    # print(l1)
    #
    # l2 = li[1]
    # print(l2)
    #
    # # 列表切片
    # l3 = li[0:3]
    # print(l3)
    
    # # 列表的增
    # li = ['alex','wusir','egon','女神','taibai']
    #
    # # 添加至末尾
    # li.append("日天")
    # print(li)
    #
    # # 指定位置添加
    # print(li)
    # # 不报错 但是显示None print(li.insert(4,"123"))
    # # Insert object before index.
    # li.insert(4, "123")
    # print(li)
    #
    # # extend
    # li.extend("132")
    # print(li)
    # li.extend([1, 2, 3])
    # print(li)

    # 列表的删

     1 li = ['taibai','alex', "alex", 'wusir','egon','女神',]
     2 # # 默认是最后一个  可以填写删除元素的索引  有返回值 返回的是删除的元素
     3 # name = li.pop(1)
     4 # # 按照索引删除元素
     5 # li.pop(1)
     6 # print(name, li)
     7 
     8 # # 按照元素删除 删除第一次出现的元素就退出
     9 # li.remove("alex")
    10 # print(li)
    11 #
    12 # #
    13 # # 清空 clear
    14 # # li.clear()
    15 # # print(li)
    16 # # 切片删除 del 顾头不顾尾
    17 # # del li[0:2]
    18 # # print(li)
    19 #
    20 # # 改
    21 # li[0] = "Rainm"
    22 # print(li)
    23 #
    24 # # 切片改
    25 # # 先删除 后将字符串中的元素逐个添加到列表中,列表中的元素也一样
    26 # li[0:3] = '云姐plfdslkmgdfjglk'
    27 # li[0:3] = [1, 2, 3, '春哥', '咸鱼哥']
    28 # print(li)
    29 
    30 #
    31 # li = ['taibai','alex','wusir','egon','女神',]
    32 # for i in li:
    33 #     print(i)
    34 # print(li[0:2])
    35 #
    36 # # 公共方法
    37 # print(len(li))
    38 # print(li.count("taibai"))
    39 # print(li.index("taibai"))

    元祖 只读列表,可循环查询,可切片
    儿子不能改,孙子可能可以改

     1 # tu = (1, 2, 3, 'alex', [2, 3, 4, 'taibai'], 'egon')
     2 # print(tu[3])
     3 # # 顾头不顾尾
     4 # print(tu[0:5])
     5 # for i in tu:
     6 #     print(i)
     7 # tu[4][3] = tu[4][3].upper()
     8 # print(tu[4])
     9 #
    10 # tu[4].append("ab")
    11 # print(tu[4])
    12 
    13 s = 'alex'
    14 s1 = ''.join(s)
    15 # show alex
    16 print(s1)
    17 s1 = '-'.join(s)
    18 # show a-l-e-x
    19 print(s1)

    # 列表转字符串 list-> str join

    1 li = ['taibai', 'alex', 'wusir', 'egon', '女神']
    2 s = '++++'.join(li)
    3 print(s)

    # range 的使用
    # 顾头不顾尾

     1 for i in range(3, 10):
     2     print(i)
     3 
     4 # 0,9
     5 for i in range(10):
     6     print(i)
     7 # 步长为3
     8 for i in range(0, 10, 3):
     9     print(i)
    10 # 倒叙打印
    11 for i in range(10, 0, -2):
    12     print(i)
    13 # 10 8 6 4 2 0
    14 for i in range(10,-1,-2):
    15     print(i)

     # 1)将列表lis中的’tt’变成大写(用两种方式)。

     1 lis = [2, 3, 'k', ['qwe', 20, ['k', ['tt', 3, '1']], 89], 'ab', 'adv']
     2 # lis[3][2][1][0] = "TT"
     3 # print(lis)
     4 lis[3][2][1][0] = lis[3][2][1][0].upper()
     5 print(lis)
     6 # 2)将列表中的数字3变成字符串’100’(用两种方式)。
     7 # lis[1] = "100"
     8 # lis[3][2][1][1] = '100'
     9 # print(lis)
    10 # lis[3][2][1].remove(3)
    11 # lis[3][2][1].insert(1,'100')
    12 lis[1] = str(100)
    13 print(lis)
    14 
    15 # 3)将列表中的字符串’1’变成数字101(用两种方式)
    16 # lis[3][2][1][2] = 101
    17 # print(lis)
    18 # lis[3][2][1].remove("1")
    19 # lis[3][2][1].append(101)
    20 # 这种情况必须添加强制转化,因为replace的参数只能是字符串
    21 lis[3][2][1][2] = int(lis[3][2][1][2].replace('1', '101'))
    22 print(lis)

    # dict的增删改查

     1 # dic = {
     2 # key为字符串    'name':['大猛','小孟'],
     3 #     'py9':[{'num':71,'avg_age':18,},
     4 #            {'num': 71, 'avg_age': 18, },
     5 #            {'num': 71, 'avg_age': 18, },
     6 #            ],
     7 # key为bool    True:1,
     8 # key为元祖    (1,2,3):'wuyiyi',
     9 # key为整型    2:'二哥',
    10 # }
    11 
    12 #
    13 dic1 = { 'age': 18, 'name': 'jin', 'sex': 'male' }
    14 dic1['high'] = 185      # 不存在high的key就直接添加
    15 print(dic1)
    16 dic1['age'] = 16        #如果存在age键,则值覆盖
    17 print(dic1)
    18 
    19 # setdefault
    20 # 有键值对,不做任何改变,没有才添加。
    21 dic1.setdefault("age")
    22 # 没有赋值,则默认为None
    23 # dic1.setdefault('weight')
    24 dic1.setdefault('weight', '110')
    25 print(dic1)
    26 
    27 # 删除
    28 # pop 按键删除 有返回值 返回键对应的值
    29 # print(dic1.pop('age'))
      1 # 重要:未找到键的时候可以自定义返回的值 来提示该键未存在
      2 # print(dic1.pop('二', "删除"))  # 可设置返回值
      3 
      4 # 重要:popitem 随机删除  但是测试后感觉只是删除最后的一个元素 有返回值 返回的是元祖 元祖里面的是删除的键和值
      5 print(dic1.popitem())
      6 print(dic1)
      7 
      8 # del 按键删除
      9 del dic1['name']
     10 print(dic1)
     11 # 直接删除字典,删除后打印时会报错
     12 # del dic1
     13 # print(dic1)
     14 
     15 # 字典.clea() 清空字典
     16 # dic1.clear()
     17 # print(dic1)
     18 
     19 # 改 update
     20 dic1['age'] = 18
     21 print(dic1)
     22 
     23 # 字典.update(字典1) 将字典1的内容添加到字典里 相同的就覆盖,不同的就新建
     24 # dic = {"name": "jin", "age": 18, "sex": "male"}
     25 # dic2 = {"name": "alex", "weight": 75}
     26 # dic2.update(dic)
     27 # print(dic)
     28 # print(dic2)
     29 
     30 dic1 = {'age': 18, 'name': 'jin', 'sex': 'male'}
     31 # 查  重要  keys values items
     32 # print(dic1.keys(),type(dic1.keys()))
     33 # print(dic1.values(),type(dic1.values()))
     34 # print(dic1.items(),type(dic1.items()))
     35 
     36 # 默认打印的是keys
     37 for i in dic1:
     38     print(i)
     39 # 打印values
     40 for i in dic1.values():
     41     print(i)
     42 
     43 # 重要  一行代码完成两个数交换
     44 # a = 1
     45 # b = 2
     46 # a,b = b,a
     47 # print(a,b)
     48 # a,b = [1,2],[2,3]
     49 # a, b = b, a
     50 # a,b = (1,2)
     51 # print(a,b)
     52 
     53 # 打印字典的键和值
     54 for i, v in dic1.items():
     55     print(i, v)
     56 
     57 v1 = dic1['name']
     58 print(v1)
     59 
     60 # v2 = dic1['name1']  # 报错
     61 # print(v2)
     62 
     63 # 重要 字典.get('键', '指定返回内容(默认为None)')
     64 # 如果该键存在 则直接取出,否则返回指定内容或者None
     65 v2 = dic1.get("name1")
     66 print(v2)
     67 print(dic1.get('name1','没有这个键'))
     68 
     69 dic = {
     70     'name':['alex','wusir','taibai'],
     71     'py9':{
     72         'time':'1213',
     73         'learn_money':19800,
     74         'addr':'CBD',
     75            },
     76     'age': 21
     77 }
     78 # dic['age'] = 56
     79 print(dic)
     80 print(dic['name'])
     81 dic['name'].append('ritian')
     82 dic['name'][1] = dic['name'][1].upper()
     83 dic['py9']['female'] = 'man'
     84 print(dic)
     85 
     86 # 重要 计算输入字符串中数字团的个数
     87 # fhdklah123rfdj12fdjsl3    '       123     12    13'
     88 
     89 # info = input('>>>').strip()
     90 # for i in info:
     91 #     if i.isalpha():
     92 #         info = info.replace(i," ")
     93 # l = info.split()
     94 # print(len(l))
     95 
     96 # 升级版
     97 s = input('<<<')
     98 for i in s:
     99     if not(i.isdigit()):
    100         s = s.replace(i, ' ')
    101 s = s.split()
    102 print(len(s))
  • 相关阅读:
    HTML5/CSS3滑块动画菜单
    基于HTML5手机登录注册表单代码
    基于HTML5手机上下滑动翻页特效
    基于jQuery+HTML5页面整屏滑动切换代码
    基于html5可拖拽图片循环滚动切换
    基于html5背景图片自适应代码是一款背景不随滚动条滚动,会根据分辨率不同自动匹配对应的背景图片
    HTML5实现摇一摇
    html5桌面通知,notification的使用,右下角出现通知框
    html5全局属性
    HTML5 QQ登录背景动态图片
  • 原文地址:https://www.cnblogs.com/Rainm/p/9580804.html
Copyright © 2020-2023  润新知