1、python字符串
使用一对单引号或者一对双引号包括起来,能够使用两种引号而不像其他语言一样只能使用双引号的原因是为了避免字符串内容本省就含有引号时需要使用转义字符,在一定程度上简化了任务。
在一个双引号包裹起来的字符串内可以出现单个的引号,也可以出现一对引号,出现几个都行,不需要使用转义字符,但是有一点,不能出现“里应外合”现象,例如下面的
s = '"这是一个完'整的字符串"'
所谓里应外合,也就是别出现奇数个相同的引号。
2、转义字符
就是用一个反斜杠加一个东西来表示一些不方便放入字符串中的符号
\’ | ’ |
---|---|
\" | " |
\ | 反斜杠 \ |
\t | 制表符 |
\n | 换行符 |
\的用法,我们还能想到 \ 续行符,用来将一行python代码分到两行进行表示。
3、三重引号
用三对单引号或者双引号包括起来的内容,可以用做注释,或者长字符串
并且三重引号里面的单引号和双引号可以不用转义字符表示,以及回车也可以不用转义字符表示(直接敲就行了)。
4、字符串的操作
1、使用下标和切片来截取字符串
2、使用in、not in来判断字符串中是否含有某个小字符串(而不是单个字符)
5、字符串的常用方法
(1)upper()、lower()、isupper()、islower()
这四个方法的使用有一个技巧:字符串中没有字母也可以使用,例如upper只要字符串中有一个小写字母也会把它变成大写的。
str = "h看看你"
print(str.upper())
#H看看你
print(str.islower())
#True
print("字符串".upper())
#字符串
(2)startswith()、endswith()
(3)join()、split()
join方法:“abc”.join(s)
将一个字符串列表b中的所有表项,使用一种字符串a,把它们连接起来
name = ["Tom","Jerry","Alice"]
print(" and ".join(name))
# Tom and Jerry and Alice
split方法:s.split(“a”)
将字符串s按照字符串a分割,返回一个字符串列表,默认按照空格、制表符、换行符分割。
str = "Tom and Jerry and Alice"
print(str.split("and"))
#['Tom ', ' Jerry ', ' Alice']
print(str.split())
#['Tom', 'and', 'Jerry', 'and', 'Alice']
(4)rjust()、ljust()、center()
这三个方法,返回字符串的填充版本,参数为将字符串扩充到多长,以及使用什么字符扩充。并且rjust()使得原字符串右对齐、ljust()左对齐、center()居中。
str = "Hello"
print(str.rjust(10))#扩充到10个字符单位,用空格填充
# Hello
print(str.ljust(10,"*"))
#Hello*****
print(str.center(10,"。"))
#。。Hello。。。
(5)strip()、rstrip()、lstrip()
这三个方法,返回字符串的精简版本,参数为将字符串两边的什么字符删掉。strip()两边都删掉、rstrip()删掉右边的、lstrip()删掉左边的。并且更重要的,方法并不完全按照参数删除,例如,参数为"abc",那么不是a,ba,ab,cba都会删除,不按照特定顺序。
str = "aacbjjjccac"
print(str.strip("abc"))
#jjj
print(str.lstrip("abc"))
#jjjccac
print(str.rstrip("abc"))
#aacbjjj
(6)replace(”old“,”new“)
将字符串中的”old“使用”new“替换
(7)count(”son“)
计算”son”在字符串中出现的次数
(8)title()
将字符串转换成,首字母大写,其余字母小写。
6、使用pyperclip库访问剪切板
使用pyperclip模块的copy()和paste()能够像计算机的剪切板发送文本或者从剪切板接受文本。
import pyperclip
pyperclip.copy("Hello")
#真的已经复制到剪切板了,退出程序也可以ctrl+V粘贴
str = pyperclip.paste()
#访问你上一次剪切板复制的东西
7、format()
(1)形式为{n}(n为整数)的占位符将被format()方法第n个参数所代替;
str = "hello,{0} is {1} old".format("Tom",22)
print(str)
# hello,Tom is 22 old
(2)形式为{name}的占位符将被参数中为name的参数所替代
str = "hello,{name} is {year} old".format(name="Tom",year=22)
print(str)
# hello,Tom is 22 old
也可以不写是第几个参数,默认按照0,1,2顺序排序
str = "hello,{} is {} old".format("Tom",22)
print(str)
# hello,Tom is 22 old
不能把指明位序和指明变量名混合使用,程序会提示将每个值前面都加一个keyword
8、find(sub[, start[, end]])
查找第一次出现sub字符串的索引位置
is类型的判断函数
isalnum() | 字符串是否只有数字和字母 |
---|---|
isalpha() | 是否只有字母 |
isdigit() | 是否只有数字 |
isspace() | 是否只有空格、换行、制表符 |
isupper()、islower() | 字符串中的字母是否都是大写、小写 |
8、字符串的%匹配,格式化输出,类似format()函数
使用方式就是字符串里带有%什么,字符串结束后,再写一个%加上放到字符串里面的变量,如果是多个变量就是需要用括号括在一起,不然会报错。结果返回一个字符串。
str = “这是变量%s,这个也是变量%d” %(a,b)
value = 10
string = 'test'
char = "3"
# 格式化输出int和str
int_value = 'lewis is %d' % value
#lewis is 10
str_value = 'lewis is %s' % string
#lewis is test
# 匹配多种变量
int_str_value = 'lewis is %d %s %c' % (value, string,char)
#lewis is 10 test 3
%d | 十进制整数,或小数的整数部分 |
---|---|
%s | 字符串,或单个字符 |
%c | 单个字符 |
%f | 浮点型,或整型的6位小数模式 |
1、%s既可以匹配字符串也可以匹配单个字符,但是%c只能匹配单个字符,单个字符和字符串在声明的时候都是可以用单引号和双引号。
2、%f匹配浮点型或整型时,默认保留6位小数。%d匹配到小数时,自动截取整数部分。
3、关于占位和小数点保留问题:
对于小数 | %m.nf |
---|---|
存在占多少个格子 | m |
保留几位小数 | n |
数字靠左还是靠右 | 正数靠右,负数靠左 |
对于整数 | %m.nd |
---|---|
存在占多少个格子 | m |
有多少整数位,不够用前导0 | n |
数字靠左还是靠右 | 正数靠右,负数靠左 |
i = 4
f = 1.2
str = "小数%-7.2f ,整数%12.3d " % (f,i)
print(str)
#小数1.20 ,整数 004