SamZhou-2019.github.io

View on GitHub

字符串String

1.简单的定义及输出程序

message = "hello PYTHON world!"
print(message)

字符串定义,可以用单引号,也可以用双引号

message_1='I told my friend, "Python is my favorite language!"'
print(message_1)

空格” “

print(" ")

+=表示在字符串之后再添加字符串

message_2="The language 'Python' is named"
message_2+=" after Monty Python, not the snake."
print(message_2)

使用三个引号’'’或”"”可以定义多行字符串。

message_3="""One of Python' 
strengths is its diverse 
and supportive community."""
print(message_3)

可以用+对字符串进行拼接。

message_a="Hello"+","+" "+message_1
print(message_a)

字符串前加r则这个字符串中的转义符不转义,如\n,\t

print('I am a \tboy')
print(r'I am a \tboy')

字符串*数字 表示重复字符串

print('I am a \tboy'*3)
print('I' 'am' 'a' 'boy')

不在括号()[]{}里的语句,单个语句换行时末尾加反斜杠\

a='a'+' '+'b'+\
   'c'+' '
print(a)

2.简单的字符串函数

.lstrip()为删除左边空格,.rstrip()为删除右边空格,.strip()为删除两边空格

a="   asdf   "
print("lst:"+a.lstrip()+"end\nrst:"+a.rstrip()+"end\nst:"+a.strip()+"end")

变量后加.title(),输出的每个单词首字母变为大写

print(message.title())

变量后加.upper(),输出后每个字母变为大写

print(message.upper())

变量后加.lower(),输出后每个字母变为小写

print(message.lower())

变量后加.capitalize(),输出的每句话首字母变为大写

print(message.capitalize())

len(str)统计字符数量

print(len(message))

str.count(‘a’)统计字符串中字符出现的次数

print(message.count('l'))

str.replace(‘a’,’b’)替换其中的字符

print(message.replace('!','.'))

string.center(n,str) 输出一个string居中n为长度str为填充字符的字符串

print('hello world'.center(50,'*'))

string.count(str,a,b) 在string中a到b范围内查找str出现的次数

print('aaaaaaabbbbbbccc'.count('a',3,14))

string.endswith(str,a,b) 在string中a到b范围内检查是否以str结尾(startswith是否以str起始)

print('xidianuniversity'.endswith('sit',0,-1))

可直接输出True和False

print(True)
print(False)

同时按下CTRL和C可以无条件强行停止程序

同时按下CTRL和Z表示文件或程序结束

string.ljust(width[, fillchar])返回一个原字符串左对齐(rjust右对齐),并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格

string.replace(old, new [, max])将字符串中的old替换成new,如果 max 指定,则替换不超过 max 次

string.swapcase() 大小写转换

string.split(str,num) 以 str 为分隔符截取字符串。str未指定时默认为空格。num未指定值时默认截取所有;如果 num 有指定值,则仅截取 num+1 个子字符串

string.splitlines([keepends]) 按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

string.zfill (width)返回长度为 width 的字符串,原字符串右对齐,前面填充0

string.expandtabs(tabsize=int)把字符串 string 中的 tab 符号转为空格

string.find(str,a,b) 在string中a到b范围内检查是否含有str并返回第一个的位置(在整个字符串的位置),否则返回-1。a和b不写则查找整个字符串。 rfind从右边开始

string.index(str,a,b) 在string中a到b范围内检查是否含有str并返回第一个的位置(在整个字符串的位置),否则报错。a和b不写则查找整个字符串。 rindex从右边开始

string.join(str1,str2,…) 将序列中的元素以指定的字符string连接生成一个新的字符串

3.转义符

print('\\ 反斜杠  \'  单引号  \"  双引号')
print('pythonn\b uses'+r' \b as backspace.')
print('\a'+r'\a means alarm.')
print('\n\nHere is how 1. \n'+r'\n works.')
print('\n\nHere is how 2. \v'+r'\v works.')
print('\n\nHere is how 3. \t'+r'\t works.')
print('\n\nHere is how 4. \r'+r'\r works.')
print('\n\nHere is how 5. \f'+r'\f works.')
print('\xab 十六进制转义符')
print('\62 八进制转义符')

4.格式化字符串

a=150.0000000000000009
b=53
print('%d' % (a))#整数
print('%f' % (a))#浮点数
print('%s' % (a))#字符串
print('%c' % (b))#ASCII字符
print('%u' % (a))#无符号整数
print('%o' % (b))#八进制数
print('%x' % (b))#十六进制数,或%X
print('%e' % (b))#科学计数法,或%E
print('%g' % (b))#%g=%f+%e,%G=%f+%E
print('%6d' % (a))#整数,右对齐
print('%-6d' % (a*500000))#整数,左对齐
print('%+6d' % (a))#整数,正数加正号
print('%#o' % (b))#八进制数,#显示八进制数符号
#(#对十六进制数同样有效)
print('%2.3f' % (a))#浮点数,f前面的数字:
#小数点前表示最小宽度,小数点后表示小数位数

5.判断函数

如果字符串均为指定字符则返回True,否则返回False:

a='5'
print(a.isnumeric())

如string.

isalnum() 字母或数字

isalpha() 字母

isdigit() 数字

islower() 小写字母

isnumeric() 数字字符(Unicode数字,全角数字,罗马数字,汉字数字,指数分数等)

istitle() 首字母大写

isupper() 大写字母

isdecimal() 十进制字符

isspace() 空白

6.编码

UTF-8

a='茴字的四种写法'
b='读书人的事,能叫偷吗?'
autf=a.encode(encoding='UTF-8')
butf=b.encode(encoding='UTF-8')
print(autf,'\n',butf)
print(type(autf))#bytes格式对象 

GBK 简体中文编码

agbk=a.encode(encoding='GBK')
bgbk=b.encode(encoding='GBK')
print(agbk,bgbk)

ANSI

aansi=a.encode(encoding='ANSI')
print(aansi)

GB2312 简体中文编码

bgb2312=b.encode(encoding='GB2312')
print(bgb2312)

GB18030 简体中文编码

agb18030=a.encode(encoding='GB18030')
print(agb18030)

UTF-8 vs. UTF-7

print('\n')
c='''各个国家和地区所制定的不同 ANSI 编码标准中,都只规定了各自语言所需的“字符”。'''
c_8=c.encode(encoding='UTF-8')
c_7=c.encode(encoding='UTF-7')
print(c_7,'\n',c_8)

解码

c_08=c_8.decode(encoding='UTF-8')#解码
c_07=c_7.decode(encoding='UTF-7')
print(c_07,'\n',c_08)

返回上一页