python学习day6笔记

  • 数据类型的内置方法

  • 整型与浮点型

    ===整型的基本使用===
    '''
    1.用途
    	年龄 生日 整数类型
    2.定义方式
    	age = 18  # age = int(18)
    3.类型转换
    	int()  将括号内的数据转成整型,括号内待转换的数据内部只能是纯数字
    4.进制转换
    	print(bin(100))  将十进制的100转换成二进制对应的数		0b1100100
    	print(oct(100))  将十进制的100转换成八进制对应的数		0o144
    	print(hex(100))  将十进制的100转换成十六进制对应的数    0x64
    	
    	0b开头表示二进制数
    	0o开头表示八进制数
    	0x开头表示十六进制数
    	
    	print(int('0b1100100',2))  # 100
    	int转换成十进制  int('进制转换之后的数',它对应的进制)
    '''
    
    ===浮点型的基本使用===
    '''
    用途
    	身高  体重  薪资...
    	height = 183.1	# height = float('183.1')
    	height = float('183')  # 183.0
    	浮点型可以转换整型,转换后的数后面会加.0
    '''
    
    
  • 字符串

    # 定义:在单引号,双引号,三引号内,由一串字符组成
    name = 'hello world!'
    
    1.按照索引取值(正向取+反向取):只能取
    '''索引是从0开始的'''
    print(name[0])
    print(name[-1])  # -1表示最后一个元素
    # 正数从左往右,负数从右往左
    
    2.切片(顾头不顾尾,步长)
    '''截取某一段内容'''
    print(name[1:4])  # 1,2,3
    print(name[-1:-5:-1])  # 默认的切片方向都是从左往右  最后加上-1修改成从右往左
    print(name[1:2:4])  # 第三个参数表示步长,意思就是间隔多少取一个数
    
    3.长度len
    '''统计字符串里面的字符个数'''
    print(len(name))  # 12   空格也算字符
    
    4.成员运算 in 和 not in
    print('hello' in name)
    print('jason' not in name)
    
    5.移除指定的首尾字符strip(重点)
    
    username = input('username>>>:')
    if username == 'jason':
        print('登陆成功')
    
    username1 = '$$jason$$'
    username2 = '  jason  '
    print(username1.strip('$'))  # 默认移除首、尾的所有字符
    print(username2/strip())  # 默认移除首、尾的所有空格
    
    username = input('username>>>:')
    username = username.strip()  # 将首尾空格移除
    if username == 'jason':
        print('登陆成功')
        
    username = input('username>>>:').strip()  # 两步合成一步
    
    # 移除首指定的字符
    n1 = '$$jason$$'
    print(n1.lstrip('$'))  # jason$$		left
    
    n1 = '##$$jason$$'
    print(n1.lstrip'##$$')
    
    print(n1.rstrip('$'))  # $$jason		right
    
    6.切分split
    '''按照指定的字符切割字符串'''
    
    res = 'jason|123|read'
    print(res.split('|'))  # ['jeason','123','read']
    # 1.指定切割的字符不保留
    # 2.切割之后的结构是个列表(重要)
    
    print(res.split('|',maxsplit=1))  # ['jason','123|read']  从左往右切割指定的次数
    print(res.rsplit('|',maxsplit=1))  # ['jason','123|read']  从右往左切割指定的次数
    
    7.循环
    for i in name:
        print(i)  # 依次获取字符串内单个单个的字符
    

    稍微不是那么重要的字符串类型

    1. 转换字符串
    name = 'jason'  # str('jason')
    str可以将其他所有数据类型全部转成字符串
    
    2.字符串英文大小写转换
    res = 'My nAmE Is JaSOn 666'
    print(res.upper())  # 变成大写 'MY NAME IS JASON 666'
    print(res.lower())  # 变成小写 'my name is jason 666'
    
    print(res.isupper())  # 判断这个字符串内部所有英文字母是否是全大写,返回布尔值
    print(res.islower())  # 判断这个字符串内部所有英文字母是否是全小写,返回布尔值
    
    3.判断字符串以什么开始或结尾
    
    res = 'jason egon kevin tony'
    print(res.startswith('jason'))  # 判断是否以jason开头,返回布尔值
    print(res.endswith('tony'))  # 判断是否以tony结尾,返回布尔值
    
    4.format字符串格式化输出
    res = 'my name is {} my age is {}'
    print(res.format('jason',18))  # 输入内容,按照顺序填入大括号,与%s(占位符)方法类似
    
    res = 'my name is {0} my age is {1}{1}{1}'
    print(res.format('jason',18))  # 输入内容形成索引,按照索引取值,可以反复使用
    
    res = 'my name is {name} my age is {age}'
    print(res.format(name = 'jason',age = 18))  # 指名道姓取值,也可以反复使用
    
    5.统计字符串中指定字符出现的个数
    res = ('asdjhsajduwhasudhasd')
    print(res.count('a'))  # 统计这个字符串里a出现的字数
    print(res.count('a',1,10))  # 指定范围统计这个字符串里a出现的字数
    
    6. title 将字符串内所有英文单词首字母大写
    res = 'asd rqw fdasd etqaf'
    print(res.title())  # 输出Asd Rqw Fdasd Etqaf
    
    7. capitalize 将字符串首字母大写,后面统一变小写
    res = 'asd rqw fdasd etqaf'
    print(res.capitalize())  # 输出Asd rqw fdasd etqaf
    
    8.防呆措施 
    # 判断是否是纯数字
    age1 = input('猜年龄>>>')  
    if age1.isdigit():  
        age1 = int(age1)
    else:
        print('请输入纯数字')
        
    # 判断是否是非数字和特殊符号
    res = 'asdasdaw'
    print(res.isalpha())
    
    9.替换
    res = 'my name is jason jason jason'
    print(res.replace('jason','sb'))  # 将字符中所有jason替换成sb
    replace('被替换的字符串','替换成的字符串','需要替换的个数(不填写默认全局替换)')
    
    10.将列表内多个元素拼接成字符串
    res = ['jason','egon','tony','kevin']
    print('|',join(res))  # 中间的间隔变成|,列表内容拼接成字符串,只能是字符串类型拼接
    
  • 列表

    name_list = ['jason','egon','tony']  # name_list = list(['jason','egon','tony'])
    支持for循环的数据都能被list转换成列表,字典只转换key
    
    1.索引取值
    print(name_list[0])  # 输出 jason
    
    2.切片操作(顾头不顾尾,步长)
    print(name_list[0:2])
    print(name_list[0:2:2])
    print(name_list[-1:-3:-1])
    
    3.统计列表中元素的个数
    print(len(name_List))
    
    4.列表元素的CURD(增删改查)
    
    # 改
    name_list[1] = 'egon快回来'  
    print(name_list)  # 输出 ['jason','egon快回来','tony']
    
    # 末尾追加单个元素
    name_list.append('kevin')
    print(name_list)  # 输出 ['jason','egon','tony','kevin']
    
    name_list.append([11,22,33])
    print(name_list)  # 输出['jason','egon','tony',[11,22,33]]
    
    # 插入元素
    name_list.insert(0,'jack')
    print(name_list)  # 输出 ['jack','jason','egon','tony']
    
    # 扩展列表  
    l1 = [11,22,33,44,55,66]
    name_list.extend(l1)  # 等于用for循环批量使用append
    print(name_list)  # 输出 ['jason','egon','tony',11,22,33,44,55,66]
    
    # 删
    del name_list[1]
    print(name_list)  # 输出 ['jason','tony']
    
    name_list.remove('tony')  #指名道姓删除
    print(name_list)  # 输出 ['jason','egon']
    
    res = name_list.pop()  # 默认弹出元素,将尾部值暂时取出
    print(name_list)  # 输出 ['jason','egon']
    print(res)  # 输出['tony']
    
    res = name_list.pop(1) # 弹出指定索引位置元素
    print(name_list)  # 输出 ['jason','tony']
    print(res)  # 输出 ['egon']
    
    5.统计
    l1 = [11,22,33,3,3,3,5,3,3]
    print(li.count(3))  # 输出 6 统计列表中某个元素出现的次数
    
    6.清空列表
    name_list.clear()
    print(name_list)  # 输出[]
    
    7.列表内容排序
    l2 = [11,88,66,44,99,77,55,33,22]
    
    l2.sort()  # 升序排列
    print(l2)  # 输出 [11,22,33,44,55,66,77,88,99]
    
    l2.sort(reverse=True)  # reverse=True 降序排列
    print(l2)  # 输出 [99,88,77,66,55,44,33,22,11]
    
    l2.reverse()  # 倒序排列
    print(l2)  # 输出 [22,33,55,77,99,44,66,88,11]
    
  • 可变类型与不可变类型

    '''
    可变类型
    	值改变 内存地址不变
    不可变类型
    	值改变 内存地址一定变
    '''
    
上一篇:loj#6074. 「2017 山东一轮集训 Day6」子序列(矩阵乘法 dp)


下一篇:动手写CPU----day6验证逻辑和移位指令