第四篇:strings
来源:互联网 发布:3*3矩阵的行列式怎么求 编辑:程序博客网 时间:2024/05/17 02:36
1.一点,两点都一样
前面已经说了。string可以用““ 也可以使用‘ ’。那它为什么要用两种方式表示呢。其实这样会有不少方便之处:
>>> 'I'm'SyntaxError: invalid syntax>>> 'I"m''I"m'>>> "I"m"SyntaxError: invalid syntax>>> "I'm""I'm"
除非你坚持还用下面的方式:
>>> 'I\'m'"I'm"
2.转义字符
和c/c++差不多
>>> s = 'a\nb\tc'>>> s'a\nb\tc'>>> print(s)abc>>>len(s)5
转移字符参考:
注意,如果转义字符没有意义,python会多加一个\:
>>> x = "C:\py\code" # Keeps \ literally>>> x'C:\\py\\code'>>> len(x)10
>>> path = r'C:\new\text.dat'>>> path # Show as Python code'C:\\new\\text.dat'>>> print(path) # User-friendly formatC:\new\text.dat>>> len(path) # String length15
3.三个点:块string:
用三个点的标识就可以记录多行string了。下面的例子'''.....''' 也可以改成""".....""" (一点两点都一样嘛)
>>> h = '''Hello,World'''>>> h'\nHello,\nWorld\n'>>> print(h)Hello,World
那么块string有什么作用呢?
1.表示多行string。
2.多汗注释。:)
我在eclipe里创建一个python文件,文件创建说明就是这么注释的:
'''Created on 2013-4-27@author: xxxxxx'''
4.基本的string操作
*真的很好用呀:
>>> print('------------------------------30----------')------------------------------30---------->>> print('-'*30+'30'+'-'*10)------------------------------30----------
你看看,第一种方法要打出30个’-‘, 然后打出30, 再打出10个‘-’。好烦呀。
下面显然会简洁一点:
来30个‘-’,再贴上字符串‘30’, 最后再贴上10个‘-’
注意:string 和 number 不存在+ - / 的关系:
‘hello' + 9: wrong, 不会自动转换9
延用上面的例子。我要看看30是不是在string里,结果显示的确在的。
>>>"30" in ouputTrue
这里又用到了in.注意in的多种用途。
5.下标
这个看起来太简单了。直接上例子足以。
下标操作:
>>> h = 'asdn bsdn csdn ... zsdn'>>> h[0]'a'>>> h[0:2] #冒号表示0到2,[...)。包括0, 不包括2'as'>>> h[1:3]'sd'>>> h[:-1]'asdn bsdn csdn ... zsd'>>> h[2:]'dn bsdn csdn ... zsdn'
说明:
与MATLAB下标操作类似。这里用:表示’直到‘的意思。
1:3 这是指:1到3
1: 这是指: 1到最后
:5 这是指: 最前面到5
并且这里指的是闭开区间。与c++的STL里面[begin...end)类似。
如果要增大步长间隔,可以这么用:
>>> h[1:10:2] #[1, 10) 步长为2'snbd '>>> h[::2] #头到尾,步长为2'ad sncd . sn'
注意这边与MATLAB不太一样,MATLAB中,步长是写在中间的,如[1:2:10]
当然下标不仅仅是变量的权利:
>>> 'spam'[1:3] #没有变量指向的object也可以使用下标等其它操作符。以后不再说明。'pa'
当然,既然负数也可以表示下标,我们也就可以倒着玩了:
>>> 'hello'[::-1]'olleh'>>> 'hello'[3:1:-1]'ll'>>> 'helio'[3:1:-1]'il'
这种方法,也可以用slice函数来表示(与前面实例类似)
>>> 'hello'[slice(None, None, -1)]'olleh'>>> 'hello'[slice(3, 1, -1)]'ll'>>> 'helio'[slice(3,1,-1)]'il'
6.string转换
转到string:
>>> '42'+1Traceback (most recent call last): File "<pyshell#152>", line 1, in <module> '42'+1TypeError: cannot concatenate 'str' and 'int' objects>>> str(42)'42'>>> str('42')'42'>>> repr('42')"'42'">>>
可以发现,str函数可以转到string。 repr更加傻瓜,直接包一层。
转到其它类型:
int(str)
float(str)
......
字符的转换:
#ascii码数对应数字转换。>>> ord('s')115>>> chr(115)'s'
7.sring修改
string属于’不变序列‘。还记得tuple吗?所以下面的操作时不对的:
>>>s = 'sss'>>>s[0] = 'a' #错误。无法成功。
所以修改string后要赋值给自己:
>>> S = 'splot'>>> S = S.replace('pl', 'pamal')>>> S'spamalot'
8.string方法
string方法的列表如图:
我觉得例子都不需要贴了吧。
8.格式化string
第一篇大概讲了如何格式化string。下面详细讲讲。
这个不是很常用,会尽快更新。。。
- 第四篇:strings
- LeetCode 第四十三题(Multiply Strings)Java
- 第四讲第四篇
- Strings
- Strings
- strings
- Strings
- Strings
- Strings
- strings
- Strings
- 第四篇
- 第四篇
- 第四篇
- 第四篇
- 第四篇
- Python学习之Strings篇
- Python基础学习篇—Strings
- UL LI结构实现二级导航菜单(HTML+CSS+JS)
- Oracle TimesTen企业级应用实践分享
- 计算机视觉文献中常用名词解释
- eclipse使用ServletActionContext.getRequest总是出错的解決方法
- 《企业安全软件能否免费?》 ——百位中国CIO对免费企业级信息安全软件的态度调查报告
- 第四篇:strings
- Java设计模式之十九(职责链模式)
- 远程线程注入
- 使用ImageView引起Missing contentDescription attribute on image的问题
- 如何进行高效的Rails单元测试
- OpenMax IL层的接口
- 开发辅助 - 宏
- 驱动函数write-linux系统调用如何实现
- 使用 screen 管理你的远程会话