标签:定义 常用 集中 列表 小数点 isa rip xxx unicode
Python3
中,字符串分为两种类型,第一种是str
,是unicode
字符串,第二种是bytes
,就是经过编码后的字符串,是一种字节码,适用于保存在磁盘上或者在网络上传输。 a = ‘hello‘
b = ‘world‘
c = a + b
print(c)
a = ‘___‘
b = ‘abc‘
c = "%s%s%s" % (a,b,a)
字符串格式化,是将一个字符串中某些经常可能会改变的地方,提取出来,用一些占位符占位,后面再通过格式化的方式填充进去。格式化字符串有两种方式,第一种方式是使用%s
的形式,第二种是使用format
方法。下面依次来讲解一下:
course = ‘python‘
school = ‘zhiliao‘
intro = "I love %s,I study in %s" % (course,school)
以上就是使用%
的形式进行补充。当然针对不同的数据类型,应该使用不同的格式化:
%s
。 %d
。 %f
。如果想要指定小数点后的位数。可以使用%.nf
来表示,n为1表示一位小数,n为2表示2为小数,依次类推。greet = "I love {},I study in {}".format(‘python‘,‘zhiliao‘)
greet = "I love {arg1},I study in {arg2}".format(arg1=‘python‘,arg2=‘zhiliao‘)
下标操作:字符串实际上就是跟一个容器一样,也可以跟列表和元组一样进行下标操作。
示例代码:
username = ‘zhiliao‘
print(username[0])
print(username[1])
print(username[2])
print(username[-1]) # 从后面开始
find
:返回查找字符串的下标位置。如果返回的是-1,代表的是没有查找到该字符串。rfind
是从右边到左边。index
:和find
非常类似。只不过当查找不到这个字符串的时候,不是返回-1,而是抛出一个异常。rindex
是从右边开始查找。len
:获取字符串字符的长度。count
:用来获取子字符串在原来字符串中出现的次数。replace
:新创建一个字符串,把原来字符串中的某个字符串替换为你想要的字符串。split
:按照给定的字符串进行分割。返回的是一个列表。startswith
:判断一个字符串是否以某个字符串开始。endswith
:判断一个字符串是否以某个字符串结束。lower
:将字符串全部改成小写。upper
:将字符串全部改成大写。strip
:将字符串左右的空格全部去掉。lstrip
:删除字符串左边的空格。rstrip
:删除字符串右边的空格。partition
:从str
出现的第一个位置起,把字符串string
分成一个3元素的元组(string_pre_str,str,string_post_str)
,如果 string中不包含str
,则string_pre_str == string
。isalnum
:如果string
至少有一个字符并且所有字符都是字母或数字则返回True
,否则返回False
。isalpha
:如果string
至少有一个字符并且所有字符都是字母则返回True
,否则返回False
。isdigit
:如果string
只包含数字则返回True
否则返回 False
。isspace
:如果字符串中只包含空格,则返回True
,否则返回False
。format
:格式化字符串。转义字符 | 描述 |
---|---|
\在行尾 | 续行符 |
\n | 换行符 |
\‘ | 单引号 |
\" | 双引号 |
\t | 制表符 |
\ | 反斜杠 |
原始字符串不会对字符串中任何字符进行转义,你写了什么东西,这个字符串就是什么,达到一种所见即所得的效果。
语法:r‘xxx‘
。
在Python3
中,默认写的字符串都是unicode
类型,unicode
是一个万能的字符集,可以存储任意的字符,但是unicode
字符串只能在内存中存在,不能在磁盘和网络间传输数据,如果要在文件或者网络间传输数据,必须要将unicode
转换为bytes
类型的字符串,因此我们在写代码的时候有时候要对unicode
和bytes
类型字符串进行转换,转换的函数如下:
encode(‘utf-8‘)
:将unicode
编码成bytes
类型,并且编码方式采用的是utf-8
。 decode(‘utf-8‘)
:将bytes
解码成unicode
类型,并且解码的方式采用的是utf-8
。 utf-8
是编码的方式,还有其他编码方式,比如gbk
、ascii
等。unicode
字符串:因为历史原因,在Python2
版本中,默认的字符串编码采用的是ascii
编码(Python早于unicode发布)。而ascii
编码是采用1个字节
来存储,也就是8位
,最多只能表示2^8
也即256
个字符,这在全世界远远是不够的,单拿中国汉字来讲,常用的汉字也有6000
多个。因此,为了满足全球各个国家不同语言的编码需求,全球统一码联盟提出了unicode
编码。unicode
编码默认情况下会采用2个字节
存储字符(UCS-2),这样能够存储的2^16
也即65536
个字符,但也还是不能满足全世界所有语言,因此后来又补充了用4个字节
存储(UCS-4),这就可以包含全球所有的文字了。unicode
与其他编码的区别:
unicode
是一个字符集,相当于一个字典,全世界所有的字符或者标点符号都对应一个数字。以后要在计算机中显示这个字符的时候,就使用unicode
字符集中对应的那个数字就可以了。utf-8
、gbk
、latin-1
、ascii
都是具体的编码实现。 因为unicode
中,将大部分的字符都用2个字节存储,但是对于英文字母,比如a
,其实他只需要一个字节就够了,如果都用2个字节存储,那么比较浪费硬盘空间或者浪费流量,因此unicode
并不适合用来存储。而utf-8
则是unicode
的一种实现方式,他默认会使用8
位,也就是一个字节存储,如果存储不下了,则会动态的改变大小用来存储字符。因此utf-8
比较节省空间,并且也可以包含全世界所有的字符。Python2
中如何定义unicode
字符串:在字符串的前面加上一个u
,比如u‘中国‘
。unicode
可以解决什么问题:在出现乱码或者编码错误的时候可以解决问题。unicode
字符串:
greet = ‘你好‘
greet_unicode = greet.decode(‘utf-8‘)
unicode
编码成其他编码字符串:
greet = u‘你好‘
greet_utf8 = greet.encode(‘utf-8‘)
之前看到的
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8‘)
的作用是什么:设置字符串在转换编码时候的默认编码。
比如使用函数unicode
将一个str
字符串转换成unicode
字符串,那么默认使用的就是ascii
编码。如果你设置了以上的代码,那么将使用utf-8
编码。
#coding: utf-8
是用来干什么的:用来设置Python
解释器在读取这个源代码文件时候使用的编码。在python2
中默认使用ascii
,所以需要改变一下文件的默认编码。而在python3
中,默认使用了utf-8
,则可以不要更改文件编码就可以支持中文了。
标签:定义 常用 集中 列表 小数点 isa rip xxx unicode
原文地址:https://www.cnblogs.com/song9998/p/11629894.html