PythonNewHere - Python中的字符串与字符串操作

第一部分代码:https://github.com/Fu4ng/PythonNewHere/blob/master/L01.py
第二部分关于字符串操作的代码:
https://github.com/Fu4ng/PythonNewHere/blob/master/L03.py

1.各类“字符串”

字符串

# 字符串
x = "hello world"
y = "let's go "
print(y + x)
print('"hello world",she said')
print(repr("hello world"))
print(repr(100000))
print(str("hello world"))
# 用repr函数会比str多出一个引号
# str和 int long 一样,是一种类型。而repr仅仅是函数

这里写图片描述

input和raw_input两个函数的关系请看我写的这篇小笔记:
http://blog.csdn.net/junloin/article/details/75115775

#input 和 raw_input
name = input("what is your name?")
print(name)
number =input("what is your number ")
print(number)

长字符串

使用三个引号(单双引号都可以)能换行

# 长字符串
print('111111111111111111111111111'
      '111111111111111111111111')
print('''2222222222用三个引号能换行222
        2222222222222''')

这里写图片描述

原始字符串

正常打印字符串时,print遇到一些转义符就会执行对应的功能,如下,我们需要打印一个路径,但是路径中的\n是一个转义符。在pycharm看起来很明显,转义符的优先级高于字符串,所以遇到这种情况,我们需要使用原始字符串
这里写图片描述

#原始字符串
print('C:\nowhere')  #这个是非原始字符串,因为检查到有\n换行符存在,输出时会换行
print (r'C:\nowHere') #原始字符串以r开头,可以存放\,但是原始字符串最后一个字符不能是\
# 如果有硬性要求需要最后一个字符必须为\ ,那么我们应该对\进行转义,如下
print(r'C:Program Files\foo\bar' '\\')

这里写图片描述

Unicode字符串

#Unicode
print(u"hello world")

模版字符串

#模版字符串
from  string import Template
s = Template ("$x,Python $x!")
print(s.substitute(x = 'wow'))
#替换字段是单词的一部分,那么参数名就必须用括号扩起来,从而指明结尾
s = Template("It's ${x}thon")
print(s.substitute(x = 'Py'))

2.字符串操作

字符串格式化

format1 = 'hello,%s,%s nough for ya?'
values = ('world','hot')
print(format1 % values)
hello,world,hot nough for ya?

1.%字符,标记转换说明符的开始
2.转换标记(可选):-左对齐;+表示在转换值之前要加上正负号;“ ”(空白字符)表示在正数前保留空格,0表示转换值若位数不够则用0填充
3.最小字段宽度(可选):转换之后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组读出
4.点(.)后跟精度值(可选):如果转换的是实数,精度值就表现出在小数点后的位数,如果转换的是字符串。那么该数字就表示最大字符宽度,如果是*,那么精度将会从元组中读出
5.转换类型:http://www.cnblogs.com/nulige/p/6115793.html

from math import pi
print('%10f' % pi)
print('%10.2f' % pi)
print('%010.2f' % pi)
print('%-10.2f' % pi)
x = 'abcde'
print('%.2s' %x)
  3.141593
      3.14
0000003.14
3.14      
ab   

关于字符串对齐的方法:http://jingyan.baidu.com/article/77b8dc7fe1371b6174eab691.html

字符串方法

find

找到了就返回索引,找不到返回-1

#find
x='deacddef'
y = x.find('de')
print(y)
z = x.find('de',2,5)  #设置起始点和结束点参数
print(z)
0
-1

join/split

两个互为逆方法

s = ['1','2','3']
q ='+'
print(q.join(s))
m =(' ','usr','bin','env')
print('C:'+'/'.join(m))
print(q.join(s).split('+'))
print(('C:'+'/'.join(m)).split('/'))
1+2+3
C: /usr/bin/env
['1', '2', '3']
['C: ', 'usr', 'bin', 'env']

strip

返回去除两次(不包括内部)空格的字符串,也可以自定义参数去除两侧的其他字符

#strip
x = '         去除两侧空格             '
print(x.strip())
x= 5*'+'+x+5*'+'
print(x)
print((x.strip('+')).strip())
去除两侧空格
+++++         去除两侧空格             +++++
去除两侧空格

translate

3.x的PYTHON的maketrans函数不需要再导入string模块,从使用string的maketrans函数变成,使用字符串的一种方法,用法如下

# translate
x='123456'
tab = x.maketrans('1235','abce')  #(如果写成tab = x.maketrans('1235','abce''6')意思是在转换的同时把6删除掉)
print(x.translate(tab))

参考:http://www.jb51.net/article/63987.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值