day3、基础___(基础数字类型、字符串索引与切片、str常用操作方法),


一、数字类型

1、基础数字类型

  • int 数字类型:1,2,3用于计算
  • str 字符串 :'用户密','abcd' 存储少量数据进行操作
  • bool 布尔值:判断真假 True,False
  • list 列表:存储大量的数据: ['张三','李四', '1234']
  • tuple 元祖 ,存储大量的数据,不可改变量里面元素。:(1,2,3,'张三','李四')
  • dict 字典,存储关系性数据,查询速度快:{'张三':[13300000,'银行'],'二哥'[200,200,200]}
  • set 集合 并集差集........

1)int 数字类型

1】二进制转换为十进制
0001 1010
上面是二进制,从右到左是0,1,2,3,4,5,6,7,8次方

b = 1 * 2 ** 4 + 1 * 2 ** 3 + 0 * 2 ** 2 + 1 * 2 **1 + 0 * 2 ** 0
print(b)
26

2】十进制转换成二进制

​ 42转换成二进制计算:

​ 从同图可以算出 42的二进制是0010 1010

3】十进制转二进制的有效二进制长度计算

42的二进制是0010 1010

它的有效二进制度长度

i = 42
print(i.bit_length())

2)bool

​ True
​ False
​ int与bool值的转换
​ int ---> bool ,非零转换成bools 是True, 0转换成bool 是False
​ print(bool(2)) #True
​ print(bool(-2)) #True
​ print(bool(0)) #Flase

3)str字符串转换成数字类型

​ 字符串转化为数字: int(str), str必须是数字组成的
​ 如:i = 1
​ s = str(i)
​ 数字转化为字符串:str(int)
​ 如:s = '123'
​ i = int(s)
​ 非空字符串都是True,空字符串都是Flase
​ 如:s = "" ------>Flase
​ s = "0" ------>True

4)int数字类型转换成字符串类型

password = str(input("请输入你的密码:"))
print(password,type(password))
#type(password) 查看输入的内容的数据类型

2、字符串索引与切片

按照索引取值

name = "python学习"
print(name)
#从左至右排序,从0开始
s1 = name[0]
print(s1)
s2 = name[1]
print(s2)
s3 = name[-1]
print(s3)

按照切片取值,顾头不顾尾

name = "python学习教程"
print(name)
#从左至右排序,从0开始
#(1)取python
s1 = name[0:6]
print(s1)   # ----->python
s2 = name[:6]
print(s2)   # ----->python    从头第0位取到6
#(2)取由学--程
s3 = name[6:]
print(s3)   # ----->学习教程  从第6位取到最后一位
#步长
s4 = name[::2]   # ----->pto学教  从头取到尾,再隔2个选(:2)  s[首:尾:步长]
print(s4)
#倒取
s5 = name[::-1]
print(s5)    # ----->程教习学nohtyp  加-1步长

3、str常用操作方法

1)字符串常用的操作方法:

1】upper lower

​ 【1】把字符串重新生成一个全大写字母的字符串,不会对原字符串进行任何操作

s = "PYthon"
print(s.upper())  # ----->PYTHON

​ 【2】把字符串重新生成一个全小写字母的字符串,不会对原字符串进行任何操作

s = "PYthon"
print(s.lower())   # ----->python

​ 例:使用lower把code验证码和用户输入的验证码转换为小写字母再进行比对

username = input("请输入用户名:")
password = input("请输入密码:")
code = "QweA"
your_code = input("请输入验证码,不区分大小写:")
if code.lower() == your_code.lower() and username == "mrxiong" and password == "123456":
    print("登陆成功!")
else:
    print("登陆失败~!")
2】startswith endswith 判断从开始或者开头的内容是否相同
s = 'mrxiong'
#是否开始以mr开头
print(s.startswith('mr'))  # ----->True
#是否结尾以g开头
print(s.endswith('g')) # ----->True
3】replace 替换字符
s = 'python学习'
s1 = s.replace('python','linux')
print(s1)
s = 'python学习和python练习和python实践'
s1 = s.replace('python','linux',2)
print(s1)
4】strip:空白:空格: \t(tab健) \n(换行符)

​ 用于移除字符串头尾指定的字符(默认为空格)或字符序列

​ 注意:**该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

print('python学习\npython练习\n\tpython实践')
输出内容:
python学习
python练习
	python实践

s = '   python学习python练习python实践'
print(s)
s2=s.strip()
print(s2)
输出内容:
   python学习python练习python实践
python学习python练习python实践

去除内容:

s = 'rre学习练习实践asd'
print(s)
s2=s.strip('rdeas')
print(s2)
输出内容:
rre学习练习实践asd
学习练习实践
5】split 指定分隔符对字符串进行切片

​ 默认按照空格分隔,返回一个列表

s = '学习 练习 实践'
print(s)
s2=s.split()
print(s2)
输出内容:
学习 练习 实践
['学习', '练习', '实践']

指定分隔符,可以以 : , 。等等为分隔符

s = '学习:练习:实践'
print(s)
s2=s.split(':')
print(s2)
输出内容:
学习 练习 实践
['学习', '练习', '实践']
s = ':学习:练习:实践'
print(s)
s2=s.split(':')
print(s2)
输出内容:
:学习:练习:实践
['', '学习', '练习', '实践']
s = ':学习:练习:实践'
print(s)
s2=s.split(':',2)
print(s2)
输出内容:
:学习:练习:实践
['', '学习', '练习:实践']
6】join 将序列中的元素以指定的字符连接生成一个新的字符串
s = '学习练习实践'
print(s) 
s2 =  '+'.join(s)    #+号是连接符
print(s2)
输出内容:
学习练习实践
学+习+练+习+实+践

s = ['学习','练习','实践']   #前提,列表里的元素必须都是str类型
print(s)
s2 =  ':'.join(s)
print(s2)
输出内容:
['学习', '练习', '实践']
学习:练习:实践
7]count

​ 用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。

s = 'python学习和python练习和python实践'
s1 = s.count('p')
print(s1)
输出内容:
3
8】format 格式化输出

​ 第一种用法:

s = '我叫{}今年{}姓别{}'.format('mrxiong',26,'男')
print(s)
输出内容:
我叫mrxiong今年26姓别男

​ 第二种用法:

s = '我叫{0}今年{1}姓别{2}我依然叫{0}'.format('mrxiong',26,'男')
print(s)
输出内容:
我叫mrxiong今年26姓别男我依然叫mrxiong

​ 第三种用法:

s = '我叫{name}今年{age}姓别{sex}我依然叫{name}'.format(name='mrxiong',age=26,sex='男')
print(s)
输出内容:
我叫mrxiong今年26姓别男我依然叫mrxiong
9】is系列

判断字符串是否由字母、数字、十进制组成

**print**(str.isalnum()) # 判断所有字符都是数字或者字母
**print**(str.isalpha()) # 判断所有字符都是字母
**print**(str.isdigit()) # 判断所有字符都是数字
**print**(str.islower()) # 判断所有字符都是小写
**print**(str.isupper()) # 判断所有字符都是大写
**print**(str.istitle()) # 判断所有单词都是首字母大写,像标题
**print**(str.isspace()) # 判断所有字符都是空白字符、\t、\n、\r 
name = 'taobao123'
print(name.isalnum())   #字符串由字母或数字组成
print(name.isalpha())   #字符串只由字母组成
print(name.isdecimal()) #字符串只由十进制组成
print(name.isdigit())   #字符串只由数字组成
print(name.islower())   #字符串只由大写字母组成
print(name.isupper())   #字符串只由小写字母组成
print(name.istitle())   #所有单词都是首字母大写组成
print(name.istitle())   #所有字符都是空白字符组成
输出内容:
True
False
False

相关内容

    暂无相关文章

评论关闭