day 06

基本数据类型及内置方法

  • 整型与浮点型

    # 1.整型
    # # 1.1类型转换
    # print(int(123))  # 123
    # print(int('123'))  # 123
    # print(int('abc'))  # 报错
    # print(int([1, 2, 3]))  # 报错
    # print(int({'name': 'ycc', 'age': 18}))  # 报错
    # print(int(11.1))  # 11
    # print(int('11.1'))  # 报错
    # # 总结:只有纯数字的字符串类型才能转换成整型
    
    # 1.2进制转换
    # print(bin(1217))  # 十进制转二进制 0b10011000001
    # print(oct(1217))  # 十进制转八进制 0o2301
    # print(hex(12))  # 十进制转十六进制 0xc  ps:十六进制中A~F代表数字11~16
    # 0b:二进制 0o:八进制 0x:十六进制
    # print(int('0b10011000001', 2))  # 二转十
    # print(int('0o2301', 8))  # 八转十
    # print(int('0xc', 16))  # 十六转十
    
    
    # 2.浮点型
    # print(float(12.17))  # 12.17
    # print(float('12.17'))  # 12.17
    # print(float('abx'))  # 报错
    # print(float([1,2,3]))  # 报错
    # print(float({'name':'ycc', 'age':18}))  # 报错
    
    
    
    
  • 字符串及内置方法

    # 总结常用的  str.内置方法
    # 1、索引取值
    # 2、切片
    # 3、len()取长
    # 4、strip() 移除
    '''
    strip() 移除首尾空字符
    strip(*) 移除首尾指定 * 字符
    lstrip(#) 移除开头指定 # 字符
    rstrip($)  移除结尾指定 $ 字符
    ps:中间字符是不能移除的
    '''
    # 5、split()切割
    '''
    split() 从左往右切割
    rsplit() 从右往左切割
    split('*',maxsplit = 2) 
    ps: *为切割字符,切割字符不保留 ,切割后的为列表形式, maxsplit = 2 表示指定切割次数为2次
    '''
    # 6、type() 判断类型
    # 7、upper() 把所有英文字母转换成大写   lower() 把所有英文字母转换成小写
    # 8、startswith('a') 判断是否以 a 开头  endswith('a') 判断是否以 a 结尾
    # 9、字符串格式化输出 format()
    # 10、count() 计数
    # 11、title() 将所有英文单词首字母改成大写   capitalize() 第一个字母大写 后面统一小写
    # 12、isdigit() 判断是否为纯数字
    # 13、replace('a', 'b') 全部替换(把 b 替换成 a)  replace('a', 'b', 2) 这里 2 表示替换次数
    # 14 、'*'.join(列表) 将列表内的元素拼接成字符串 并以 * 隔开()
    # 15、 isalpha() 判断非数字 特殊符号
    
    
    # 1、索引
    # name = 'hello world'
    # print(name[0])  # h
    
    # # 2、切片
    # name = 'hello world'
    # # print(name[1:3])  # el   左闭右开
    # print(name[1:4:2]) # el   这里2表示步长
    # print(name[-1:-6:-1])  # dlrow 索引2:-1代表从右往左切
    
    
    # # 3、len()
    # name = 'hello world'
    # print(len(name))
    
    # # 4、strip()
    # n = ' aa '
    # print(n.strip())  # 移除首尾空格 aa
    # n1 = '**a*'
    # print(n1.strip('*'))  # 移除指定首尾字符*   a
    # print(n1.lstrip('*')) # 移除指定左边字符*  a*
    # print(n1.rstrip('*')) # 移除指定右边字符*  **a
    # n2 = '**aa*aa*a**'
    # print(n2.strip('*'))  #中间的*不可移除  aa*aa*a
    
    # 5、split()
    # res = 'aaa|BBB|CCC'
    # print(res.split('|'))  # ['aaa', 'BBB', 'CCC']
    # print(res.split('|',maxsplit=1))  # ['aaa', 'BBB|CCC']
    # print(res.rsplit('|',maxsplit=1))  # ['aaa|BBB', 'CCC']
    
    # 6、type()
    
    # 7、upper()  lower()
    # res = 'KsssKWWaaa'
    # print(res.upper())  # KSSSKWWAAA  全部转换成大写
    # print(res.lower())  # kssskwwaaa  全部转换成小写
    # # 图片验证码校验,忽略大小写
    # code = 'aFdEE'
    # my_code = input('请输入验证码:')
    # if my_code.upper() == code.upper():
    #     print('验证码正确')
    # print(res.isupper()) # 判断是否全为大写
    # print(res.islower())  # 判断是否全是小写
    
    # 8、startswith('a')  endswith()
    # res = 'aaccnn'
    # print(res.startswith('a'))  # 判断 a 是否为开头  True
    # print(res.endswith('n'))  # 判断 n 是否为结尾  True
    
    # 9、字符串格式化输出 format()
    # 第一种  与%s一致        按照个数位置 一一传值
    # res = 'my name is {} my age is {}'
    # print(res.format('jason',18))
    # 第二种  按照索引取值     可以反复使用
    # res = 'my name is {0} my age is {1} {0} {0} {0}'
    # print(res.format('jason',18))
    # 第三种  指名道姓取值     可以反复使用
    # res = 'my name is {name} my age is {age} {name} {name} {name}'
    # print(res.format(name='jason',age=18))
    
    # 10、count()  统计个数
    # res = ' a s f fs f sdf dsf f wef ef ewf wf sf '
    # print(res.count('s'))  # 5个s
    # print(res.count('f', 2, 39))  # 11个f ,第2个到第39个字符中取
    
    # 11、title()
    # res = 'my name is ycc'
    # print(res.title())  # 将所有英文单词首字母大写  My Name Is Ycc
    # print(res.capitalize())  # 将首字母大写  My name is ycc
    
    # 12、isdigit()
    # 判断是否是纯数字
    # guess_age = input('请输入您的年龄>>>:')
    # # 判断用户输入的是否是纯数字
    # if guess_age.isdigit():
    #     # 将字符串的数字转为整型的数字
    #     guess_age = int(guess_age)  # 暂且忽略
    # else:
    #     print('请输入纯数字')
    
    # 13、replace()
    # res = 'my name is ycc ycc ycc'
    # print(res.replace('ycc', 'xixi'))  # my name is xixi xixi xixi 全局替换
    # print(res.replace('ycc', 'xixi', 2))  # my name is xixi xixi ycc  局部替换 ,2代表从左至右替换数为2
    
    # 14 、'*'.join(列表)
    # 将列表中的多个元素拼接成字符串
    # res = ['ycc', '鸣人', 'aaa']
    # res1 = ['ycc', '鸣人', 'aaa', 123]
    # print('*'.join(res1))  # 报错 只能是字符串的拼接
    # print('*'.join(res))  # ycc*鸣人*aaa  以*隔开,也可替换成其他特殊字符
    
    # 15、 isalpha()
    # res = 'sdewqe圣诞节卡萨'
    # print(res.isalpha())  # 判断非数字 特殊符号
    
    
  • 列表及内置方法

    # '列表定义:中括号括起来,由多个元素组成,元素之间由逗号隔开,元素可以是任意数据类型'
    # 其他数据类型转换成列表型
    # # print(type(list(123)))  # 不行
    # print(type(list('123')))
    # print(type(list(['sf1','ss',23])))
    # print(type(list({'name':'ycc','age':18})))
    # # print(type(list(12.12)))  # 不行
    # # print(type(list('12.12')))# print(type(list(True)))  # 不能
    # '''能够支持for循环的数据 都能够被list转换成列表'''
    
    # 1、索引取值:
    # 2、切片:
    # 3、len()取长
    # 4、列表的CURD(增删改查)
    # 5、统计
    # 6、排序
    
    # 1、索引取值
    # name_list = ['aaa', 'bbb', 'ccc']
    # print(name_list[0])  # aaa
    # print(name_list[-1])  # ccc
    
    # 2.切片
    # name_list = ['aaa', 'bbb', 'ccc', 'ddd']
    # print(name_list[1:3])  # ['bbb', 'ccc']   左闭右开
    # print(name_list[-1:-4:-1])  # 索引2:-1代表从右往左切
    # print(name_list[1:3:2])  # 2代表步长
    
    # # 3、len()
    # name_list = ['aaa', 'bbb', 'ccc', 'ddd']
    # print(len(name_list))
    
    # 4、列表的CURD(增删改查)
    name_list = ['aaa', 'bbb', 'ccc', 'ddd']
    # # 4.1修改
    # name_list[0] = 'ycc'
    # print(name_list)  # ['ycc', 'bbb', 'ccc', 'ddd']
    # # 4.2尾部添加
    # name_list.append('xixi')
    # print(name_list)  # ['aaa', 'bbb', 'ccc', 'ddd', 'xixi']
    # # 4.3按索引添加
    # name_list.insert(0, 'haha')
    # print(name_list)  # ['haha', 'aaa', 'bbb', 'ccc', 'ddd']
    # 4.4扩展列表(将一个列表中的全部元素添加进另一个列表,而不是将这个列表添加进另一个列表)
    # l = [11, 222, 3, 5, 5, 5, 7]
    # 复杂:for + append
    # for i in l:
    #     print(i)
    #     name_list.append(i)
    # print(name_list)  # ['aaa', 'bbb', 'ccc', 'ddd', 11, 222, 3, 5, 5, 5, 7]
    # 简单:
    # name_list.extend(l)
    # print(name_list)  # ['aaa', 'bbb', 'ccc', 'ddd', 11, 222, 3, 5, 5, 5, 7]
    # 4.5删除
    # 4.5.1通用删除
    # del name_list[1]
    # print(name_list)  # ['aaa', 'ccc', 'ddd']
    # 4.5.2指定删除
    # name_list.remove('aaa')
    # print(name_list)  # ['bbb', 'ccc', 'ddd']
    # 4.5.3
    # name_list.pop()
    # print(name_list)  # ['aaa', 'bbb', 'ccc'] 默认弹出尾部元素
    # name_list.pop(2)
    # print(name_list)  # ['aaa', 'bbb', 'ddd'] 按照索引弹出元素
    # 4.5.4 清空
    # name_list.clear()
    # print(name_list)  # [] 情况列表
    
    # 5统计
    # l = [2, 3, 5, 6, 6, 77, 33, 27, 4, 777, 345]
    # print(l.count(7))  # 0
    
    # 6排序
    l1 = [22, 33, 11, 99, 88, 77, 66, 44, 55]
    # 6.1升序
    # l1.sort()
    # print(l1)  # [11, 22, 33, 44, 55, 66, 77, 88, 99]
    # 6.2降序
    # l1.sort(reverse=True)
    # print(l1) # [99, 88, 77, 66, 55, 44, 33, 22, 11]
    # 6.3倒叙
    # l1.reverse()
    # print(l1)  # [55, 44, 66, 77, 88, 99, 11, 33, 22]
    
    
  • 可变与不可变类型

    """
    可变类型
        值改变 内存地址不变
    不可变类型
        值改变 内存地址一定变
    """
    # 不可变类型
    # a = 1
    # print(id(a))  # 140736875403024
    # a = 2
    # print(id(a))  # 140736875403024
    
    
    # 可变类型
    # l1 = [11, 22]
    # print(id(l1))  # 2133952624128
    # l1.append(666)
    # print(id(l1))  # 2133952624128
    
    # l2 = [22, 11]
    # print(id(l2))  # 2575971123840
    # l3 = [33, 44]
    # l2.append(l3)
    # print(id(l2))  # 2575971123840
    
    
    
    
posted @ 2021-06-03 08:22  ccFTD  阅读(39)  评论(0)    收藏  举报