博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python记录_day03 字符串
阅读量:5285 次
发布时间:2019-06-14

本文共 2980 字,大约阅读时间需要 9 分钟。

python基本数据类型回顾

1. int 整数

2. str 字符串. 不会用字符串保存大量的数据
3. bool 布尔值. True, False
4. list 列表(重点) 存放大量的数据
5. dict 字典 key: value 查找会比较快
6. set 集合 无序 不能重复
7. bytes 一堆字节。 我们程序处理的最小单位
8. tuple 元组 不可变的列表

 

一、int(整数)

对于一个数字除了运算几乎没有其他的操作,如果想找的话倒是有一个bit_lenght(),可以用来计算这个数的二进制长度

 

二、bool 布尔值

bool没有什么方法,这里说一下数据类型转换问题

x 转成 y类型  => y(x)

比如:

x 转成 int  => int(x)

x 转成 str => str(x)

x 转成 bool => bool(x)

在bool转成int时,int(Ture) 是1 int(False)是0

 

三、字符串

字符串由 ', ", ''', """组成

字符:你能看到的单一文字符号

字符串:字符连成串,有固定顺序的

注意: 字符串是一个不可变的数据类型,不可变数据类型还有数字、元组

什么是可变数据类型和不可变数据类型?

  我们知道数据在创建的的时候都会申请一个内存空间用来存储它,变量名只是指向这个内存空间。对于不可变数据类型来说,对变量的操作会改变它的内存空间(id),而对可变数据类型的操作则不会改变内存空间id

1 >>>a = 1 2 >>>id(a) 3 4297537952 4 >>> a = a + 1 5 >>> id(a) 6 4297537984 7  8 #列表 9 >>>line=[1,2,3,4]10 >>>id(line)11 439266516012 >>>line[1] = 513 >>>line14 [5,2,3,4]15 >>>id(line)16 >>>4392665160
View Code

1.1 索引

索引就是字符串中每个元素所对应的位置,索引从0开始

1 >>>str = hello 2 >>>str[o] = h3 >>>str[1] = e4 >>>str[-1] = o
View Code

 

1.2 切片

切片语法:

str[start:end:step]

start是开始索引

end是结束索引,但结束索引对应元素取不到(顾头不顾腚)

step 表示步长,即多少元素中取一个,如果是2的话就是两个元素中取一个

        步长是整数表示从左往右取,是负数表示从右往左取,默认是1

1 >>>str = "hello world"2 >>>str[0:3]3 hel4 >>>str[0: ]5 hello world6 >>>str[-3:-1]7 rld8 >>>str[ : :-1]9 dlrow olleh
View Code

 

1.3 大小写转来转去

s ="hello old boy"

s.capitalize()  将句子首字母转成大写

s.title()  将特殊符号隔开的单词首字母都转为大写

s.upper()  全部转为大写

s.lower()  全部转为小写

s.casefold()   全部转为小写  和lower()的区别是 lower()对某些字母支持不够好,而这个支持所有字母,比如东欧一些字母

s.swapcase()  大小写互相转换

 

1.4 切来切去

str = "old boy "

str.center(10 , *)  居中     把str扩展到长度为10,用*填充

str.strip()  去掉字符串两端的空白(包括空格,换行符,\t),

str.lstrip() 去掉左边的空白

str.rstrip() 去掉右边的空白

str.strip("s")  去掉两边的指定字符序列,只要是两端有序列中的内容都会去掉

1 name = "aleX leNb"2 print(name.strip("ab")) #移除开头的a和结尾的b
View Code

str.replace("old", "new")  字符串替换 把old替换成new

str.split(" x ")   根据 x 对字符串进行切割,得到的是一个列表,如果切割符在左右两端. 那么 一定会出现空字符串。(深坑请留意) 

如果split()没给值,会根据空白切割得到一个列表,并将空字符串从列表中删除(在操作文件时有时候会很方便)

 

1.5 格式化字符串方式二

使用.format()方法

1 # 格式化输出 2 s12 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('sylar', 18, '周杰伦')  3 # 之前的写法 4 print(s12) 5 s12 = "我叫{}, 今年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发")  6 # 按位置格式化 7 print(s12) 8 s12 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28)  9 # 指定位置10 print(s12)11 s12 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润12 发", age=28) 13 # 指定关键字14 print(s12)
View Code

1.6 查找

str = "我喜欢python"

str.startswith("x")   是否以 x 开头

str.endswith("x")    是否以 x 结尾

str.count("x")       x在str中出现的次数

str.find("x")     查找str中是否存在 x ,有就返回索引值,没有返回-1

str.find("x", a , b)  切片查找

str.index("x")   查找 x 的索引值,有就返回,没有报错

 

1.7 条件判断

str.isalnum() 是否由字母和数字组成

str.isdigital() 是否由数字组成

str.isdecimal() 检查字符串是否只包含十进制字符

str.isnumeric() 是否由数字组成,比较厉害,中文数字都能识别

str.isalphl() 是否由字母组成

 

1.8 计算字符串长度

len() 函数

str = "我是不是你最爱的人"

print(len(str))  #输出str长度

 

1.9 迭代

for 变量 in 可迭代对象:

  循环体(break,continue)

else:

  else语句

1 '''用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2 2秒","倒计时1秒","出发!"。3 '''4 s = "321"5 for c in  s:6     # print("倒计时%s秒" % c)7     print("倒计时{}秒".format(c))8 else:9     print("出发")
View Code

 

  

 

转载于:https://www.cnblogs.com/zhang-yl/p/9819094.html

你可能感兴趣的文章
x的x次幂的值为10,求x的近似值
查看>>
jquery获取html元素的绝对位置和相对位置的方法
查看>>
ios中webservice报文的拼接
查看>>
Power BI 报告的评论服务支持移动设备
查看>>
ACdream 1068
查看>>
HDU 2665 Kth number
查看>>
记叙在人生路上对你影响最大的三位老师
查看>>
002.大数据第二天
查看>>
python装饰器
查看>>
树上的路径
查看>>
问题总结
查看>>
软件随笔
查看>>
Linux下SVN自动更新web [转]
查看>>
Openstack api 学习文档 & restclient使用文档
查看>>
poj100纪念
查看>>
NetWork——关于TCP协议的三次握手和四次挥手
查看>>
An easy problem
查看>>
MauiMETA工具的使用(一)
查看>>
LeetCode: Anagrams 解题报告
查看>>
Qt 中获取本机IP地址
查看>>