Python 学习笔记(七卡塔尔Python字符串(二卡塔尔

作者:编程技术

字符串是一种序列,序列基本都有下面这些操作

字符串查找
find
str.find(target, [start,end) )

          把两个序列连接起来

str中包含占位符,text中是要填充的内容
使用'{}'占位符
使用'{0}','{1}'形式的占位符
使用'{name}'形式的占位符

  分分快三计划 1

字符串的定义--赋值

  *     重复序列的元素

2.每连接一次,就要重新开辟空间,然后把字符串连接起来,再放入新的空间
大量字符串拼接时,效率低
join
'sep'.join(seq)

 1 >>> "hello world"
 2 'hello world'
 3 >>> "hello world"[0]  #字符串字面值可直接用索引,也可声明变量
 4 'h'
 5 >>> a = "hello world"  #声明变量方式
 6 >>> a[0]   #左边数第一个  
 7 'h'
 8 >>> a[1:3] #左边数第二个开始,到第三个前结束 左边包括索引值对应的元素, 右边包括
 9 'el'
10 >>> a[3:]  #左边数第四个开始,直到末尾
11 'lo world'
12 >>> a[:5]  #从左边最开始到索引值为5的之前的所有元素
13 'hello'
14 >>> a[-1]  #右边第一个
15 'd'
16 >>> a[-3:-1] 
17 'rl'
18 >>>

  索引  是从0开始计数;当索引值为负数时,表示从最后一个元素(从右到左)开始计数

字符串连接

 1 >>> a = "hello world"
 2 >>> "hello"   "-----"  "world"   #连接字符串
 3 'hello-----world'
 4 >>> len(a)   #计算序列的长度
 5 11
 6 >>> print "-"*100  #减号字符串重复100 华丽的分割线
 7 ----------------------------------------------------------------------------------------------------
 8 >>> a
 9 'hello world'
10 >>> "w" in a   #判断w是否在a这个字符串中,如存在返回true,否则false 
11 True
12 >>> "p" in a   
13 False
14 >>> b ="123456"
15 >>> max(b)    #取最大值
16 '6'
17 >>> min(b)  #取最小值
18 '1'
19 >>>

字符串比较
cmp() 函数--Python3 中,cmp() 函数被移除了
cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1

  min   返回序列的最小值

常用属性和操作

  max  返回序列的最大值

如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串

内建函数

 

索引和切片

在字符串里查找子串第一次出现的位置,找不到子串会抛出异常

示例: 

  分片(截取)

  len() 求序列的长度

序列中的每个元素被分配一个序号——即元素的位置,也称为索引
第一个索引是 0,第二个则是 1,以此类推
序列中的最后一个元素标记为 -1,倒数第二个元素为 -2

  cmp(str1,str2) 比较两个序列值是否相等

在Python中,采用的格式化方式和C语言是一致的,用%实现

  cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。

格式化整数和浮点数还可以指定整数与小数的位数 '%.2f'
%x 十六进制整数
%r 原始字符串 --注意和%s的区别

  切片 用于截取某个范围内的元素,通过:来指定起始区间(左闭右开区间,包含左侧索引值对应的元素,但不包含右测索引值对应的元素。

字符串翻转
  [::-1]

  示例 hello world

字符串去空格
str.strip() --去掉字符串的左右空格
str.lstrip() --去掉字符串的左边空格
str.rstrip() --去掉字符串的右边空格

  ord() 返回某个字符所对象的ASCLL码的数值

我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的

  in      判断某个元素是不是在一个序列之中

格式化

  chr() 返回ASCLL码的数值所对应的字符

未查询到分隔符时,列表只包含原始字符串

 1 >>> ord("a") 返回a字符所对象的ASCLL码的数值
 2 97
 3 >>> ord(" ")
 4 32
 5 >>> chr(97)  返回ASCLL码的数值所对应的字符
 6 'a'
 7 >>> cmp("a","b") 比较两个字符串的大小按ascll码数值比较
 8 -1
 9 >>> ord("a")
10 97
11 >>> ord("b")
12 98

索引和分片(切片)*
  *索引:string[index]
超出索引:IndexError: string index out of range
遍历字符串中的每个字符
0到len-1
翻转输出每个字符 -1 到 -len

在Python中,最基本的数据结构是序列

1.Java中其他基本数据类型和string做 ,自动转成string处理

eval函数--将字符串str当成有效的表达式来求值并返回计算结果
  执行动态代码
  注意安全问题

上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个新的字符串

6种内建的序列,包括列表、元组、字符串、Unicode字符串、buffer对象和xrange对象

在字符串中查找指定字符串首次出现的index,找不到时返回-1
index
str.index(target, [start,end) )

Python中没有此特性。需要先转成string再做拼接

*加号连接效率低是在连续进行多个字符串连接的时候出现的,如果连接的个数较少,加号连接效率反而比join连接效率高

将一个字符串分裂成多个字符串组成的列表
不带参数时以空格进行分割
代参数时,以该参数进行分割

在字符串内部,%?代表此处的内容需要被变量填充
数据类型不同
%s 字符串
如果字符串中有% 就用%%
%d 整数
%f 浮点数

字符串替换
str.replace(old, new[, max])
参数:old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。未找到就不替换
max -- 可选字符串, 替换不超过 max 次

其他
str.isalnum() --是否全是字母和数字,并至少有一个字符
str.isalpha() --是否全是字母,并至少有一个字符
str.isdigit --是否全是数字,并至少有一个字符
str.isspace() --是否全是空白字符,并至少有一个字符
str.count(targer,[min,max)) --统计某个字符在字符串中出现的次数
endswith(target) --判断字符串是否以某个字符串结尾

“字符串其实就是一个字符元素组成的序列”
长度
内置方法len(string)

format
str.format(text)

格式:' xxx%s,"%d" '%('aaa', 123)

格式:string[头下标:尾下标:步长]
步长默认为1
越界不会报错,取到结尾
包含头下标,不包含尾下标
头下标为空:从第一个字符开始截取
尾下标为空:截取到最后
[:]字符串“拷贝”

在字符串外部,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略

单引号、双引号、混用:可以避免使用转义字符
长字符串--当字符串跨行
''' """
str() 一般是将数值转成字符串
repr() 将一个对象转成字符串显示--原始值

字符串大小写
str.upper() --转大写
str.lower() --转小写
str.capitalize() --首字母大写
str.istitle() --是否是首字母大写的
str.isupper() --字母是否全是大写
str.islower() --字母是否全是小写

字符串分割
str.split(sep, [,max])

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划 python