python03day
回顾
pycharm简单使用
while循环
结构
pass
while实现打印1-2+3-4+……+99
格式化输出:针对str,让字符串中某些位置变为动态可传入的
- % s str d digist i int
- %%第二个%转义
编码初识(二进制和文字对应关系)
- ASCLL
- GBK
- Unicode
- Utf-8
今天内容大纲
基础数据类型总览
- 10203 13 333 2041 **int **进行+-*/
- '今天吃了吗' **str **存储少量数据
- True False **bool **判断真假
- [12,True,'汤达人',[1,2,3]] list 列表 存储大量数据
- (12,True,'汤达人',[1,2,3]) tuple 元组 存储大量数据,内部不能改变
- {'name':'汤达人'} dict 字典存储大量关联型的数据,查询速度快
- set 集合,求交集并集差集等。
int
pycharm中ctrl+左键点击,可以查看类方法
主要用于计算
不同进制的转换。十进制、二进制
'''二进制转换成十进制 0001 1010 ----------->?26
'''
b=1*2**4+1*2**3+0*2**2+1*2**1+0*2**0
print(b) #26
'''十进制转换成二进制
42------->?
'''
i=5
print(i.bit_length())#有效二进制长度 #3
bool
- bool<--------->int 0,1
str
索引,切片
s1='python全栈'
#从左至右有顺序、下标索引012345
s2=s1[0]
print(s2,type(s2)) #p <class 'str'> s3=s1[-1] #从后往前第一个
print(s3) #栈 #按照切片取值
s4=s1[0:6] ##取六个数,顾头不顾腚
print(s4) #python s5=s1[6:]##取到最后
print(s5) #全栈 s6=s1[0:5:2]#第三个数是步长、0可省略
print(s6) #pto s7=s1[-1:-5:-1]#倒序取必须有一个倒序步长,但是不加不报错
print(s7) #栈全no s8=s1[::-1]
print(s8) #栈全nohtyp
常用操作方法
- upper()、lower()
#字符串常用操作方法
#不会对原字符串操作,会产生新字符串
s='TangDaRen'
s1=s.upper()#全变大写
s2=s.lower()#全变小写
print(s1)
#应用:验证码不区分大小写
username=input('用户名')
password=input('密码')
code='QweA'
print(code)
your_code=input('验证码,不区分大小写')
if your_code.upper()==code.upper():
if username=='汤达人' and password=='123':
print('登录成功')
else:
print('用户名密码错误')
else:
print('验证码错误')
- startswith()、endswith()
#starswith endswith
#返回bool值
s='TangDaRen'
print(s.startswith('Ta')) #True
print(s.startswith('TangDaRen')) #True
print(s.startswith('a')) #False
print(s.startswith('a',1,3)) #True(1~3是不是以a开头)
replace() #替换
#replase
msg='Leo is a good boy,Leo,Leo'
msg1=msg.replace('Leo','Henri')#默认全部替换
msg2=msg.replace('Leo','Henri',2)#替换两个
print(msg1)#Henri is a good boy,Henri,Henri
print(msg2)#Henri is a good boy,Henri,Leo
strip() #去除开头结尾的空白
#strip:开头结尾空格、制表符\t、换行符\n的去除
msg=' Leo is a good boy,Leo,Leo'
msg3=msg.strip()
print(msg3)#Leo is a good boy,Leo,Leo
#去除指定字符
msg4=msg.strip('Leo is')
print(msg4)# a good boy,Leo,
- split() 分割:默认按照空格分割,返回一个list
- 可以实现str-------->list
#split
msg='Leo is a good boy,Leo,Leo'
msg5=msg.split()
print(msg5) #['Leo', 'is', 'a', 'good', 'boy,Leo,Leo']
#指定分隔符
msg='Leo is a good boy,Leo,Leo'
msg6=msg.split(',')
print(msg6)#['Leo is a good boy', 'Leo', 'Leo']
join() 非常好用
- 可以实现list-------->str
#join
s1='Leo'
s2='+'.join(s1)
print(s2,type(s2)) #L+e+o <class 'str'>
l1=['Leo is a good boy', 'Leo', 'Leo']
s3=','.join(l1)
print(s3)#Leo is a good boy,Leo,Leo
count() 数出字符串出现次数
format():格式化输出
#format:格式化输出
#第一种用法:
msg7='我叫{}今年{}'.format('Henri','23')
print(msg7)#我叫Henri今年23
#第二种用法:带索引,可重复用
msg8='我叫{0}今年{1}性别{2},我依然叫{0}'.format('Henri','23','男')
print(msg8)#我叫Henri今年23性别男,我依然叫Henri
#第三种用法:带关键字索引,可调顺序
msg9='我叫{name}今年{age}性别{sex},我依然叫{name}'.format(age='23',sex='男',name='Henri')
print(msg9)#我叫Henri今年23性别男,我依然叫Henri
is系列
### is系列
name='tangdaren123'
print(name.isalnum())#字符串由字母和数字组成True
print(name.isalpha())#字符串只由字母组成False
print(name.isdecimal())#字符串只由十进制组成False
#应用:购物车
s1=input('请输入您的金额:')
if s1.isdecimal():
print(int(s1))
else:
print('输入有误')
for循环
in
s1='天津大学edu'
print('天'in s1)#True
print('天津'in s1)#True
print('天津edu'in s1)#False
print('天津edu'not in s1)#True
len():获取字符串元素个数
for 变量 in interable(可迭代变量):
…………………………
s2='天津大学最牛的学生'
for i in s2:
print(i)
'''
天 s2[0]
津 s2[1]
大 s2[2]
学 …………
最
牛
的
学
生
'''
s2='天津大学最牛的学生'
for i in s2:
print(i)
if i=='的':
break
'''
天 s2[0]
津 s2[1]
大 s2[2]
学 …………
最
牛
的
'''
python03day的更多相关文章
随机推荐
- 【LeetCode】906. Super Palindromes 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 BFS解法 相似题目 参考资料 日期 题目地址:ht ...
- 【LeetCode】429. N-ary Tree Level Order Traversal 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:BFS 方法二:DFS 参考资料 日期 题目 ...
- 基于MCRA-OMLSA的语音降噪(二):实现
上篇文章(基于MCRA-OMLSA的语音降噪(一):原理)讲了基于MCRA-OMLSA降噪的原理,本篇讲怎么做软件实现.软件实现有多种方式.单纯看降噪效果可用python,因为python有丰富的库可 ...
- StringBoot
1.首先我们需要依赖SpringBoot父工程,这是每个项目中必须要有的. <!--引入SpringBoot父依赖--><parent> <groupId& ...
- Cython编译动态库、引用C/C++文件
将某些.py 编译成动态库 设置好要编译的module们: compile_to_c_modules = [ 'package.module' ] 将它们转换成cythonize可识别的参数: def ...
- 一文解析Apache Avro数据
摘要:本文将演示如果序列化生成avro数据,并使用FlinkSQL进行解析. 本文分享自华为云社区<[技术分享]Apache Avro数据的序列化.反序列&&FlinkSQL解析 ...
- uniapp蓝牙传输中文乱码问题
问题描述:app接收到蓝牙传出过来的二进制数据,1.app进行arrbuff转成16进制字符串 // ArrayBuffer转16进度字符串示例 function ab2hex(buffer) { c ...
- CS5268替代AG9321MCQ 替代AG9321方案 TYPEC转HDMI多功能拓展坞
台湾安格AG9321MCQ是一款TYPEC拓展坞产品方案,他集中了TYPEC 转HDMI VGA PD3.0快充 QC3.0数据传输 I2S接口的音频DAC输出以及可以各种读卡器功能. Caps ...
- JSP中使用<c:forEach>标签循环遍历元素
1.forEach标签元素 <c:forEach items="接收集合对象" var="迭代参数名称" varStatus="迭代状态,可访问 ...
- Java:对一个对象序列化和反序列化的简单实现
名词解释 序列化:将Java对象转化成字节的过程 反序列化:将字节转化成Java对象的过程 字节:1字节(byte)= 8bit,bit就是计算机认识的二进制 序列化的作用 Java对象是在Java虚 ...