python中的字符串类型

python常用数据类型—字符串类型

一.python的默认编码格式是ascII编码类型,所以要进行中文的操作,就要申明支持中文的字符集,常用的是utf-8。在程序中可以这样进行申明,#coding=utf-8

二.len之需注意

看下面的示例:

>>>a = 'abc'

>>>len(a)

3

>>>b = '哈哈哈'

>>>len(b)

9

         这就是编码的效果了,python默认的是ascii编码,那怎么样才能支持中文呢?

                  >>> c = u'哈哈哈哈'

>>> len(c)

4

         前面的u代表的就是utf-8的编码,还可以这样进行转变:

                  >>> g = b.decode('utf-8')

>>> g

u'\u54c8\u54c8\u54c8'

>>> len(g)

3

         如果在文件中想要正确的得出字符串的长度,那么代码应该这么书写

                  #coding=utf-8

a = '哈哈'.decode('utf-8')

print len(a)

三.转义符让文本更好处理

要转义的字符前面加个反斜杠

         例子:如果要在屏幕上打印abcd’,那么后面的’会被认为是结束符,有两个结束符,所以报错,那怎么打印呢?

         第一种方法:

         print"abcd'"

abcd'

第二种方法,使用转义字符:

>>>print 'abcd\''

abcd'

四.字符串前面跟着的小尾巴到底是什么东西?

不要进行转义:

例子:比如就是要打印\n,怎么办?可以在前面加上r,表示该字符串不进行转义。

>>> c =r'\n'

>>>print c

\n

五.访问子字符串,序列来了。

成员有是有序排列的,可以通过下标偏移量访问到它的一个或者多个成员

如何访问字符串的最后一个字符?

>>>a = 'abcde'

>>>a[-1]

'e'

         切片的使用:

                   >>>a[2:3]

'c'

         从上面的显示结果来看:切片是包头不包尾

六.替换字符串replace

>>>a = "abcabc"

>>>a.replace('a','1')

'1bc1bc'

>>>a.replace('a','1',2)

'1bc1bc'

>>>a.replace('a','1',1)

'1bcabc'

         可以把子串替换为另一个子串,但是a的值是不变的,因为字符串是不可变类型。方法最后面的数字代表的是替换的个数。

七.字符串拼接

1.      超级丑陋之千万别用。

>>>a = 'abc'

>>>b = 'def'

>>>print a+b

abcdef

                   上面的字符串拼接虽然是最直观的方法,但是在底层又创建了一个新的长的对象,所以这样是十分消耗内存的,所以不推荐使用。

2.      可选方案之字符串模板

>>>print 'my name is %s' % 'dongdong'

my name is dongdong

                   上面的%s表示的是占位符,用%后面的对象所替代

                   还可以使用元组的概念,代替多个

                            >>> print 'my name is %s,%dyears old!'%('dongdong',22)

my name is dongdong,22 years old!

3.      优秀的拼接方案

>>> a = 'abc'

>>> b = 'def'

>>> c = 'ghi'

>>> "".join([a,b,c])

'abcdefghi'

这种字符串拼接的效率较高。

八.读写文本来了

打开文件,使用open

>>>f = open('f.txt','w')

>>>f.write('hello\nmy name is zhangdongdong')

>>> f.close()

后面的w表示的是写方式打开

当操作完,记得关闭文件

>>>f = open('f.txt','r')

>>>f.readline()

'hello\n'

>>>f.readline()

'my nameis zhangdongdong'

>>>f.seek(0)---表示把游标置顶

>>>f.read()

'hello\nmyname is zhangdongdong'

>>> f.close()

九、今天习题:

1.字符串:a ='abcd'

用2个方法取出字母d

>>> a = "abcd"

>>> a[-1]

'd'

>>> a[3]

'd'

 

2.a = 'jay'

b = 'python'

用字符串拼接的方法输出:

my name is jay,ilove python.

>>> a = 'jay'

>>> b = 'python'

>>> print 'my name is %s,i love %s'%(a,b)

my name is jay,i love python

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值