Python五、python字符类型

1.字符串的基本表示:

Python中的字符串,是指用有序的字符序列。Python中的字符串有两类,四种表示方式

未操作或者没有赋值给变量的字符串,可以作为当作注释来使用。因此,可以使用’’’或者”””充当多行注释。

因为字符串,是以’、”作为收尾的标识符,所以,如果字符串中,包含’、”,那么要使用交叉包含的方式来表示,如:

“123’123”

‘123”123’

或者,使用转义字符\来表示,在字符串当中,可以使用\”,代表”;使用\’,代表’,除此之外,转义字符,还可以表示一些不能打印的字符,如:

\b,退格

\n,换行

\r,光标移到行首

2.字符串的使用:

字符串,具有索引切片两种操作,如:

str =“abcdefg”

字符串中对应字符的序号为:0,1,2,...,n,可以使用str[x],来获取序号x位置的字符,视为字符串的索引操作。

索引操作,分为正序和逆序两种,上面的表示为正序,逆序表示为:-n,...,-2,-1。

而且切片操作,指从字符串中,取出n>=1个字符,同样使用,正序或者逆序的序号。表示方法如下:

[start:end:step],代表取出,从start位置开始,到end-1位置的,中间间隔为step的子串。默认情况下,start若省略,则代表从第一个字符开始获取,end若省略,则代表到最后一个字符结束,step若省略,则代表间隔为1。

将整个字符串翻转过来,可以使用[::-1]。

3.字符串操作符:

str1 + str2:代表将str1和str2字符串拼接(如:’abc’+’123’=>‘abc123’);

str * n:复制n次字符串(如:’abc’*2 =>‘abcabc’);

str1 in str2:判断str1是str2的子串,返回True或False(如‘abc’in‘abcd’=> True);

4.字符串操作函数:

len(str):返回字符串长度

Str(x):将x变为字符串,两端加’’,作用与eval()相反

bin(x):将整数x转换为2进制字符串;

hex(x):将整数x转换为16进制字符串;

oct(x):将整数x转换为8进制字符串;

chr(unicode):返回Unicode码对应的字符;

ord(str):返回字符对应的Unicode码;

Unicode是Python中字符的编码方式,初衷是为了解决ASCII码无法表示英文字符之外字符的问题。各国的文字和特殊符号,均在unicode中有唯一对应的数字。Unicode的范围是0x10FFFF,1114111。

5.字符串的方法:

以String.methodName的形式调用,是针对string对象的操作,string为字符串或字符串变量。

String.lower(),将string中的字母全部转化为小写。

String.upper(),将string中的字母全部转化为大写。

String.split([sep=None]),将string中的字符以seq分割(如:’abc’=> [‘a’,’b’,’c’])。

String.count(substr),返回string中的子串substr的个数。

String.replace(old,new),将string中的old字符串,替换为new字符串。

String.center(width[,fillchar]),将string按照宽度width居中表示,空白处填充fillchar。

String.strip(chars),将string中chars字符串删除。

String.join(iterable),将iterable中的字符,以string连接(如’,’.join(‘123’) =>‘1,2,3’;’,’.join([‘1’,’2’,’3’]) =>‘1,2,3’)。

6.字符串的格式化:

String.format(arg1,arg2,arg3)

“Today {} Sunday, December {}, {}”.format(is, 2, 2018)

{}称为槽,在字符串中起占位作用,由format中的参数填充,默认从左到右对应format的第个,第1个,...,第n个参数。

槽{}内,可以指定取format的第几个参数,如,代表取第个参数。

槽{}内,还可以依次指定,填充字符,对齐方式(左),宽度,由:作为引导符。如{:*

槽{}内,还可以指定数字输出格式:

,每三位中间插入一个空格

.len制定数字或者字符串的最大长度,超出部分截断。

b输出2进制

c输出unicode字符

d输出10进制

o输出8进制

x输出16进制

e输出科学计数法

f输出浮点形式

%输出百分比形式

7.例子程序:

#进度条打印

import time

scale = 100

start = time.perf_counter()

print("执行开始".center(scale,'='))

for i in range(scale + 1):

a = '*'* i

b = '.'* (scale - i)

c = (i / scale) * 100

ts = time.perf_counter() - start

print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c, a, b, ts),end='')

time.sleep(0.01)

print("\n"+"执行结束".center(scale,'-'))

效果如下:

8.程序解释:

(1)print函数中的end参数,指明了print不进行换行,默认情况下,该参数为end=’\n’。

(2)print函数中使用+拼接字符串,可以避免,两个字符串参数之间被添加空格,也可以通过参数sep=’’来改变,默认情况下sep=’’。

程序中用到了time模块中的函数

(3)时间函数

time():

返回浮点类型的秒数,是计算机的时间戳,代表从1970年1月1日时分秒开始经过的秒数。

ctime():

返回日历时间,形式:'Sun Dec 2 23:39:34 2018'

gmtime():

返回程序时间,形式:time.struct_time(tm_year=2018, tm_mon=12, tm_mday=2, tm_hour=15, tm_min=40, tm_sec=2, tm_wday=6, tm_yday=336, tm_isdst=0)

(4)时间间隔函数:

perf_counter(),获取CPU运行的秒数,精确到纳秒,值不为。

可以通过

Start = perf_counter()

处理

End = perf_counter()

End -start的方式,获取处理花费的时间。

(5)格式化函数

strftime(tpl, ts):

转化时间格式的函数。

tpl为时间模板,ts为gmtime()返回的时间格式。

举例:time.strftime(“%Y/%m/%d %H:%M:%S”, time.gmtime())

输出:'2018/12/02 15:47:09'

tpl模板符号定义如下:

strptime(str, tpl):

输入指定tpl格式的str时间值,返回time.struct_time。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181203G000AQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券