Python全栈工程师(字符串/序列)[通俗易懂]

Python全栈工程师(字符串/序列)[通俗易懂]ParisGabrielPython入门基础字符串:str用来记录文本信息字符串的表示方式:在非注释中凡是用引号括起来的部分都是字符串‘’ 单引号“” 双引号'''&#

大家好,又见面了,我是你们的朋友全栈君。

ParisGabriel

 
 
Python 入门基础
 
 
 

字符串:str
用来记录文本信息
字符串的表示方式:
在非注释中凡是用引号括起来的部分都是字符串
‘’ 单引号
“” 双引号
”’ ”’ 三单引
“”” “”” 三双引
有内容代表非空字符串否则是空字符串

区别:
单引号内的双引号不算结束符
双引号内的单引号不算结束符
三引号内的换行会自动转换为换行符
三引号内可以包含单引号和双引号

隐式字符串拼接:

s = "I'm a I'm a programmer" 'heoll "wored"'

转移符:
\’ 单引号
\” 双引号
\\ 单反斜杠
\n 换行
\r 返回光标至行首
\t 水平制表符
\v 垂直制表符
\f 换页
\b 倒退
\0 空字符,字符值为0
\xXX ,XX为两位16进制表示的自符
\uXXXX ,XXXX为4个16进制的Unicode16字符
\UXXXXXXXX ,8个16进制表示的Unicode32字符

Python全栈工程师(字符串/序列)[通俗易懂]

ASCII编码:
man ASCII :查看帮助文档命令

Python全栈工程师(字符串/序列)[通俗易懂]

 

常用ASCII编码:
字符 十进制 十六进制
0 48 0x30
A 65 0x41
a 97 0x61

Unicode:
统一编码,分为Unicode16、Unicode32

序列的概念:
字符串就是序列
函数:
len(x) 返回字符串的字符个数
raw 字符串:
让转义符号\无效
格式:
r‘字符串内容’
print(r“\n\\\t”)
字符串的运算:
+ 用于拼接字符串
* 用于生成重复字符串
字符串的相乘只能与整数
+=   *= 与其他符合运算符相同
in / not in 运算符:
用于判断某个字符串是否在
相当于字符串出现过 如果出现过返回true 否则返回false
字符串的比较运算:
> >= < <= == !=
依次按照编码进行比较,直到最短字符串结束为止

索引(下标):
Python的字符串是不可以改变字符序列的

 

index:
字符串[整数表达式]
Python序列都可以用索引来访问序列中的对象
Python的序列正向索引是冲0开始的最后一个索引为len(s)-1
Python序列的反响索引是从-1开始的 -1是最后一个 第一个是 -len(s)

Python全栈工程师(字符串/序列)[通俗易懂]

切片:
slice
从一个字符串序列中取出相应的元素重新组成一个字符串系列
语法:
字符串序列[(开始索引b):(结束索引e):(步长s)]
小括号括起的部分代表可省略
说明:
开始索引是切片开始切下的位置,0代表第一个元素,1代表第二个,-1代表最后一个
结束索引是切片的终止索引(但不包括终止点)
步长:
是切片每次获取当前元素后移动的方向和偏移量
没有步长,相当于取值完成后向右移动一个索引的位置默认1
当步长代表为正数时取正向切片 步长默认为1 开始位置为0 结束为len(s)步长代表下一次索引的取值增长值
当步长为负数时 取反向切片 默认的起始位置是最后一个元素,终止位置是第一个元素的前一个位置

Python全栈工程师(字符串/序列)[通俗易懂]

Python3中常用于序列函数:
len(x)返回序列长度

Python全栈工程师(字符串/序列)[通俗易懂]

max(x)返回序列最大值元素

Python全栈工程师(字符串/序列)[通俗易懂]

min(x)返回序列最小止元素

Python全栈工程师(字符串/序列)[通俗易懂]

字符串编码转换函数:
ord(c)返回一个字符的Unicode值(十进制)

Python全栈工程师(字符串/序列)[通俗易懂]

chr(i)返回 i这个整数的值所对应的字符

Python全栈工程师(字符串/序列)[通俗易懂]

整数转字符串函数:
bin(i) 将整数转换为二进制的字符串

oct(i) 将整数转换为八进制的字符串

hex(i) 将整数转换为十六进制的字符串

Python全栈工程师(字符串/序列)[通俗易懂]

二进制转换其他进制是非常好转的 如图:

100=4   101=5 10=2  156=0o452 (八进制)

1100=c 1001=9       156=0x9c (十六进制)

字符串的构造函数:
str(obj=“”) 将对象转换为字符串

常用的字符串方法:
文档参见:
对象.方法名(方法传参)
“abc”.isalpha() # 语法是对的
123.isalpha() # 语法是错的
方法 说明
S.isdigit() 判断字符串中的字符是否全为数字
S.isalpha() 判断字符串是否全为英文字母
S.islower() 判断字符串所有字符是否全为小写英文字母
S.isupper() 判断字符串所有字符是否全为大写英文字母
S.isspace() 判断字符串是否全为空白字符
S.center(width[,fill]) 将原字符串居中,左右默认填充空格 width:所居中字符串的长度 fill:默认填充空格

Python全栈工程师(字符串/序列)[通俗易懂]

S.count(sub[, start[,end]]) 获取一个字符串中子串的个数 sub:所要获取的字符串 start:起始位置 end:结束位置
S.find(sub[, start[,end]]) 获取字符串中子串sub的索引,失败返回-1 start:起始位置 end:结束位置

Python全栈工程师(字符串/序列)[通俗易懂]

S.strip() 返回去掉左右空白字符的字符串
S.lstrip() 返回去掉左侧空白字符的字符串
S.rstrip() 返回去掉右侧空白字符的字符串
S.upper() 生成将英文转换为大写的字符串
S.lower() 生成将英文转换为小写的字符串
S.replace(old, new[, count]) 将原字符串的old用new代替,生成一个新的字符串 count:更换的次数
S.startswith(prefix[, start[, end]]) 返回S是否是以prefix开头,如果以prefix开头返回True,否则返回False,
S.endswith(suffix[, start[, end]]) 返回S是否是以suffix结尾,如果以suffix结尾返回True,否则返回False

Python全栈工程师(字符串/序列)[通俗易懂]

以下是不常用的
S.title() 生成每个英文单词的首字母大写字符串
S.isnumeric() 判断字符串是否全为数字字符

练习:
1.
输入一个字符串用s绑定
判断输入有几个人空格
将原字符串的左右空格空白符去掉
打印剩余的字符个数
判断输入的是否是数字
如果是数字判断这个数是否大于100

 答案:

print("Answer to question 1:", "\n")

s = input("plaese input at will string:")
print("you input string blank have ", s.count(" "))
print("string surplus:", len(s.strip()))
if s.isdigit() is True:
    if int(s) > 100:
        print("input integer:", s, ">100")
    else:
        print("input integer:", s, "<100")
else:
    print("you input contain alpha:", s)

 

2.
输入3行文字,让这三行文字在一个方框内居中显示
显示如下:
+—————+
|       hello      |
|    123123    |
|       |
+—————+
注:请不要输入中文

答案:

print("Answer to question 2:", "\n")

a = input("plaese input at will string 1:")
b = input("plaese input at will string 2:")
c = input("plaese input at will string 3:")
top = a
if top < b:
    top = b
if top < c:
    top = c
print("+" + "-" * (len(top) * 2 + 10) + "+")
print("|" + a.center(len(top) * 2 + 10) + "|")
print("|" + b.center(len(top) * 2 + 10) + "|")
print("|" + c.center(len(top) * 2 + 10) + "|")
print("+" + "-" * (len(top) * 2 + 10) + "+")

Python全栈工程师(字符串/序列)[通俗易懂]

 

Python全栈工程师(字符串/序列)[通俗易懂]

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156094.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 风中有朵雨做的云解析_MySQL comment

    风中有朵雨做的云解析_MySQL comment其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。DELIMITER$$DROPTRIGGERIFEXISTS`updateegopriceondelete`$$CREATETRIGGER`updateego

    2022年10月23日
  • 如何设置tomcat服务为自启动_无限自动配置服务没有运行

    如何设置tomcat服务为自启动_无限自动配置服务没有运行配置 Tomcat 以服务方式自动运行

  • Linode 遭受大规模DDoS攻击

    Linode 遭受大规模DDoS攻击美国当地时间12月29日,专用虚拟服务器提供商Linode遭到DDoS攻击,截至到本文发布时其web服务的访问仍受影响,其中API调用和管理功能依然部分不可用。Linode称正在努力尽快恢复正常访问服务。\\早在2013年就有过Linode就遭到大规模DDoS攻击。在HackNews上的讨论中,有人认为Linode在安全建设方面多有疏忽,并且和ISP缺乏配合,从而导致此次DDoS攻击影响过甚。\…

  • 联想Win10安装Ubuntu双系统教程

    联想Win10安装Ubuntu双系统教程前言:最近为了更好的做一名程序员(猿),所以准备装一个双系统,也就是Ubuntu系统,网上坑太多,所以决定自己写一点操作步骤首先看一下我的计算机配置,联想小新700Tip:这里的安装步骤仅仅针对联想Win10改型号或者相关型号,其他品牌型号安装过程可能有所差异,在这里不多说(因为穷,没用过其他的)首先要明确装双系统有一个步骤,在这里分为:(1)下载Ubuntu镜像文件;(2…

  • Assert.assertEquals()方法参数详解

    Assert.assertEquals()方法参数详解junit.framework包下的Assert提供了多个断言方法.主用于比较测试传递进去的两个参数.Assert.assertEquals();及其重载方法:1.如果两者一致,程序继续往下运行.2.如果两者不一致,中断测试方法,抛出异常信息AssertionFailedError.查看源码,以Assert.assertEquals(intexpected,inta…

  • 【Android开发】范例2-实现放大镜效果

    【Android开发】范例2-实现放大镜效果

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号