1. 基本数据类型

1. int ==> 整数,主要⽤来进⾏数学运算

2. str ==> 字符串,可以保存少量数据并进⾏相应的操作

3. bool==>判断真假,True,False

4. list==> 存储⼤量数据,⽤[ ]表⽰

5. tuple=> 元组,不可以发⽣改变⽤( )表⽰

6. dict==> 字典,保存键值对,⼀样可以保存⼤量数据

7. set==> 集合,保存⼤量数据,不可以重复,其实就是不保存value的dict

2. 整数(int)

在python3中所有的整数都是int类型,但在python2中如果数据量比较⼤,会使⽤long类型。在python3中不存在long类型。

整数可以进⾏的操作:

bit_length(),计算整数在内存中占⽤的⼆进制码的⻓度

3. 布尔值(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值转换成相应的"值"

4. 字符串(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"
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 = "alex小灰灰liu" # alex小灰灰liu
 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 == '':
print("登录成功")
else:
print("登录失败")

s7 = "abcdefgabc"
print(s7.strip("abc")) # defg 也可以指定去掉的元素,

# 字符串替换
s8 = "sylar_alex_taibai_wusir_eggon"
ret = s8.replace('alex', '小灰灰') # 把alex替换成小灰灰
print(s8) # sylar_alex_taibai_wusir_eggon 切记, 字符串是不可变对象. 所有操作都是产⽣新字符串返回
print(ret) # sylar_小灰灰_taibai_wusir_eggon

ret = s8.replace('i', 'SB', 2) # 把i替换成SB, 替换2个
print(ret) # sylar_alex_taSBbaSB_wusir_eggon

# 字符串切割
s9 = "alex,wusir,sylar,taibai,eggon"
lst = s9.split(",") # 字符串切割, 根据,进⾏切割
print(lst)

s10 = """诗⼈
学者
感叹号
渣渣"""
print(s10.split("\n")) # ⽤\n切割

# 大坑,请留意
s11 = "银王哈哈银王呵呵银王吼吼银王"
lst = s11.split("银王") # ['', '哈哈', '呵呵', '吼吼', ''] 如果切割符在左右两端. 那么⼀定会出现空字符串.深坑请留意
print(lst)

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)

python基础(6):基本数据类型一(int、bool、str)的更多相关文章

  1. python中的基本数据类型之 int bool str

    一.基本数据类型 1. int  ==>  整数.主要用来进行数学运算. 2.str  ==>  字符串.可以保存少量的数据,并进行相应的操作. 3.bool  =>  布尔值.判断 ...

  2. python-基本数据类型(int,bool,str)

    一.python基本数据类型 1. int ==>  整数. 主要⽤用来进⾏行行数学运算 2. str ==> 字符串串, 可以保存少量量数据并进⾏行行相应的操作 3. bool==> ...

  3. 基本数据类型(int,bool,str)

    1.int bit_lenth() 计算整数在内存中占用的二进制码的长度 十进制 二进制 长度(bit_lenth()) 1 1 1 2 10 2 4 100 3 8 1000 4 16 10000 ...

  4. Python的基础类型(int,bool,str):

    Python的基础类型(int,bool,str): 1.int -------> 整形:主要用力进行数字计算 2.string ------>字符串:可以保存少量数据并进行相关的操作 3 ...

  5. day3------基本数据类型int, bool, str,list,tuple,dict

    基本数据类型(int, bool, str,list,tuple,dict) 一.python基本数据类型 1. int  整数. 主要用来进行数学运算 2. str  字符串, 可以保存少量数据并进 ...

  6. 基本数据类型int,bool,str

    .基本数据类型(int,bool,str) 基本数据数据类型: int 整数 str 字符串. 一般不存放大量的数据 bool 布尔值. 用来判断. True, False list 列表.用来存放大 ...

  7. 三.int , bool , str

     03.万恶之源-基本数据类型(int, bool, str) 本节主要内容: 1. python基本数据类型回顾 2. int----数字类型3. bool---布尔类型4. str--- 字符串类 ...

  8. 关于int,bool,str

    今日主要内容 基本数据类型(int,bool,str) 1.基本数据数据类型: int 整数 str 字符串. 一般不存放大量的数据 bool 布尔值. 用来判断. True, False list ...

  9. Python基础学习Day3 数据类型的转换、int、str、bool、字符串的常用方法、for循环

    一.数据类型的转换 常用的是:int 转str.str转int.int转bool 时   非零即为 True . # 数据类型之间转换 ***** # int <--> str str(i ...

随机推荐

  1. IT兄弟连 HTML5教程 HTML5表单 H5表单提交综合实例

    这里我们创建一个填写个人基本信息的表单,使用了表单元素有<input>输入框.<datalist>选项列表.<textarea>文本框,通用的表单输入类型有text ...

  2. Linux下MySQL数据库的my.cnf配置文件,解决中文乱码问题

    系统 CentOS 7.7 MySQL - 5.7.28文件放置目录:/etc/文件权限:644解决问题:存储中文数据乱码 # For advice on how to change settings ...

  3. 通过SSH隧道的本地转发实现Django连接远程数据库

    SSH连接命令 默认连接的端口为22 1. 使用私钥 ssh -p connect_port user_name@host -i your_private_identity 2. 使用用户密码 ssh ...

  4. PAT 1012 The Best Rank 排序

    To evaluate the performance of our first year CS majored students, we consider their grades of three ...

  5. ASP.NET图片上传和截取

    一.介绍:图片的上传直接使用ajax就可以了,截取图片的话使用到Jcrop插件. 图片上传资料:https://www.jb51.net/article/87654.htm 截取图片插件:http:/ ...

  6. C# 利用itextsharp、Spire配合使用为pdf文档每页添加水印

    下载类库: 直接下载 引入类库 功能实现 using iTextSharp.text.pdf; using Spire.Pdf; using Spire.Pdf.Graphics; using Sys ...

  7. 创建密钥并使用密钥ssh登录linux

    创建密钥并使用密钥ssh登录linux 使用密钥对登录ssh简介 通过ssh_keygen胜场公钥和私钥,公钥放在要登录的目标的机器上,私钥放登录发起的机器上. 生成密钥 我是在ubuntu上生成的密 ...

  8. Spring Boot 2 单元测试

    开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1.8 IDEA新建一个Spring Boot项目后,pom.xml默认包含了Web应用和单元测试两个依赖包.如下 ...

  9. oracle体系结构简介

    oracle体系结构简介 一.物理存储结构    1.数据文件       存放数据库数据,以dbf为扩展名.将数据放在多个数据文件中,       再将数据文件分放在不同的硬盘中,可以提高存取速度. ...

  10. linux 下使用 tc 模拟网络延迟和丢包-使用 linux 模拟广域网延迟 - Emulating wide area network delays with Linux

    tc 是linux 内置的命令:使用man pages 查看 我们看到,其功能为 show / manipulate traffic control settings,可对操作系统进行流量控制: ne ...