目录
5.10 rstrip()/lstrip()/strip() 方法
5.5 format()
方法
作用:实现字符串的格式化输出
举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500">#场景一:format方法中的值按位置替换字符串中的{}</span>
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"我叫{},我来自{},今年{}岁了。"</span>.<span style="color:#000000">format</span>(<span style="color:#aa1111">'jack'</span>,<span style="color:#aa1111">'成都'</span>,<span style="color:#aa1111">'10'</span>))
<span style="color:#aa5500">#场景二:以索引的方式来表示替换参数,{0}位置用传入的第一个变量替换,{1}位置用传入的第二个变量替换,{2}位置用传入的第三发变量替换。可以允许传入的参数比需要的多,但不能比需要的少</span>
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"我叫{0},我来自{1},今年{2}岁了。"</span>.<span style="color:#000000">format</span>(<span style="color:#aa1111">'jack'</span>,<span style="color:#aa1111">'成都'</span>,<span style="color:#aa1111">'10'</span>))
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"我叫{1},我来自{1},今年{2}岁了。"</span>.<span style="color:#000000">format</span>(<span style="color:#aa1111">'jack'</span>,<span style="color:#aa1111">'成都'</span>,<span style="color:#aa1111">'10'</span>))
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"我叫{0},我来自{1},今年{2}岁了。"</span>.<span style="color:#000000">format</span>(<span style="color:#aa1111">'jack'</span>,<span style="color:#aa1111">'成都'</span>,<span style="color:#aa1111">'10'</span>,<span style="color:#aa1111">'北京'</span>))
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"100+200={0}"</span>.<span style="color:#000000">format</span>(<span style="color:#116644">100</span><span style="color:#981a1a">+</span><span style="color:#116644">200</span>))
<span style="color:#aa5500">#场景三:在大括号中除了用下标之外,还可以用变量名,这种情况下传入的参数顺序就没有关系了。</span>
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"我叫{name},我来自{city},今年{age}岁了。"</span>.<span style="color:#000000">format</span>(<span style="color:#000000">name</span>=<span style="color:#aa1111">'jack'</span>,<span style="color:#000000">city</span>=<span style="color:#aa1111">'成都'</span>,<span style="color:#000000">age</span>=<span style="color:#aa1111">'10'</span>))
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"我叫{name},我来自{city},今年{age}岁了。"</span>.<span style="color:#000000">format</span>(<span style="color:#000000">city</span>=<span style="color:#aa1111">'成都'</span>,<span style="color:#000000">age</span>=<span style="color:#aa1111">'10'</span>,<span style="color:#000000">name</span>=<span style="color:#aa1111">'jack'</span>))
<span style="color:#3300aa">print</span>(<span style="color:#000000">str2</span>)</span></span>
在Python中除了用format方法实现格式化输出之外,还可以使用格式符来实现格式化输出,常用的格式符有如下:
-
%s 字符串
-
%d 十进制整数
-
%f 浮点数
参数必须位置、数量一一对应,格式化输出举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">name</span> = <span style="color:#aa1111">"小王"</span>
<span style="color:#000000">age</span> = <span style="color:#116644">9</span>
<span style="color:#aa5500">#如果不适用格式化输出,会多出一个空格</span>
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"老王的儿子叫"</span>,<span style="color:#000000">name</span>,<span style="color:#aa1111">"今年"</span>,<span style="color:#000000">age</span>,<span style="color:#aa1111">"岁了"</span>)
<span style="color:#aa5500">#使用格式化输出</span>
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"老王的儿子叫%s今年%d岁了"</span><span style="color:#981a1a">%</span>(<span style="color:#000000">name</span>,<span style="color:#000000">age</span>))
<span style="color:#aa5500"># %.2f表示四舍五入保留2位小数输出</span>
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"%.2f"</span><span style="color:#981a1a">%</span><span style="color:#116644">1.33333</span>)
<span style="color:#aa5500"># 也可以使用round函数实现四色五入,保留n位小数</span>
<span style="color:#3300aa">print</span>(<span style="color:#3300aa">round</span>(<span style="color:#116644">1.34356789</span>,<span style="color:#116644">4</span>))</span></span>
5.6 count()
方法
作用:统计子串出现的次数
举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">str2</span> = <span style="color:#aa1111">"elgjlajlnvayzdfad"</span>
<span style="color:#3300aa">print</span>(<span style="color:#000000">str2</span>.<span style="color:#000000">count</span>(<span style="color:#aa1111">'e'</span>))
<span style="color:#3300aa">print</span>(<span style="color:#000000">str2</span>.<span style="color:#000000">count</span>(<span style="color:#aa1111">'ay'</span>))
<span style="color:#3300aa">print</span>(<span style="color:#000000">str2</span>.<span style="color:#000000">count</span>(<span style="color:#aa1111">'z'</span>))</span></span>
5.7 join()
方法
作用:传入一个可迭代对象,把可迭代对象中的每个元素通过调用它的字符串来拼接,返回拼接后的字符串。
举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#aa5500"># 在字符串中拼接“_”,把每个字符分开</span>
<span style="color:#000000">str2</span>=<span style="color:#aa1111">"todayissundaya"</span>
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"_"</span>.<span style="color:#000000">join</span>(<span style="color:#000000">str2</span>))
<span style="color:#aa5500">#错误的,join()方法传入的参数必须是迭代对象(包括字符串、列表、元组等等)</span>
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"_"</span>.<span style="color:#000000">join</span>(<span style="color:#116644">100</span>))
<span style="color:#aa5500">#join方法中传入列表,但列表的元素必须是字符串</span>
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">""</span>.<span style="color:#000000">join</span>([<span style="color:#aa1111">"1"</span>,<span style="color:#aa1111">"3"</span>,<span style="color:#aa1111">"5"</span>]))
<span style="color:#aa5500">#join方法中传入元组,但元组的元素必须是字符串</span>
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">""</span>.<span style="color:#000000">join</span>((<span style="color:#aa1111">"1"</span>,<span style="color:#aa1111">"3"</span>,<span style="color:#aa1111">"5"</span>)))</span></span>
5.8 replace()
方法
格式:replace(self, old, new[, count])
作用:替换旧的字符串成新字符串,count参数可选,表示替换几个,如果不传count就表示全部替换
举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#3300aa">print</span>(<span style="color:#000000">str2</span>.<span style="color:#000000">replace</span>(<span style="color:#aa1111">'a'</span>,<span style="color:#aa1111">'A'</span>)) <span style="color:#aa5500">#把str2中的a替换成A</span>
<span style="color:#3300aa">print</span>(<span style="color:#000000">str2</span>.<span style="color:#000000">replace</span>(<span style="color:#aa1111">'a'</span>,<span style="color:#aa1111">'A'</span>,<span style="color:#116644">1</span>)) <span style="color:#aa5500">#只替换一次,把a替换成A</span>
<span style="color:#3300aa">print</span>(<span style="color:#000000">str2</span>.<span style="color:#000000">replace</span>(<span style="color:#aa1111">'a'</span>,<span style="color:#aa1111">'A'</span>,<span style="color:#116644">2</span>).<span style="color:#000000">replace</span>(<span style="color:#aa1111">'A'</span>,<span style="color:#aa1111">'a'</span>,<span style="color:#116644">1</span>)) <span style="color:#aa5500">#把str2中的第2个a替换成A</span></span></span>
5.9 split()
方法
格式:split(self, sep, maxsplit=-1)
作用:将一个字符串分裂成多个字符串返回列表的方法,详细即通过指定分隔符对字符串进行切片,如果参数maxsplit
有指定值,则仅分隔 maxsplit
个子字符串
举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#3300aa">print</span>(<span style="color:#aa1111">"hello"</span>.<span style="color:#000000">split</span>(<span style="color:#aa1111">"l"</span>)) <span style="color:#aa5500"># 输出['he', '', 'o'],思考为什么会出现一个空字符串?</span>
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"hello"</span>.<span style="color:#000000">split</span>(<span style="color:#aa1111">"l"</span>, <span style="color:#116644">1</span>)) <span style="color:#aa5500"># 输出['he', 'lo']</span></span></span>
注意:当分割的子串出现在边界上,或者连续出现分割的子串时,在返回的列表中会出现空字符串。
5.10 rstrip()/lstrip()/strip()
方法
作用:
rstrip()
方法:去除字符串右边的空格
lstrip()
方法:去除字符串左边的空格
strip()
方法:去除字符串两边的空格
举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">str1</span> = <span style="color:#aa1111">" jlkj agjl "</span>
<span style="color:#aa5500"># 去除开头的空格</span>
<span style="color:#3300aa">print</span>(<span style="color:#000000">str1</span>.<span style="color:#000000">lstrip</span>())
<span style="color:#aa5500">#去除结尾的空格</span>
<span style="color:#3300aa">print</span>(<span style="color:#000000">str1</span>.<span style="color:#000000">rstrip</span>())
<span style="color:#aa5500">#去除两边的空格</span>
<span style="color:#3300aa">print</span>(<span style="color:#000000">str1</span>.<span style="color:#000000">strip</span>())</span></span>
5.11 capitalize()
方法
作用:将字符串的首字母大写,其余字母全部小写
举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#3300aa">print</span>(<span style="color:#000000">str1</span>.<span style="color:#000000">capitalize</span>())
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"today is wednesday"</span>.<span style="color:#000000">capitalize</span>())</span></span>
5.12 upper()
作用:把字母全部转换为大写
举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#3300aa">print</span>(<span style="color:#000000">str1</span>.<span style="color:#000000">upper</span>())</span></span>
5.13 lower()
作用:把字母全部转换为小写
举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#3300aa">print</span>(<span style="color:#000000">str1</span>.<span style="color:#000000">lower</span>())</span></span>
5.14 title()
作用:字母的首字母都大写,标题化
举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">str3</span> = <span style="color:#aa1111">"hello new world"</span>
<span style="color:#3300aa">print</span>(<span style="color:#000000">str3</span>.<span style="color:#000000">title</span>())</span></span>
5.15 endswith()方法
作用:判断字符串以xx结尾
举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#3300aa">print</span>(<span style="color:#000000">str2</span>.<span style="color:#000000">endswith</span>(<span style="color:#aa1111">"x"</span>)) </span></span>
5.16 startswith()方法
作用:判断字符串以xx开头
举例:
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#3300aa">print</span>(<span style="color:#000000">str2</span>.<span style="color:#000000">startswith</span>(<span style="color:#aa1111">"t"</span>)) </span></span>
5.17 以is开头的方法
所有is开头的方法返回结果都是布尔值(True或者False)
-
isalnum():
字符串中所有字符都是字母或数字且非空则返回True -
isalpha():
字符串中所有字符都是字母且非空则返回True -
isdigit():
字符串中所有字符都是数字且非空则返回True -
isupper():
字母都为大写且非空返回True -
islower():
字母都为小写且非空返回True -
istitle():
单词的首字母都为大写且非空返回True
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#3300aa">print</span>(<span style="color:#aa1111">"we123"</span>.<span style="color:#000000">isalnum</span>())
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">""</span>.<span style="color:#000000">isalnum</span>())
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"%^*"</span>.<span style="color:#000000">isalnum</span>())
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"we123"</span>.<span style="color:#000000">isalpha</span>())</span></span>
举例:从键盘输入密码,判断密码是否是由数字或字母组成,如果是返回输入正确,否则返回输入错误
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">str1</span> = <span style="color:#3300aa">input</span>(<span style="color:#aa1111">"请输入密码:"</span>)
<span style="color:#770088">if</span> <span style="color:#000000">str1</span>.<span style="color:#000000">isalnum</span>():
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"输入正确"</span>)
<span style="color:#770088">else</span>:
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">"输入错误"</span>)</span></span>
print函数是输出函数。程序执行的输出函数,不需要使用变量接收,因为print函数只是输出。
input函数是输入函数,如果有输入,就需要使用变量接收输入的内容。不管输入的内容是否为空。
5 转义字符
在编程语言中,定义了一些特殊字符来表示特定的含义,这被称为转义字符,之所以叫转义是因为字符原本的含义发生了改变。比如:
\'
:表示单引号,在单引中输出单引时需要用这个转义符
\"
:表示双引号,在双引中输出双引时需要用这个转义符
\"""
:表示三引号,在三引中输出三引时需要用这个转义符
\\
:表示反斜线,在输出反斜线的时候需要用到
\t
:表示水平制表符,作用类似于tab健,在输出需要有间隔时使用
\n
:换行符,在输出时,需要换行时使用
'
:单引号,双引号里面可以直接使用单引号
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#3300aa">print</span>(<span style="color:#aa1111">"i'm a boy"</span>)</span></span>
"
:双引号,单引号里面可以直接使用双引号
\
:反斜杠\,如果刚好遇到"\test"这种,系统会把\t识别成转义字符,这时要在前面再加一个\,如果路径很长,可以在最前面加个r
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#3300aa">print</span>(<span style="color:#aa1111">"\\test"</span>)
<span style="color:#3300aa">print</span>(<span style="color:#aa1111">r"c:\test\rh.txt"</span>)</span></span>
\x
:表示后面的字符是十六进制数
Python 字符串前面加r, b, f的含义
r:字符串前加 r
去掉反斜杠的转移机制。
例:r"\n\n” # 表示一个普通生字符串 \n\n,而不表示换行了。
b:
b" "
前缀表示:字符串是bytes
类型。
网络编程中,服务器和浏览器只认bytes 类型数据。
<span style="background-color:#f8f8f8"><span style="color:#000000">在</span> <span style="color:#000000">Python3</span> <span style="color:#000000">中,bytes</span> <span style="color:#000000">和</span> <span style="color:#3300aa">str</span> <span style="color:#000000">的互相转换方式是</span> <span style="color:#3300aa">str</span>.<span style="color:#000000">encode</span>(<span style="color:#aa1111">'utf-8'</span>) <span style="color:#3300aa">bytes</span>.<span style="color:#000000">decode</span>(<span style="color:#aa1111">'utf-8'</span>)</span>
f:字符串前加 f
以 f 开头表示在字符串内支持大括号内的python 表达式
<span style="background-color:#f8f8f8"><span style="color:#3300aa">print</span>(<span style="color:#aa1111">f'{name.upper()}'</span>) <span style="color:#000000">输出:</span> <span style="color:#000000">TOM</span></span>
python 用反斜杠 转义字符。如下表:
转义字符 描述 实例 \\
反斜杠符号 >>> print("\\") \
\'
单引号 >>> print('\'') '
\"
双引号 >>> print("\"") "
\a 响铃 >>> print("\a")
执行后电脑有响声。注意只能在dos下执行才会有响铃的效果\b 退格(Backspace) >>> print("Hello \b World!") Hello World!
\n 换行 >>> print("\n") >>>
\v 纵向制表符 >>> print("Hello \v World!") Hello World! >>>
\t 横向制表符 >>> print("Hello \t World!") Hello World! >>>
\r 回车,将 \r 后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将 \r 后面的内容完全替换完成。 >>> print("Hello\rWorld!") World!
6 字符串的驻留机制(了解)
在编程语言中,=表示赋值,==表示等于,is表示判断两个对象是否是同一个对象(内存地址),==与is的区别是:==比较的是值,is比较的是内存地址。
字符串的驻留机制:在存放两个相同的字符串时,是否申请新的内存空间来分别存放取决于字符串的复杂程度(有多种类型的字符,如果只有一种即便很长那也不算复杂)
<span style="background-color:#f8f8f8"><span style="color:#333333"><span style="color:#000000">str1</span>=<span style="color:#aa1111">"helloworldnihao"</span>
<span style="color:#000000">str2</span>=<span style="color:#aa1111">"helloworldnihao"</span>
<span style="color:#000000">str3</span>=<span style="color:#aa1111">"monday%^ sunday"</span>
<span style="color:#000000">str4</span>=<span style="color:#aa1111">"monday%^ sunday"</span>
<span style="color:#3300aa">print</span>(<span style="color:#000000">str1</span>==<span style="color:#000000">str2</span>)
<span style="color:#3300aa">print</span>(<span style="color:#000000">str1</span> <span style="color:#770088">is</span> <span style="color:#000000">str2</span>)
<span style="color:#3300aa">print</span>(<span style="color:#3300aa">id</span>(<span style="color:#000000">str1</span>))
<span style="color:#3300aa">print</span>(<span style="color:#3300aa">id</span>(<span style="color:#000000">str2</span>))
<span style="color:#3300aa">print</span>(<span style="color:#000000">str3</span>==<span style="color:#000000">str4</span>)
<span style="color:#3300aa">print</span>(<span style="color:#000000">str3</span> <span style="color:#770088">is</span> <span style="color:#000000">str4</span>)
<span style="color:#3300aa">print</span>(<span style="color:#3300aa">id</span>(<span style="color:#000000">str3</span>))
<span style="color:#3300aa">print</span>(<span style="color:#3300aa">id</span>(<span style="color:#000000">str4</span>))</span></span>
在PyCharm上运行和在dos下运行是有区别的
标签:输出,Python,str2,str1,数据类型,字符串,str,print,方法 From: https://blog.csdn.net/Sodagreen_yyds/article/details/137125697