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

 >>>a = 1
>>>id(a)
4297537952
>>> a = a + 1
>>> id(a)
4297537984 #列表
>>>line=[1,2,3,4]
>>>id(line)
4392665160
>>>line[1] = 5
>>>line
[5,2,3,4]
>>>id(line)
>>>4392665160

1.1 索引

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

 >>>str = hello
>>>str[o] = h
>>>str[1] = e
>>>str[-1] = o

1.2 切片

切片语法:

str[start:end:step]

start是开始索引

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

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

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

 >>>str = "hello world"
>>>str[0:3]
hel
>>>str[0: ]
hello world
>>>str[-3:-1]
rld
>>>str[ : :-1]
dlrow olleh

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")  去掉两边的指定字符序列,只要是两端有序列中的内容都会去掉

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

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

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

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

1.5 格式化字符串方式二

使用.format()方法

 # 格式化输出
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)

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语句

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

  

python记录_day03 字符串的更多相关文章

  1. Python数据类型-02.字符串

    本文主要记录字符串的相关知识,包括字符串的定义特点,常用方法和 请知悉: 计算机中,一切皆为对象世界万物,皆为对象,一切对象皆可分类 1.什么是字符串? 类似"hello world&quo ...

  2. Python datetime 格式化字符串:strftime()

    Python datetime 格式化字符串:strftime()   Python 的datetime模块 其实就是date和time 模块的结合, 常见的属性方法都比较常用 比如: datetim ...

  3. 茴香豆的“茴”有四种写法,Python的格式化字符串也有

    茴香豆的"茴"有四种写法,Python的格式化字符串也有 茴香豆的"茴"有四种写法,Python的格式化字符串也有 被低估的断言 多一个逗号,少一点糟心事 上下 ...

  4. Python中关于字符串的问题

    在Python里面,字符串相加经常会出现'ascii' codec can't decode byte 0xe7 in position 0: ordinal not in range(128)这样的 ...

  5. python出输出字符串方式:

    python出输出字符串方式: >>> who='knights' >>> what='NI' >>> print ('we are the',w ...

  6. Python学习笔记-字符串

    Python之使用字符串 1.所有的标准序列操作(索引,分片,乘法,判断成员资格,求长度,取最小值,最大值)对字符串同样适用.但是字符串都是不可变的. 2.字符串格式化使用字符串格式化操作符即%. f ...

  7. Python中Unicode字符串

    Python中Unicode字符串 字符串还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte ...

  8. Python基础(二) —— 字符串、列表、字典等常用操作

    一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...

  9. Python补充05 字符串格式化 (%操作符)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输 ...

随机推荐

  1. 差分数组|小a的轰炸游戏-牛客317E

    小a的轰炸游戏 题目链接:https://ac.nowcoder.com/acm/contest/317/E 思路  这题考查的是对差分数组原理和前缀和的理解. 四个数组分别记录朝着四个方向下放的个数 ...

  2. HIHOcoder1465 后缀自动机五·重复旋律8

    思路 后缀自动机求最长循环串 首先有一个常用的处理技巧,将串复制一遍,长度大于n的子串中就包含了一组循环子串 然后是后缀自动机如何处理最长公共子串的问题 维护两个变量,u和l,u代表当前位置的最长公共 ...

  3. (zhuan) Using convolutional neural nets to detect facial keypoints tutorial

    Using convolutional neural nets to detect facial keypoints tutorial   this blog from: http://danieln ...

  4. Kubernetes简介

    Kubernetes is an open-source platform designed to automate deploying, scaling, and operating applica ...

  5. Docker2之Service

    Make sure you have published the friendlyhello image you created by pushing it to a registry. We’ll ...

  6. mysql表分区存储过程

    本文为博主原创,未经允许不得转载: 由于数据库一张表数据量有几千万条,而且在不断增长,看见公司前辈写了一个创建表分区的存储过程,感觉 甚是牛逼,在此供自己保留学习. /*PROCEDURE creat ...

  7. spring applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  8. Chrome控制台console的各种用法(方便调试)

    1.输出信息 console.log('消息内容!'); //输出普通信息 console.info('消息内容!'); //输出提示信息 console.error('消息内容!');//输出错误信 ...

  9. Oracle imp导入数据

    拿到别人给的dmp文件如何导入自己的库中呢?上码: 代码: imp dms/123321@orcl file=F:\TP_ZG_20171208.DMP feedback=10000 buffer=1 ...

  10. _itemmod_refresh

    -- 随机FM刷新设置-- 小技巧:很多服所说的装备鉴定效果可以通过这个实现,也可以对物品重新生成新的附魔--详细解说一下鉴定系统如何实现--1首先在_itemmod_enchant_groups中添 ...