首页 > 编程语言 >【测试开发学习历程】Python数据类型:字符串-str(下)

【测试开发学习历程】Python数据类型:字符串-str(下)

时间:2024-03-30 22:00:15浏览次数:14  
标签:输出 Python str2 str1 数据类型 字符串 str print 方法

目录

5.5 format()方法

5.6 count()方法

5.7 join()方法

5.8 replace()方法

5.9 split()方法

5.10 rstrip()/lstrip()/strip() 方法

5.11 capitalize()方法

5.12 upper()

5.13 lower()

5.14 title()

5.15 endswith()方法

5.16 startswith()方法

5.17 以is开头的方法

5 转义字符

6 字符串的驻留机制(了解)


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

相关文章

  • 绚烂之境:Python Rich,让终端输出更炫酷!
    转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.top/c8c7bd95.html初识rich你好,我是测试蔡坨坨。在代码的世界里,每一行都是一个故事,每一个变量都是一个角色,而打印则是展示这些故事与角色的窗口。然而,这个窗口并非都是朴实无华的,有时候,我们需要一种更加「艺术」的方式来展......
  • 使用Jep在Java中调用Conda虚拟环境下的Python
    为了解决毕设中需要用到在Java中调用Python的问题,我在网上寻找对应的解决方案。似乎没有太好的解决方案:Jython至今仍是Python2,Py4J似乎也不再活跃更新。所幸我找到了Jep这一神器。正当我雀跃不已,却又发现了一些问题,在两个小时的艰难攻关之下,这些问题逐渐迎刃而解。问题一:无法找到......
  • codeforces div4 Double Strings
    #include<iostream>#include<algorithm>#include<cstring>#include<map>usingnamespacestd;intT,n;strings[900005];map<string,int>mm;//存放每一个字符串是否出现过intmain(){ cin>>T; while(T--){ mm.clear();//每次清空mm里面的数......
  • E. Nearly Shortest Repeating Substring
    #include<iostream>#include<algorithm>#include<cstring>#include<cmath>usingnamespacestd;intn,m;intmain(){ cin>>n; while(n--) { //strings; cin>>m; strings; cin>>s; intres=m; f......
  • Python面试题
    1、现有100万行的交易数据文件tansamt.txt,每行显示1个交易金额(首行无字段信息),样例如下。数据文件存放在服务器g:\data目录。203.495-5091800请通过Python脚本,把最大和最小的交易金额通过print命令打印出来:file_path=r'g:\data\tans_amt.txt'#打开文件并读取所有......
  • python-numpy-常用函数详解
    文章目录一、函数详解np.empty(num_points)np.zeros(shape,dtype=float,order='C')np.tile(A,reps)np.newaxisnp.stack(arrays,axis=0)np.roll(a,shift,axis=None)np.repeat(a,repeats,axis=None)arr.reshape(shape)arr.ravel()np.mean(a,axis=None,dtype=None......
  • 毕业设计:基于深度学习的SQL注入检测系统 信息安全 python
    目录前言课题背景和意义实现技术思路一、算法理论基础1.1 TextCNN模型1.2无监督数据增强二、 数据集2.1数据集2.2数据扩充三、实验及结果分析3.1 实验环境搭建3.2 模型训练最后前言  ......
  • 毕业设计:基于python的药品销售数据分析可视化系统 大数据
    目录前言课题背景和意义实现技术思路一、算法理论基础1.1 ETL技术1.2OLAP技术1.3数据可视化二、 数据集三、实验及结果分析3.1 实验环境搭建3.2 模型训练最后前言  ......
  • 解释Python中的可变类型和不可变类型
    解释Python中的可变类型和不可变类型 在Python中,数据类型可以分为两大类:可变类型和不可变类型。这两种类型的主要区别在于它们是否可以在赋值之后被修改。理解这两种类型的差异对于编写高效、健壮的Python代码至关重要。下面,我们将详细解释这两种类型,并探讨它们的一些特性和......
  • python中常见常用的修饰符
    装饰器是Python中一个非常强大的功能,它允许程序在定义函数或方法时“装饰”它们,即在不改变其内部实现的情况下,给它们增加新的功能。装饰器本质上是一个函数,它接收一个函数作为参数并返回一个新的函数。像@classmethod和@staticmethod这样的装饰器是Python内建的、预定义好的装饰......