单引号或双引号都行 但必须成对
string = "hello world"
string = 'hello world'
空字符串定义:
string = "" #这样就是定义了一个空字符串
想表示带引号的字符:
1、使用转义字符(\)
string = 'let\'s go'
输出结果:let's go
2、加上字母 r
string = r'let\s go'
输出结果:let\s go
想表达长字符—好看的文案:
使用三引号(可单引号 也可双引号)
例如:
AAAA
BBBB
CCCC
string = '''AAAA
BBBB
CCCC
'''
print(string)
输出结果:
AAAA
BBBB
CCCC
调用都是你的字符串变量名字.函数()
string = 'hello world'
string = string.capitalize()
print(string)
输出结果: Hello world
string = 'hello world'
string = string.upper()
print(string)
输出结果:HELLO WORLD
string = 'HELLO WORLD'
string = string.casefold()
string = string.lower()
print(string)
输出结果:hello world
hello world
string1 = 'Hello World'
print(string1.swapcase()) #小写变大写 大写变小写
输出结果:hELLO wORLD
原型: ljust(width)
作用: 返回一个左对齐的字符串,并使用空格填空至长度为width的新字符串。
string1 = 'hello world'
print(len(string1)) #查看一下字符串的长度
print(string1.ljust(20)) #默认模式
print(string1.ljust(20,'*')) #用 * 号 来填充
输出结果:11
hello world
hello world********* # * 是一共9个
原型:center(width )
作用:将字符串居中,并使用空格填充至长度width 的新字符串
string1 = 'hello word' #字符长度为11个
print(string1.center(20)) #q前面空5个 后面也是5个
print(string1.center(20,'*')) #前面会5 个* 后面也是
输出结果:
hello word
*****hello word*****
string1 = 'hello word' #字符长度为11个
print(string1.rjust(20))
print(string1.rjust(20,'*'))
输出结果:
hello word
**********hello word
原型: startswith(prefi[,start[,end]])
作用: 检查字符串是否以prefi子字符串开始,如果是返回True ,否则返回False。
Start 和 end 参数表示范围,可选。可不写。
检测文件类型可以使用这个。
Name = 'www.aaaa.com'
value = Name.startswith('www.') #检测
if value == True: #如果返回 是真
print('是一个网址')
else:
print('啥也不是 哈哈')
输出结果:是一个网址
原型: endswith(sub[,start[,end]])
作用: 检查字符串是否以sub子字符串结束,如果是返回True ,否则返回False。
Start 和 end 参数表示范围,可选。可不写。
检测文件类型可以使用这个。
fileName = 'hello.py' #我们设定一个字符串 为 hello.py 一个Python文件
value = fileName.endswith('.py') #检测文件名字的结尾是不是.py
if value == True: #如果返回 是真 那么就是 .py文件啦
print('是一个.py文件')
else:
print('啥也不是 哈哈')
输出结果:是一个.py文件
原型 isalnum()
作用 如果字符串至少有一个字符并且所有 字符都是字母或者数字则返回Ture,否则返回False. (中文也可以的)
string = 'hello小明123' #都是字母 和 中文 数字
print(string.isalnum())
输出结果:True #其他字符 像空格 是会返回 False 的
原型: isalpha()
作用: 如果字符串至少有一个字符并且所以字符都是字母返回Ture,否则返回False。
string = 'hello小明'
print(string.isalpha())
输出结果:True
原型: isdecimal()
作用: 如果字符串包含十进制数字则返回True 否则False。
半角数字 和 全角数字(双字节) 都会返回True
半角与全角数字:
0-9对应Unicode编码范围:半角——’\u0030’ 到 ‘\u0039’ 全角——’\uff10’到’\uff19’
string1 = '123' #半角
string2 = '\uff10' #全角
print(string1.isdecimal())
print(string2.isdecimal())
输出结果:
True
True
原型: isdigit()
作用 :如果字符串只包含数字则返回True 否则False
半角数字 和 全角数字(双字节)bytes数字 都会返回True
string1 = '123' #半角
string2 = '\uff10' #全角
string3 = b'5'
print(string1.isdigit())
print(string2.isdigit())
print(string3.isdigit())
输出结果:
True
True
True
原型: isnumeric()
作用: 如果字符串中只有数字字符返回True 否 False。
半角数字 和 全角数字(双字节) 罗马数字、汉字数字 都会返回True
string1 = '3' #半角 3
string2 = '\uff13' #全角 3
string3 = 'Ⅲ' #罗马 3
string4 = '三' #汉字 三
print(string1.isnumeric())
print(string2.isnumeric())
print(string3.isnumeric())
print(string4.isnumeric())
输出结果:
True
True
True
True
原型: islower()
作用:如果字符串至少包含一个区分大小写的字符,并且这些字符都是小写,则返回True 否则False。(字符串中没有大写字母存在就True)
string1 = 'hello*//'
print(string1.islower())
输出结果:True
原型: isupper()
作用:如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回True 否False。(字符串中没有小写字母存在就True)
string1 = 'HELLO**//!!!'
print(string1.isupper())
输出结果:True
原型: isspace()
作用: 如果字符串中只包含空格 ,则返回True 否则False。
string1 = ' '
print(string1.isspace())
输出结果:True
原型: istitle()
作用: 如果字符串标题化(所有的单词都是以大写开始,其余字母均小写 返回True 否则False)
string1 = 'Hellow,Orlaaaaaaaad Laaaaaa'
print(string1.istitle())
输出结果:True
原型: find(sub[,start[,end]])
作用: 检测sub是否包含在字符串中,如果有则返回索引值(下标号),否则返回-1 start和end参数表示范围,可选。可不写。
string = 'You are very handsome'
print(string.find('handsome'))
输出结果:13 #在下标为13的时候是handsome 中的 h
原型 :index(sub,[start[,end]])
作用: 跟上面find()一样的作用,不过如果找不到会产生一个异常。
例子就不写了 可以看看下面的 列表的查找那里。
rfind() 也是跟find差不多 只不过从右边开始找
rindex() 也是index差不多 只不过从右边开始找
.........不举例了
string1 = "hello"
string2 = "world"
像拼接一起
直接加就行
newString = string1 + string2
print(newString)
输出结果:
helloworld
string1 = ' hello world'
print(string1.lstrip())
输出结果:hello world
chars:可指定删除字符
string1 = ' hello worldh '
print(string1.strip()) #默认删除前后空格
print(string1.strip(' h')) #默认删除前后空格和 h
输出结果:
hello worldh
ello world
string1 = 'hello world '
print(string1.rstrip())
输出结果:hello world
原型: title()
作用: 字符串标题化 每个单词开头变大写 其它小写。
string1 = 'hello worldSSSSSSSSSSSSSS'
print(string1.title())
输出结果:Hello Worldssssssssssssss
原型: join(sub)
作用:以字符串作为分隔符,插入到sub中所有的字符之间
string1 = '玛卡巴卡'
print(string1.join('12345'))
输出结果:1玛卡巴卡2玛卡巴卡3玛卡巴卡4玛卡巴卡5
string1 = 'hello world'
print(string1.partition('wo')) #wo 作为元组的第二个数据
输出结果:('hello ', 'wo', 'rld')
rpartition(sub) 跟上面类似
replace() 例子
string1 = 'hello world'
print(string1.replace('hello','Hi'))
print(string1.replace('hello world','Hi baby'))
输出结果:Hi world
Hi baby
原型: translate(table)
作用: 根据table的规则(可以由str.maketrans(‘a’,‘b’)定制)转换字符串中的字符。
a 和 b 必须是同长度的
string1 = 'hello world'
print(str.maketrans('he','Hi')) #这个是能返回 字母的 ASCII 值
print(string1.translate(str.maketrans('he','Hi')))
输出结果:
{104: 72, 101: 105}
Hillo world
string1 = 'hello world '
print(string1.split()) #默认没参数是空格来切
print(string1.split('o')) #以 字母 o 来切开
输出结果:['hello', 'world']
['hell', ' w', 'rld ']
string1 = 'hello\nworld '
print(string1.splitlines()) #以\n来切
原型: zfill(width):
作用: 返回长度为width的字符串。原字符串右对齐,前面填充0。
返回指定长度的字符串
string1 = 'hello world' #这里一共长度为11个
print(string1.zfill(20))
输出结果:000000000hello world #补了9个0
原型: expandtabs(tabsize=8)
作用: 把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格数是 tabsize=8。
string = 'hello\tworld'
print(string.expandtabs())
输出结果:hello world #变成8个 是从字符串左边开始算的 中间其实是空了3个空格,hello是5个
print('********%c运用*********')
print('单字符显示:%c' % 'a') #单个字符
print('单字符显示:%c' % 97) #ASCII码 97 是字符 a
print('********%s运用*********')
print('字符串格式化显示:%s' % 'hello world') #字符串输出
print('********%d运用*********')
print('十进制格式化显示: %d + %d = %d' % (1,2,1+2)) #多个数记得括号括起来 加逗号分开
print('********%o运用*********')
print('8 的 八进制是: %o' % 8) #以 8 进制格式 打印出来
print('********%x运用*********')
print('10 的 十六进制是: %x' % 10)
print('10 的 十六进制是: %X' % 10)
print('********%f运用*********')
print('%f' % 3.14159) #默认是6位小数 没有是会补0 的
print('%.2f' % 3.14159) #显示2位小数而已
print('********%e运用*********')
print('%e' % 3.14159)
print('%E' % 3.14159)
print('********%g运用*********')
print('%g' % 3.14159)
print('%G' % 3.14159)
输出结果:
********%c运用*********
单字符显示:a
单字符显示:a
********%s运用*********
字符串格式化显示:hello world
********%d运用*********
十进制格式化显示: 1 + 2 = 3
********%o运用*********
8 的 八进制是: 10
********%x运用*********
10 的 十六进制是: a
10 的 十六进制是: A
********%f运用*********
3.141590
3.14
********%e运用*********
3.141590e+00
3.141590E+00
********%g运用*********
3.14159
3.14159
print('%.1f' % 2.33333)
print('%-5f' % 2.33333)
print('%+5f' % 2.33333)
print('%#o' % 8)
print('%#x' % 10)
print('%05d' % 10)
输出结果:
2.3
2.333330
+2.333330
0o10
0xa
00010