第二章 字符串处理与编码不再发愁

来源:互联网 发布:ios10降9.3健康无数据 编辑:程序博客网 时间:2024/06/02 01:59

2.1 字符串

2.1.1 字符串转换

>>> a = 123

>>> b = 1.23

>>> type(a)

>>> type(b)

>>> type(str(a))

>>> type(str(b))

说明:先定义个整数和浮点数,再查看类型,用str()函数将对象转成字符串。

这里的用到了type()函数,用于查看对象类型。这个type()在以后学习中很用的,刚开始学习时候,往往因为对象类型不对,导致程序运行报错,这时可以用它来排查问题。

2.1.2 字符串连接

# 加号字符将同类型字符连接到一起

>>> hw = "Hello" + "World!"

>>> print hw

HelloWorld!

# 两个相邻的字符串自动连接一起

>>> hw = "Hello""World!"

>>> print hw

HelloWorld!

# 如果字符串内包括单引号或双引号,要用\转义,否则报错,上一章也讲过。

>>> hw = "Hello \"World!\""

>>> print hw

Hello "World!"

# 不同字符串类型拼接

>>> a = "abc"

>>> b = 1

>>> print a + b

Traceback (most recent call last):

File "", line 1, in

TypeError: cannot concatenate 'str' and 'int' objects

说明:不同字符串类型不允许连接,想要连接可以下面这么做。

方法1:

>>> c = "%s%d" %(a,b)

>>> print c

abc1

方法2:

>>> c = a + str(b)

>>> print c

abc1

2.1.3 格式化输出

操作符号说明

%s字符串(str())

%r字符串(repr())

%d整数

%f浮点数,可指定小数点后的精度

1) 字符串格式输出三种方法

>>> xxoo = "string"

>>> print "%s" %xxoo

string

>>> print "%r" %xxoo

'string'

>>> print `xxoo`

'string'

说明:%s采用str()函数显示,%r采用repr()函数显示。repr()和反撇号把字符串转为Python表达式。

2) 保留小数点数

>>> '%.1f' %(float(100)/1024)

'0.1'

2.1.4 字符串处理

上图是字符串处理的方法,红色框框中大概有一半经常用的,我们就拿一部分常用的来举例说明。

#!/usr/bin/env python

# -*- coding: utf-8 -*-

xxoo = "Hello world!"

print "字符串长度: %s" % len(xxoo)

print "首字母大写: %s" % xxoo.capitalize()

print "字符l出现次数: %s" % xxoo.count('l')

print "感叹号是否结尾: %s" % xxoo.endswith('!')

print "w字符是否是开头: %s" % xxoo.startswith('w')

print "w字符索引位置: %s" % xxoo.find('w') # xxoo.index('W')

print "格式化字符串: Hello{0} world!".format(',')

print "是否都是小写: %s" % xxoo.islower()

print "是否都是大写: %s" % xxoo.isupper()

print "所有字母转为小写: %s" % xxoo.lower()

print "所有字母转为大写: %s" % xxoo.upper()

print "感叹号替换为句号: %s" % xxoo.replace('!','.')

print "以空格分隔切分成列表: %s" % xxoo.split(' ')

print "转换为一个列表: %s" % xxoo.splitlines()

print "去除两边空格: %s" % xxoo.strip()

print "大小写互换: %s" % xxoo.swapcase()

print "只要Hello字符串: %s" % xxoo[0:5]

print "去掉倒数第一个字符: %s" % xxoo[0:-1]

# python test.py

字符串长度: 12

首字母大写: Hello world!

字符l出现次数: 3

感叹号是否结尾: True

w字符是否是开头: False

w字符索引位置: 6

格式化字符串: Hello, world!

是否都是小写: False

是否都是大写: False

所有字母转为小写: hello world!

所有字母转为大写: HELLO WORLD!

感叹号替换为句号: Hello world.

以空格分隔切分成列表: ['Hello', 'world!']

转换为一个列表: ['Hello world!']

去除两边空格: Hello world!

大小写互换: hELLO WORLD!

只要Hello字符串: Hello

去掉倒数第一个字符: Hello world

博客地址:http://lizhenliang.blog.51cto.com and https://yq.aliyun.com/u/lizhenliang

QQ群:323779636(Shell/Python运维开发群)


阅读全文

原创粉丝点击