day6
1整数基本使用
1用途:
年龄的,生日 等等数类型
2定义方式:
age = 18 等于 age = int(18)
3类型转换
print(int(123))#123
print(int(12.3))#12小数点后面会抹去
print(int('123'))#123
print(int('[1,2,3,4]'))#报错不能转
print(int('hello world'))#报错不能转
print(int('11.11')) # 待转换的数据内部只能是纯数字
2浮点数
1用途:
薪资 身高 体重 等等
2定义方式:
height = 183.1 等于 height = float(183.1)
3类型转换
print(float(183.1))#183.1
print(float('183.1'))#183.1
print(float('hello world'))#报错
print(float(183)) # 183.0会添加.0
print(int(11.11))# 11
3进制转换
print(bin(100)) # 将十进制的100转换成二进制对应的数 0b1100100
print(oct(100)) # 将十进制的100转换成八进制对应的数 0o144
print(hex(100)) # 将十进制的100转换成十六进制对应的数 0x64
"""
0b开头表示二进制数
0o开头表示八进制数
0x开头表示十六进制数
"""
#int可以转整数还可以进制转换
print(int('0b1100100',2)) # 100 2转10
print(int('0o144',8)) # 100 8转10
print(int('0x64',16)) # 100 16转10
3字符串类型
1用途:
名字 性别 国际 等等描述信息
2定义方式:
在单引号,双引号,三引号内,由一串字符组成
name = 'hello world!'
3类型转换:
name1 = 'jason' # str('jason')
print(type(str(18)))
print(type(str(11.11)))
print(type(str('hello')))
print(type(str([1,2,3,4])))
print(type(str({'name':'jason'})))
print(type(str(True)))
4优先掌握的操作
name = 'hello world!'
1按照索引取值(正向取+反向取):只能取从(索引是从0开始)
print(name[0])
print(name[-1]) # -1表示最有一个元素
print(name[8])
print(name[-4])
正数表示从左往右 负数从右往左
2、切片(顾头不顾尾,步长)截取某一段内容
print(name[1:4]) # 1 2 3 顾头不顾尾
print(name[-1:-5:-1]) # 默认的切片方向都是从左往右 -1修改成从右往左 !dlr
print(name[1:4:2]) # 第三个参数表示步长 el
3长度 len(统计字符串里面的字符个数)
print(len(name)) # 12 空格也算字符
4成员运算 in 和not in
print('hello' in name)#Float
print('jason' not in name)#Float
*5字符串内置方法
1移除指定的首尾字符strip
username = input('username>>>:') # ' jason '
将首尾空格移除
username = username.strip()
2两步和成一补
username = input('username>>>:').strip()
# if username == 'jason':
# print('登录成功')
# else:
# print('登录失败')
3指定移除字母首尾字符
username1 = '$$j$s$o$n$$'
print(username1.strip('$'))#j$s$o$n
4默认移除字母收尾所有空格
username2 = ' jason '
print(username2.strip())
5移除指定字符lstrip 和 rstrip
n1 = '$$jason$$'
print(n1.lstrip('$')) #jason$$ left+strip=lstrip 移除右边
print(n1.rstrip('$')) #$$jason right+strip=rstrip 左边移除
*6分割split(按照指定g字符串)
res = 'jason|123|read'
print(res.split('|')) # ['jason', '123', 'read']
1.指定切割的字符不保留
2.切割之后的结构是一个列表(重要)
res.split('|', maxsplit=1) # ['jason', '123|read'] 从左往右切割指定的次数
print(res)
print(res.rsplit('|',maxsplit=1)) # ['jason|123', 'read'] 从右往左切割指定的次数
7 for循环
name = 'zjg'
for i in name:
print(i) # z j g 依次获取字符串中单个单个的字符
8.1将所有英文字母转成大写 upper
res = 'My NAmE Is JASon 666'
print(res.upper()) # MY NAME IS JASON 666
8.2将所有的字母转成小写 lower
res = 'My NAmE Is JASon 666'
print(res.lower()) # my name is jason 666
8.3图片验证码校验 忽略大小写
code = 'NaRTs6'
my_code = input('code>>>:')
if code.upper() == my_code.upper():
print('验证码正确')
print(res.isupper()) # False 字符串内部所有的英文字母是否是全大写
print(res.islower()) # False 字符串内部所有的英文字母是否是全小写
9.1判断字符串是否以jason开头 startswith
res = 'jason egon kevin tony'
print(res.startswith('jason')) # True
9.2判断字符串是否以tony结尾 endswith
res = 'jason egon kevin tony'
print(res.endswith('tony')) # True
5字符串格式化输出
%s %d
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))
内置方法2:
res = 'jason a a a a sdf se sdf we ras dsa dw e asdsa dwqd sadsa dsadas'
# # 统计字符串中 指定字符出现的个数
# print(res.count('a')) # 13
# print(res.count('a', 1, 10)) # 3 指定范围统计
res = 'my name is jason HAJHSSAJJ SAJS '
# print(res.title()) # 将所有英文单词首字母大写
# print(res.capitalize()) # 首字母大写 后面统一变小写
res = 'sdewqe圣诞节卡萨'
# print(res.isalpha()) # 判断非数字 特殊符号
判断是否是纯数字
# guess_age = input('请输入您的年龄>>>:')
# # 判断用户输入的是否是纯数字
# if guess_age.isdigit():
# # 将字符串的数字转为整型的数字
# guess_age = int(guess_age) # 暂且忽略
# else:
# print('请输入纯数字')
替换
# res = 'my name is egon egon egon'
# 将字符串中所有的egon替换成SB
# print(res.replace('egon','SB')) # 全局替换
# print(res.replace('egon','SB',1)) # 局部替换
将列表多个元素拼接成字符串
# res = ['jason','egon','kevin','tony']
# res1 = ['jason','egon','kevin','tony',123]
# # print('|'.join(res)) # jason|egon|kevin|tony
# print('|'.join(res1)) # 只能是字符串类型拼接
6列表内置方法
中括号括起来 内存可以存放多个元素
元素与元素之间逗号隔开 元素可以是任意数据类型
name_list = ['jason', 'egon', 'tony'] # name_list = list(['jason', 'egon', 'tony'])
print(type(list(18))) # 不能
print(type(list(11.11))) # 不能
print(type(list('hello')),list('hello')) # 可以 ['h', 'e', 'l', 'l', 'o']
print(type(list([1,2,3,4])))
print(type(list({'name':'jason'})),list({'name':'jason'})) # 可以 ['name']
print(type(list(True))) # 不能
'''能够支持for循环的数据 都能够被list转换成列表'''
1.索引取值
print(name_list[0])
print(name_list[-1])
2.切片操作
print(name_list[0:2])
print(name_list[0:2:2])
print(name_list[-1:-3:-1])
3.统计列表中元素的个数
print(len(name_list)) # 3
列表元素的CURD(增删改查)
name_list[1] = 'egon快回来!'
print(name_list)
末尾追加单个元素
name_list.append('kevin')
print(name_list) # ['jason', 'egon', 'tony', 'kevin']
name_list.append([11,22,33,44]) # ['jason', 'egon', 'tony', [11, 22, 33, 44]]
print(name_list)
插入元素
name_list.insert(0,'jack')
print(name_list) # ['jack', 'jason', 'egon', 'tony']
扩展列表
l1 = [11,22,33,44,55,66,77]
# for i in l1:
# name_list.append(i)
# print(name_list)
name_list.extend(l1) # extend等价于for+append
print(name_list) # ['jason', 'egon', 'tony', 11, 22, 33, 44, 55, 66, 77]
通用的删除操作
del name_list[1]
print(name_list) # ['jason', 'tony']
res1 = name_list.remove('tony') # 指名道姓的删除
print(name_list) # ['jason', 'egon']
print(res1) # None
res = name_list.pop() # 默认尾部弹出元素
print(name_list) # ['jason', 'egon']
print(res)
res = name_list.pop(1) # 默认指定索引位置的元素
print(name_list) # ['jason', 'tony']
print(res) # egon
l1 = [11,22,33,3,3,3,2,3,23,4,34,3,4,3,4]
print(l1.count(3)) # 6 统计列表中某个元素出现的次数
name_list.clear() # 清空列表
print(name_list) # []
l2 = [11,88,22,44,33,77,66,55]