我的Python之路(三)

@[TOC](Python编程-字符串的高级用法)

## 在字符操作中\表示转义,如果字符串本身包含反斜杠,则需要\\表示,其中\\就是转义字符

 1 <table class="reference">
 2 <thead>
 3 <tr>
 4 <th>转义字符</th><th>描述</th>
 5 </tr>
 6 </thead>
 7 <tbody>
 8 <tr>
 9 <td>\(在行尾时)</td>
10 <td>续行符</td>
11 </tr>
12 <tr>
13 <td>\\</td>
14 <td>反斜杠符号</td>
15 </tr>
16 <tr>
17 <td>\'</td>
18 <td>单引号</td>
19 </tr>
20 <tr>
21 <td>\"</td>
22 <td>双引号</td>
23 </tr>
24 <tr>
25 <td>\a</td>
26 <td>响铃</td>
27 </tr>
28 <tr>
29 <td>\b</td>
30 <td>退格(Backspace)</td>
31 </tr>
32 <tr>
33 <td>\e</td>
34 <td>转义</td>
35 </tr>
36 <tr>
37 <td>\000</td>
38 <td></td>
39 </tr>
40 <tr>
41 <td>\n</td>
42 <td>换行</td>
43 </tr>
44 <tr>
45 <td>\v</td>
46 <td>纵向制表符</td>
47 </tr>
48 <tr>
49 <td>\t</td>
50 <td>横向制表符</td>
51 </tr>
52 <tr>
53 <td>\r</td>
54 <td>回车</td>
55 </tr>
56 <tr>
57 <td>\f</td>
58 <td>换页</td>
59 </tr>
60 <tr>
61 <td>\oyy</td>
62 <td>八进制数,yy代表的字符,例如:\o12代表换行</td>
63 </tr>
64 <tr>
65 <td>\xyy</td>
66 <td>十六进制数,yy代表的字符,例如:\x0a代表换行</td>
67 </tr>
68 <tr>
69 <td>\other</td>
70 <td>其它的字符以普通格式输出</td>
71 </tr>
72 </tbody>
73 </table>

例:

`st0 = 'J\nK\nL'`
#J
#K
#L

# 字符串格式化

- 使用%加转换说明符的方式执行字符格式化,Python支持如下所示转换说明符

<table class="reference">
<thead>
<tr>
<th>转义说明符</th><th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>d,i</td>
<td>转换为带十进制的整数</td>
</tr>
<tr>
<td>o</td>
<td>转换为带符号的八进制整数</td>
</tr>
<tr>
<td>x,X</td>
<td>转换为带符号的十六进制整数</td>
</tr>
<tr>
<td>e,E</td>
<td>转换为科学计数法表示的浮点数(e小写、E大写)</td>
</tr>
<tr>
<td>f,F</td>
<td>转换为十进制浮点数</td>
</tr>
<tr>
<td>g</td>
<td>智能选择f或e格式</td>
</tr>
<tr>
<td>G</td>
<td>智能选择F或E格式</td>
</tr>
<tr>
<td>c</td>
<td>转换为单字符(只接受整数或单字符字符串)</td>
</tr>
<tr>
<td>r</td>
<td>使用repr()将变量或表达式转换为字符串</td>
</tr>
<tr>
<td>s</td>
<td>使用str()将变量或表达式转换为字符串</td>
</tr>
</tbody>
</table>


例:

st1 = '我爱%s'
print (st1%'Python')
>我爱Python
#这里%s表示的是替代符要将替代**源对象**转换数组再替代进来到目标**位置上**(可能这种解释不是很对,个人理解)

st2 = '我的名字是%s,我%d岁了'
print (st2 %('田大雷',25))
> 我的名字是田大雷,我25岁了
#这里因为有两个转换字符,它们所组成了一个元组,所以要用括号将这两个个准换符括起来
# 调用函数(方法)操作字符串

- 字符串本质就是由多个字符组成,字符的本质就是不可变序列,因此序列相关的方法:

#### 基于索引的计算

st3 = 'houdini.vfx'
print(st3[3])
print(st3[2:5])
print(st3[3:8:2])
#d
#udi
#dn.

#打印st3里的第三个字符 **(开始)**
#打印st3字符串中第二个开始到第五个左右字符(包含开始,不包含结尾) **(开始、结束)**
#打印st3字符串中第三个开始到第八个结束隔一个打印(间隔为2) **(开始、结束、间隔)**
#***常用于提取字符串中的指定字符***

#### in运算

st3 = 'houdini.vfx'
print ('vfx' in st3)
print ('rbd' in st3)
#True
#False

#in即 ***判断一个赋值串是否包含在某个字符串中*** ,如果是返回True,否则返回False

#### len()函数

st3 = 'houdini.vfx'
print (len(st3))
#11


#***用于计算字符串长度***
#### min()\max()函数

st3 = 'houdini.vfx'
print (max(st3))
print (min(st3))
#x

#而 ***max和min则用于分别求字符串中最大的字符串和最小的字符串***
#### 大小写相关的方法

- title():将每个单词首字母改为大写
- lower():将整个字符串改为小写
- upper():将整个字符串改为大写
#### 删除空白的方法

- strip():删除字符串前后的空白
- lstrip():删除字符串**左边**的空白
- rstrip():删除字符串**右边**的空白
#### 查找、替换相关的方法

- startswith():判断字符串是否以指定字符开头
- endswith():判断字符串是否以指定字符结尾
- find():查找指定字符在字符串中的位置,如果找到返回位置信息,如果没有返回-1
- index():查找指定字符在字符串中的位置,如果找到返回位置信息,如果没有则引发ValueError错误
- replace():使用指定字符替换字符串中的目标字串
- translate():使用指定的翻译映射对字符串执行替换

#### 使用dir查询Python方法的使用方法

1 dir(str)
2 #['\__add__', '\__class__', '\__contains__', '\__delattr__', '\__dir__', '\__doc__', '\__eq__', '\__format__', '\__ge__', '\__getattribute__', '\__getitem__', '\__getnewargs__', '\__gt__', '\__hash__', '\__init__', '\__init_subclass__', '\__iter__', '__le__', '\__len__', '\__lt__', '\__mod__', '\__mul__', '\__ne__', '\__new__', '\__reduce__', '\__reduce_ex__', '\__repr__', '\__rmod__', '\__rmul__', '\__setattr__', '\__sizeof__', '\__str__', '\__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
View Code


>#列数关于字符串的所有方法
>#前后带'__'的方法不能直接使用(后续课程补上),其他可以直接使用,具体使用方法,使用**help(str.方法)**查阅

help(str.islower)
#Help on method_descriptor:
islower(self, /)
Return True if the string is a lowercase string, False otherwise.
A string is lowercase if all cased characters in the string are lowercase and
there is at least one cased character in the string.
View Code


>#查看字符串方法中islower的具体使用方法,以上就是对这个方法怎么使用的具体描述(需要一定的英文阅读能力⊙﹏⊙∥∣°)

inta = float(input("请输入第一个数值:"))
intb = float(input("请输入第二个数值:"))

print("两个数的和为:"+ str(inta+intb))
print("和的十六进制为:" + hex(int(inta+intb)))
print("两个数的差为:" + str(inta-intb))
print("差的八进制为:" + oct(int(inta-intb)) )
print("两个数的积为:" + str(inta*intb))
print("积的二进制为:" + bin(int(inta*intb)))

# [www.runoob.com]
找到一个很好的python资料网站,记录起来,日后常翻!

猜你喜欢

转载自www.cnblogs.com/mlcg/p/11281756.html