python的核心数据类型_核心数据类型--字符串
## 说明
字符串`字面量`:把文本放入单引号/双引号/三引号中,单双引号混合时使用**3单引号**。
python2 使用`unicode`编码,使用u进行标识, 如u'hiyang',python3自动支持。
文档字符串:模块/类或者函数的`第一条语句`是一个字符的话,该字符串成为`文档字符串`,可以使用__doc__引用。
## 索引和切片
索引运算符:`[i]`
切片运算符:`[i:j]`
切片运算符**扩展**:[i:j:stride],`[::1]`正向显示` [::-1]`倒序显示
## 字符串操作符
![](https://ws4.sinaimg.cn/large/006tKfTcgy1frxrx127dnj31hu0cuan8.jpg)
## 内置函数
~~~
min(s)字符串中的最小值
max(s)字符串中的最大值
sum()只适用于数字序列
all(s)检查所有项是否都为True
any(s)检查任意项是否为为True
~~~
### 字符串填充
~~~
S.center(width[, fillchar]) -> string将字符串放到中心
S.[l|r]just(width[, fillchar]) -> string从左或右侧进行填充
S.zfill(width) -> string以字符0进行填充,在输出数值时比较常用
S.expandtabs([tabsize]) -> stringtabsize默认为8,字符串中的制表符tab转换为适当数量的空格
~~~
### 删除指定字符串两端字符
~~~
S.strip([chars]) -> string or unicode删除字符串两端的字符,默认为空格
S.[l|r]strip([chars]) -> string or unicode删除字符串左或右侧的字符,默认为空格
~~~
### 字符串变形
~~~
S.capitalize()首字母大写
S.lower()字符转化为小写
S.upper()字符转化为大写
S.swapcase()大小写互换
S.title()将每一个单词的首字母大写,并将单词中的非首字母转换为小写
~~~
>[danger] string 模块中的capwords()函数,去除两端的空白符,再将连续的空白符用一个空格代替。
### 分切
~~~
S.[r]partition(sep) -> (head, sep, tail)将字符串按指定字符从左边(默认)切片
S.[r]split([sep [,maxsplit]]) -> list字符串切割为列表,sep为分隔符(从左,右边开始)maxsplit 是分切的次数
S.splitlines(keepends=False) -> list of strings 将多行按行切为字符串列表,keepends表示是否包含行结束符
~~~
### 连接
`S.join(iterable) -> string功用是将可迭代的字符串序列连接成一条长字符串`
``` python
>>> conf = {'host':'127.0.0.1',
'db':'spam',
'user':'sa',
'passwd':'eggs'}
>>> ';'.join("%s=%s" % (k, v) for k, v in conf.iteritems())
'passswd=eggs;db=spam;user=sa;host=127.0.0.1'
```
### 判断
~~~
S.isdigit()判断S是否为数字
S.isalpha()判断S是否为字母
S.isalnum()判断S是否为字母或数字
S.islower()S.isupper()判断S是否为大,小写
S.isspace()判断S是否为空格
S.istitle()判断S是否为标题
S.startswith(prefix[, start[, end]]) -> bool
S.endswith()S.endswith(suffix[, start[, end]]) -> bool是否以suffix结束
~~~
~~~
a = 'hiyang'
a.endswith('ng',-2)
True
~~~
### 查找
~~~
S.count() 统计子串
S.[r]find(sub [,start [,end]]) -> int 查找字符串首次出现的位置,默认找最小的位置,找不到时返回-1
S.[r]index(sub [,start [,end]]) -> int 查找字符串首次出现的位置,默认找最小的位置,找不到时抛出ValueError异常
~~~
>[danger]index找不到时抛出ValueError异常
### 替换
~~~
S.replace(old, new[, maxcount]) -> string 替换指定字符串
S.translate(table [,deletechars]) -> stringtranslate() 对 unicode 对象的支持并不完备,建议不要使用
~~~
~~~
p = str.maketrans('abc', '123')
'hiyang'.translate(p)
~~~
### 编码
> decode encode 这是一对互逆操作的方法,用以编码和解码字符串。因为str是平台相关的,它使用的内码依赖于操作系统环境,而unicode是平台无关的,是Python内部的字符串存储方式。unicode可以通过编码(encode)成为特定编码的str,而str也可以通过解码(decode)成为unicode。
### python3
python3解码时会将数据转化为bytes类型,编码时,会把bytes转化为字符串。
![](http://om4h63cja.bkt.clouddn.com/17-8-21/95704881.jpg)
~~~
b="ddefdsdff_哈哈"
b.isidentifier() #检测一段字符串可否被当作标志符,即是否符合变量命名规则
~~~
## 适用于字符串的操作
## 补充说明
Python自动在任意表达式中合并相邻的字符串
```python
title = 'This' 'is' 'me'
title
'Thisisme'
```
**raw字符串抑制转义**
```python
fd = open(r'C:\new\text.dat', 'w')
```
注意:
```python
len(repr('spam'))
Out[60]: 6
```
join方法--将子字符串放置到可迭代对象中包含字符串之间
```
'&&'.join(open('bash.py'))
'hiyang\n&&hiyan\n&&123\n&&\n'
```
## 字符串逆序
\b 回退一格 \n换行 \r 回车 光标移到本行行首
## 星座
~~~
In [8]: for i in range(12):
...: print(chr(9800 + i))
~~~
python的核心数据类型_核心数据类型--字符串相关推荐
- ARM核心板_迅为imx6工控核心板_核心板中的小新潮
ARM核心板_迅为imx6工控核心板_核心板中的小新潮 核心板参数 尺寸 51mm*61mm CPU Freescale Cortex-A9 四核 i.MX6Q,主频 1.2 GHz 内存 2GB D ...
- datetime数据类型_系统数据类型
1.整数型 1. 整数型数据由负整数或正整数组成,如-15. 0.5和2509. 整数型数据使用bigint.int, smallint和tinyint数据类型存储.各种类型能存储的数值的范围如下: ...
- python不支持以下哪种数据类型_下列数据类型中, Python不支持的是()。_学小易找答案...
[判断题]a={},type(a)结果是 . (5.0分) [简答题]内造型设计 [填空题]水分子之间存在着质子的传递作用,称为水的 作用,这个作用的平衡常数在25度时等于 . [填空题]len('3 ...
- java核心教程_核心Java教程
java核心教程 Welcome to Core Java Tutorial. I have written a lot on Core Java and Java EE frameworks. Th ...
- java 测试用例核心代码_核心Java测验
java 测试用例核心代码 Welcome to Core Java Quiz. Java is an object-oriented programming language. 欢迎来到Core J ...
- mysql适合储存高清电影的数据类型_下列数据类型中适合存储PDF文档的是( ) (5.0分)_学小易找答案...
[单选题]咯血的特点不正确的是 [单选题]下面关于SHOW TABLES LIKE 't%'描述错误的是( ) (5.0分) [单选题]下列删除itcast数据库的sql语句中,正确的是 (5.0分) ...
- java复合数据类型_复合数据类型
1.列表,元组,字典,集合分别如何增删改查及遍历. 答: (1)列表的增删改查: 增:使用append()方法在列表的末尾增加新的元素 删:使用del语句来删除列表的元素 改:通过下标索引找到值然后直 ...
- python数据转换成字节流_关于Python3字符串转换为字节流的问题
un = 'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe ...
- 西门子real是什么数据类型_西门子数据类型REAL转WORD和S5TIME的方法
real转双整数是有一个取整指令的round,这样就可以实现把real转换为双整数,当然余数丢失了. 双整数比如MD10,那么MD10=(MW10+MW12)组成的,当然这里不是数学符号,不明白的可以 ...
最新文章
- conda 基本操作
- Elasticsearch压缩索引——lucene倒排索引本质是列存储+使用嵌套文档可以大幅度提高压缩率...
- Solaris IPMP 配置
- 从Q4财报,看有道如何实现从在线教育“迷途”中脱身?
- 在java中arraylist_在Java中将ArrayList添加到另一个ArrayList
- magenta内核与linux,谷歌将推出新操作系统Fuchsia:Magenta语言为内核
- SQL中on条件与where条件的区别(二)【转】
- 【汇编语言与计算机系统结构笔记02】整数的计算机表示与运算,C中的无符号字符(unsigned)和带符号字符(signed),补码,一些例题
- 地理加权归回模型 (GWR) 参数估计
- CAN与CAN FD通信之间存在的问题
- go编译成linux可执行,Golang 编译Mac、Linux、Windows多平台可执行程序
- 深度学习小笔记04-魏秀参《解析深度学习-卷积神经网络原理与视觉实践》
- php在线生成logo,logo在线生成 php在线生成ico文件的代码
- 计算机界十位顶级人物!
- Error Code: 1054. Unknown column 'xxx' in 'field list'
- JQuery插件之-----Datatables(三)Datatables实现多选框与AJAX返回数据
- unity 模拟引力
- linux基础学习-ssh基础
- html css 最佳实践,30个CSS最佳实践 | Soo Smart!
- 细节决定成败,人生要注意的50个细节