字符串常用操作,for循环,基础数据类型,进制转换 day03
-
基础数据类型总览
- 10203 123 3340 int +-*/等
- '今天吃了没?' str 存储少量的数据,+ *int (重复多个数字的字符串)切片, 其他操作方法
- True False bool 判断真假
- [12, True, 'alex', [1,2,3 ]] list 存储大量的数据。
- (12, True, 'alex', [1,2,3 ]) tuple 存储大量的数据,不可改变里面的元素。
- {'name': 'holting'} dict 存储大量的关联型的数据,查询速度非常快。
- set 交集,并集差集。。。
-
int
-
进制转换 : 2,8,16进制转换成10进制,10进制转换即除2,8,16,余数倒过来
(1). (1101101)2 =1 *2^6+1*2^5+1*2^3+1*2^2+1*2^0 =109 (2). (563)8 =5*8^2+6*8^1+3*8^0 =371 (3). (123AF)16 =1*16^4+2*16^3*16^2+10*16^1+15*16^0 =74671 带有小数 (4)0. 1011.873 1011 /2 =505 505/2=252 252/2=126 126/2 =63 63 /2=31 31/2=15 15/2=7 7/2= 3 3/2=1 1/2=0 0.873*2=1.746 0.746*2=1.492 0.492*2=1.984 0.984*2 =1.968 即为 1111110011.1101 原码是一种简单的机器数表示法。即正数的原码,反码和补码是完全相同的。 负数原码与补码除符号位不变,其他位0变1,1变0,而他的补码是在反码 的基础上,最低位加一。
bit_lenth 十进制转化成二进制的有效长度
# bit_lenth 有效的二进制的长度 i = 4 print(i.bit_length())
- bool
bool str int 三者之间的转换
# bool str int # bool <---> int ''' True 1 False 0 非零即True 0 是 False ''' # str <---> int *** ''' s1 = 10 int(s1) : 必须是数字组成 i = 100 str(i) ''' # str bool *** # 非空即True s1 = ' ' print(bool(s1)) s1 = '' # 空字符串 print(bool(s1)) # bool ---> str 无意义 print(str(True))
-
-
str
-
索引切片步长
# 对字符串进行索引,切片出来的数据都是字符串类型。 # 按照索引取值 # 从左至右有顺序,下标,索引 按照切片取值 s ='holting' s[0:5]左闭右开 切片步长 s[0:6:2] 倒叙(要写步长,不然运行结果会出现错误) s[-1:-8:-1]
-
常用操作方法
不会对原字符串进行任何操作,都是产生一个新的字符串。
1. str.upper()或lower()#改变字符串中字母大小写 # 应用: username = input('用户名') password = input('密码') code = 'QweA' print(code) your_code = input('请输入验证码:不区分大小写') if your_code.upper() == code.upper(): if username == 'holting' and password == '123': print('登录成功') else: print('用户名密码错误') else: print('验证码错误') 2. startswith endswith(判断字符是否从哪开始结束) s = holting print(s.startswith('h')) *** # print(s.startswith('holtin')) *** # 了解 # print(s.startswith('t',3,6)) 3.replace msg = 'alex 很nb,alex是老男孩教育的创始人之一,alex长得很帅' # msg1 = msg.replace('alex','holting') # 默认全部替换 # msg1 = msg.replace('alex','holting',2) 4. strip(去除 空白,\t\n,和指定字符) s.strip(',') 5.split 默认按照空格分隔,返回一个列表 ***** 指定分隔符: s.split(':',2) s = 'holting,hao,ni,在键' # s2 = s[-1:-8:-1] # print(s2) # s3 = s.split(',',2) # print(s3) 6. join 非常好用(可将列表转换成字符串) 前提列表里的元素必须都是str类型 s1 ='holting' # s2 ='+'.join(s1) # print(s2,type(s2)) #前提是:列表里面的元素必须都是str类型 s1 = ['holting','haoren','shuai'] s3 = ':'.join(s1) print(s3,type(s3)) 7. count(统计次数) s8 = 'sdfsdagsfdagfdhgfhgfhfghfdagsaa' # print(s8.count('a')) 8. format : 格式化输出 第一种用法 msg = '我叫{}今年{}性别{}'.format('haoren','20','男') 第二种用法 msg = '我叫{0}今年{1}性别{2}我依然交(0)'.format('haoren','20','男') 第三种用法 a = 0 msg = '我叫{name}今年{age}性别{sex}'.format(age=a,sex='男',name='haoren') 9. is 系列: isdigit()判断是否为数字 isspace() 判断是否为空格 name = 'holting123' print(name.isalnum()) #字符串由字母或数字组成 # # print(name.isalpha()) #字符串只由字母组成 # print(name.isdecimal()) #字符串只由十进制组成 常见于 s = input('请输入您的金额:') if s.isdecimal(): print(int(s1)) else: print('输入有误')
-
-
for循环
len :获取可迭代对象的元素总个数 # print(len(s1)) index = 0 # while index < len(s1): # print(s1[index]) # index += 1 for i in s: print(i) break continue # for else: while else:用法一样。