万恶之源-Python之基本数据类型(int, bool, str)
off999 2024-10-16 11:23 33 浏览 0 评论
本节主要内容:
1. python基本数据类型回顾
2. int----数字类型
3. bool---布尔类型
4. str--- 字符串类型
一.python基本数据类型
1. int ==> 整数. 主要用来进行数学运算
2. str ==> 字符串, 可以保存少量数据并进行相应的操作
3. bool==>判断真假, True, False
4. list==> 存储大量数据.用[ ]表示
5. tuple=> 元组, 不可以发生改变用( )表示
6. dict==> 字典, 保存键值对, 一样可以保存大量数据
7. set==> 集合, 保存大量数据. 不可以重复. 其实就是不保存value的dict
二. 整数(int)
在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型.
在python3中不存在long类型
整数可以进行的操作:
bit_length(). 计算整数在内存中占用的二进制码的长度
三. 布尔值(bool)
取值只有True, False. bool值没有操作.
转换问题:
str => int int(str) int => str str(int) int => bool bool(int). 0是False 非0是True bool=>int int(bool) True是1, False是0 str => bool bool(str) 空字符串是False, 不空是True bool => str str(bool) 把bool值转换成相应的"值"
四. 字符串(str)
把字符连成串. 在python中用', ", ''', """引起来的内容被称为字符串.
4.1 切片和索引
1. 索引. 索引就是下标. 切记, 下标从0开始
# 0123456 7 8 s1 = "python最牛B" print(s1[0]) # 获取第0个 print(s1[1]) print(s1[2]) print(s1[3]) print(s1[4]) print(s1[5]) print(s1[6]) print(s1[7]) print(s1[8]) # print(s1[9]) # 没有9, 越界了了. 会报错 print(s1[-1]) # -1 表示倒数. print(s1[-2]) # 倒数第二个
2. 切片, 我们可以使用下标来截取部分字符串的内容
语法: str[start: end]
规则: 顾头不顾腚, 从start开始截取. 截取到end位置. 但不包括end
s2 = "python最牛B" 8 1000 4 print(s2[0:3]) # 从0获取到3. 不不包含3. 结果: pyt print(s2[6:8]) # 结果 最牛 print(s2[6:9]) # 最大是8. 但根据顾头不顾腚, 想要取到8必须给9 print(s2[6:10]) # 如果右边已经过了最大值. 相当于获取到最后 print(s2[4:]) # 如果想获取到最后. 那么最后一个值可以不给. print(s2[-1:-5]) # 从-1 获取到 -5 这样是获取不到任何结果的. 从-1向右数. 你怎么数 也数不到-5 print(s2[-5:-1]) # 牛b, 取到数据了. 但是. 顾头不顾腚. 怎么取最后一个呢? print(s2[-5:]) # 什么都不写就是最后了 print(s2[:-1]) # 这个是取到倒数第一个 print(s2[:]) # 原样输出
跳着截取
# 跳着取, 步长
print(s2[1:5:2]) # 从第一个开始取, 取到第5个,每2个取1个, 结果: yh, 分析: 1:5=> ytho => yh print(s2[:5:2]) # 从头开始到第五个. 每两个取一个 print(s2[4::2]) # 从4开始取到最后. 每两个取一个 print(s2[-5::2]) # 从-5取到最后.每两个取一个 print(s2[-1:-5]) # -1:-5什么都没有. 因为是从左往右获取的. print(s2[-1:-5:-1]) # 步长是-1. 这时就从右往左取值了 print(s2[-5::-3]) # 从倒数第5个开始. 到最开始. 每3个取一个, 结果oy
步长: 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1
切片语法:
str[start:end:step]
start: 起始位置
end: 结束位置
step:步长
4.2 字符串的相关操作方法
切记, 字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的
1. 大小写转来转去
s1.capitalize()
print(s1) # 输出发现并没有任何的变化. 因为这里的字符串本身是不会发生改变的. 需要我们重新获取
ret1 = s1.capitalize()
print(ret1)
# 大小写的转换
ret = s1.lower() # 全部转换成小写
print(ret)
ret = s1.upper() # 全部转换成大写
print(ret)
# 应用, 校验用户输入的验证码是否合法
verify_code = "abDe"
user_verify_code = input("请输入验证码:")
if verify_code.upper() == user_verify_code.upper():
print("验证成功")
else:
print("验证失败")
ret = s1.swapcase() # 大小写互相转换
print(ret)
# 不常用
ret = s1.casefold() # 转换成小写, 和lower的区别: lower()对某些字符支持不够好.
casefold()对所有字母都有效. 比如东欧的一些字母
print(ret)
s2 = "БB?" # 俄美德
print(s2)
print(s2.lower())
print(s2.casefold())
# 每个被特殊字符隔开的字母首字母大写
s3 = "alex eggon,taibai*yinwang_麻花藤"
ret = s3.title() # Alex Eggon,Taibai*Yinwang_麻花藤
print(ret)
# 中文也算是特殊字符
s4 = "orz胖大海" # Orz胖大海
print(s4.title())
2. 切来切去
# 居中
s5 = "周杰伦"
ret = s5.center(10, "*") # 拉长成10, 把原字符串放中间.其余位置补*
print(ret)
# 更改tab的?长度
s6 = "alex wusir\teggon"
print(s6)
print(s6.expandtabs()) # 可以改变\t的长度, 默认长度更改为8
# 去空格
s7 = " alex wusir haha "
ret = s7.strip() # 去掉左右两端的空格
print(ret)
ret = s7.lstrip() # 去掉左边空格
print(ret)
ret = s7.rstrip() # 去掉右边空格
print(ret)
# 应用, 模拟用户登录. 忽略用户输入的空格
username = input("请输入用户名:").strip()
password = input("请输入密码: ").strip()
if username == 'alex' and password == '123':
print("登录成功")
else:
print("登录失败")
s7 = "abcdefgabc"
print(s7.strip("abc")) # defg 也可以指定去掉的元素,
# 字符串替换
s8 = "dalianmao_aichiyu_orz"
ret = s8.replace('orz', '胖大海') # 把orz替换成胖大海
print(s8) # dalianmao_aichiyu_orz 切记, 字符串是不可变对象. 所有操作都是产生新字符串返回
print(ret) # dalianmao_aichiyu_胖大海
ret = s8.replace('i', 'SB', 2) # 把i替换成SB, 替换2个
print(ret) # dalSBanmao_aSBchSByu_orz
# 字符串切割
s9 = "a,b,c,d"
lst = s9.split(",") # 字符串切割, 根据 , 进行切割
print(lst) #打印 'a','b','c','d'
3. 格式化输出
# 格式化输出
s12 = "我叫%s, 今年年%d岁了, 我喜欢%s" % ('sylar', 18, '周杰伦') # 之前的写法
print(s12)
s12 = "我叫{}, 今年年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化
print(s12)
s12 = "我叫{0}, 今年年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28) # 指定位置
print(s12)
s12 = "我叫{name}, 今年年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润发", age=28) # 指定关键字
print(s12)
4. 查找
s13 = "我叫sylar, 我喜欢python, java, c等编程语言."
ret1 = s13.startswith("sylar") # 判断是否以sylar开头
print(ret1)
ret2 = s13.startswith("我叫sylar") # 判断是否以我叫sylar开头
print(ret2)
ret3 = s13.endswith("语言") # 是否以'语言'结尾
print(ret3)
ret4 = s13.endswith("语言.") # 是否以'语言.'结尾
print(ret4)
ret7 = s13.count("a") # 查找"a"出现的次数
print(ret7)
ret5 = s13.find("sylar") # 查找'sylar'出现的位置
print(ret5)
ret6 = s13.find("tory") # 查找'tory'的位置, 如果没有返回-1
print(ret6)
ret7 = s13.find("a", 8, 22) # 切片找
print(ret7)
ret8 = s13.index("sylar") # 求索引位置. 注意. 如果找不到索引. 程序会报错
print(ret8)
5. 条件判断
# 条件判断
s14 = "123.16"
s15 = "abc"
s16 = "_abc!@"
# 是否由字母和数字组成
print(s14.isalnum())
print(s15.isalnum())
print(s16.isalnum())
# 是否由字母组成
print(s14.isalpha())
print(s15.isalpha())
print(s16.isalpha())
# 是否由数字组成, 不包括小数点
print(s14.isdigit())
print(s14.isdecimal())
print(s14.isnumeric()) # 这个比较牛B. 中文都识别.
print(s15.isdigit())
print(s16.isdigit())
# 练习. 用算法判断某一个字符串是否是小数
s17 = "-123.12"
s17 = s17.replace("-", "") # 替换掉负号
if s17.isdigit():
print("是整数")
else:
if s17.count(".") == 1 and not s17.startswith(".") and not s17.endswith("."):
print("是小数")
else:
print("不是小数")
6. 计算字符串的长度
s18 = "我是你的眼, 我也是a" ret = len(s18) # 计算字符串的长度 print(ret)
注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就行了
7. 迭代
我们可以使用for循环来便利(获取)字符串中的每一个字符
语法:
for 变量 in 可迭代对象:
pass
可迭代对象: 可以一个一个往外取值的对象
s19 = "大家好, 我是VUE, 前端的小朋友们. 你们好么?"
# 用while循环
index = 0
while index < len(s19):
print(s19[index]) # 利用索引切片来完成字符的查找
index = index + 1
# for循环, 把s19中的每一个字符拿出来赋值给前面的c
for c in s19:
print(c)
'''
in有两种用法:
1. 在for中. 是把每一个元素获取到赋值给前面的变量.
2. 不不在for中. 判断xxx是否出现在str中.
'''
print('VUE' in s19)
# 练习, 计算在字符串"I am sylar, I'm 14 years old, I have 2 dogs!"
s20 = "I am sylar, I'm 14 years old, I have 2 dogs!"
count = 0
for c in s20:
if c.isdigit():
count = count + 1
print(count)
相关推荐
- 戴尔官网保修查询入口(戴尔售后保质期查询)
-
可以按照以下步骤查询戴尔笔记本电脑的保修期:1.打开戴尔官网:https://www.戴尔.com/zh-cn/售后服务/保修政策.html2.点击页面上方的“服务与支持”按钮,进入戴尔的服务支持...
- 手机号邮箱登录入口(手机号邮箱官网)
-
手机163邮箱登录入口如下:163邮箱官网入口:https://smart.mail.163.com/login.htm点击进入登录或者注册邮箱即可。手机浏览器访问进入官网http://www.123...
- sd卡(sd卡无法读取怎么修复)
-
SD卡是大卡,相机用的;普通的手机内存卡,是小卡,正规的名称是macrosd卡,也就是微型SD卡。可以通过卡套转为普通的SD卡的大小。 其实就是大小不同。但手机上的内存卡,人们经常也俗称为SD...
- windows7蓝牙功能在哪里打开
-
点击搜索框在windows7系统主界面点击开始菜单,点击打开搜索框。输入命令输入services.msc后回车,在列表中找到并右击BluetoothSupportS...点击属性选择进入属性菜单,...
-
- 2010激活密钥(microsoft2010激活密钥)
-
步骤/方式1officeprofessionalplus2010:(office专业版)6QFdx-pYH2G-ppYFd-C7RJM-BBKQ8Bdd3G-xM7FB-Bd2HM-YK63V-VQFdKVYBBJ-TRJpB-QFQ...
-
2025-11-19 04:03 off999
- 联想官方刷新bios工具(联想电脑刷新bios)
-
刷新BIOS需要使用联想的官方网站或授权维修中心来进行操作。以下是一些基本步骤:1.访问联想的官方网站,找到BIOS更新程序并下载。在下载过程中,请确保选择与您计算机型号匹配的版本。2.将下载的B...
-
- 苹果ios14系统下载(苹果ios14.1下载)
-
1方法一步骤/方式一打开Appstore。步骤/方式二在搜索栏点击搜索框。步骤/方式三搜索并点击需要下载的软件。步骤/方式四点击获取。步骤/方式五最后验证ID密码即可。1.在应用商店搜索你要下载的应用名称。2.点击下载按钮,如果要求登...
-
2025-11-19 03:03 off999
- office2010怎么免费永久激活密钥
-
用这个试试,一个KMS激活工具可以激活2010到2019的Office自家的目前用的就是这个microsoft6477.moe/1716.html直接使用这个Microsoftoffice2010...
-
- 类似爱加速的国内ip(类似爱加速的app)
-
推荐“V8盒子”。这一款免费无广告的模拟器,不同于其它软件盒子,而是类似于X8沙箱,满足游戏多开,画中画,悬浮球操作,熄屏后台运行等多功能的沙箱盒子.支持一键root,一键安装xposed框架,能在安卓/苹果手机上运行多个安卓/ios虚拟系...
-
2025-11-19 02:03 off999
- 阿里旺旺手机客户端(阿里旺旺手机app)
-
手机淘宝的旺旺在打开商品后,会看到左下角有个旺旺的图标,点击就可以联系了。 阿里旺旺是将原先的淘宝旺旺与阿里巴巴贸易通整合在一起的一个新品牌。它是淘宝和阿里巴巴为商人量身定做的免费网上商务沟通软件,...
- 最纯净的pe装机工具(pe工具哪个纯净)
-
U盘装系统步骤:1.制作U盘启动盘。这里推荐大白菜U盘启动盘制作工具,在网上一搜便是。2.U盘启动盘做好了,我们还需要一个GHOST文件,可以从网上下载一个ghost版的XP/WIN7/WIN8系统,...
- 装一个erp系统多少钱(wms仓库管理软件)
-
现在主流有客户端ERP和云端ERP两种客户端通常一次买断,价格在万元左右,但是还有隐性费用,你需要支付服务器、数据管理员,此外如果系统需要更新维护,你还需要支付另外一笔不菲的费用。云端ERP:优势...
- cad2014序列号和密钥永久(autocad2014序列号和密钥)
-
1在cad2014中修改标注样式后,需要将其保存2单击“样式管理器”按钮,在弹出的窗口中选择修改后的标注样式,然后单击“设置为当前”按钮,再单击“保存当前样式”按钮,将其保存为新的样式名称3为了...
- qq修改密保手机号(qq修改密保手机号是什么意思)
-
QQ更改绑定的手机号码操作步骤如下:1、打开手机主界面,找到“QQ”软件点击打开。2、输入正确的QQ账户和密码登录到qq主界面。3、点击左上角的头像“图片”,进入到个人中心界面。4、进入到个人中心界面...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
