Python全栈工程师(字符串/序列)

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字符

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

 


常用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)

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

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

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

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

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

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

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

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

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

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

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:默认填充空格

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

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

以下是不常用的
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) + "+")

 

 

 

 

转载于:https://www.cnblogs.com/ParisGabriel/p/9266051.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/389253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

跨库数据表的运算

跨库数据表的运算&#xff0c;一直都是一个说难不算太难&#xff0c;说简单却又不是很简单的、总之是一个麻烦的事。大量的、散布在不同数据库中的数据表们&#xff0c;明明感觉要把它们合并起来&#xff0c;再来个小小的计算&#xff0c;似乎也就那么回事……但真要做起来&…

FCN全卷积网络随笔

参考&#xff1a;四、全卷积网络FCN详细讲解&#xff08;超级详细哦&#xff09; 这篇文章已经写的很好了&#xff0c;这里说两个我考虑的点。 第一个就是&#xff1a;FCN在缩小成heat map&#xff0c;为什么要通过上采样还原回原图大小&#xff1f; 我觉得这个的原因是因为&a…

熊猫在线压缩图_回归图与熊猫和脾气暴躁

熊猫在线压缩图数据可视化 (Data Visualization) I like the plotting facilities that come with Pandas. Yes, there are many other plotting libraries such as Seaborn, Bokeh and Plotly but for most purposes, I am very happy with the simplicity of Pandas plotting…

敏捷数据科学pdf_敏捷数据科学数据科学可以并且应该是敏捷的

敏捷数据科学pdfTL;DR;TL; DR; I have encountered a lot of resistance in the data science community against agile methodology and specifically scrum framework; 在数据科学界&#xff0c;我遇到了许多反对敏捷方法论(特别是Scrum框架)的抵制。 I don’t see it this …

oracle的连接字符串

OracleConnection oCnn new OracleConnection("Data SourceORCL_SERVER;USERM70;PASSWORDmmm;");建立个角色 建立个表空间(角色与表空间同名的) 在方案里就可以建立表,然后就哦了 10g

SiameseRPN详解

SiameseRPN论文来源论文背景一&#xff0c;简介二&#xff0c;研究动机三、相关工作论文理论注意&#xff1a;网络结构&#xff1a;1.Siamese Network2.RPN3.LOSS计算4.Tracking论文的优缺点分析一、Siamese-RPN的贡献/优点&#xff1a;二、Siamese-RPN的缺点&#xff1a;代码流…

数据可视化 信息可视化_可视化数据操作数据可视化与纪录片的共同点

数据可视化 信息可视化Data visualization is a great way to celebrate our favorite pieces of art as well as reveal connections and ideas that were previously invisible. More importantly, it’s a fun way to connect things we love — visualizing data and kicki…

python 图表_使用Streamlit-Python将动画图表添加到仪表板

python 图表介绍 (Introduction) I have been thinking of trying out Streamlit for a while. So last weekend, I spent some time tinkering with it. If you have never heard of this tool before, it provides a very friendly way to create custom interactive Data we…

Python--day26--复习

转载于:https://www.cnblogs.com/xudj/p/9953293.html

sockets C#

Microsoft.Net Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务&#xff0c;其名字空间System.Net和System.Net.Sockets包含丰富的类可以开发多种网络应用程序。.Net类采用的分层结构允许应用程序在不同的控制级别上访问网络&#xff0c;开发人员可…

667. Beautiful Arrangement II

找规律 1&#xff0c;2&#xff0c;... , n 乱序排列&#xff0c;相邻数据的绝对差最多有n-1种 比如1&#xff0c;2&#xff0c;3&#xff0c;4&#xff0c;5对应于 1 5 2 4 3 class Solution { public:vector<int> constructArray(int n, int k) {vector<int> re…

SiameseRPN++分析

SiamRPN论文来源论文背景什么是目标跟踪什么是孪生网络结构Siamese的局限解决的问题论文分析创新点一&#xff1a;空间感知策略创新点二&#xff1a;ResNet-50深层网络创新点三&#xff1a;多层特征融合创新点四&#xff1a;深层互相关代码分析整体代码简述&#xff08;1&#…

MySQL:Innodb page clean 线程 (二) :解析

一、数据结构和入口函数 1、数据结构 ● page_cleaner_t&#xff1a;整个Innodb只有一个&#xff0c;包含整个page clean线程相关信息。其中包含了一个page_cleaner_slot_t的指针。变量名含义mutex用于保护整个page_cleaner_t结构体和page_cleaner_slot_t结构体&#xff0c;当…

Lockdown Wheelie项目

“It’s Strava for wheelies,” my lockdown project, combining hyper-local exercise with data analytics to track and guide improvement. Practising wheelies is a great way to stay positive; after all, it’s looking up, moving forward.我的锁定项目“将Strava运…

api地理编码_通过地理编码API使您的数据更有意义

api地理编码Motivation动机 In my second semester of my Master’s degree, I was working on a dataset which had all the records of the road accident in Victoria, Australia (2013-19). I was very curious to know, which national highways are the most dangerous …

js进阶 12-5 jquery中表单事件如何使用

js进阶 12-5 jquery中表单事件如何使用 一、总结 一句话总结&#xff1a;表单事件如何使用&#xff1a;可元素添加事件监听&#xff0c;然后监听元素&#xff0c;和javase里面一样。 1、表单获取焦点和失去焦点事件有哪两组&#xff1f; 注意是blur/focus和focus in/out&#x…

SiamBAN论文学习

SiameseBAN论文来源论文背景主要贡献论文分析网络框架创新点一&#xff1a;Box Adaptive Head创新点二&#xff1a;Ground-truth创新点三&#xff1a;Anchor Free论文流程训练部分&#xff1a;跟踪部分论文翻译Abstract1. Introduction2. Related Works2.1. Siamese Network Ba…

简单入门Javascript正则表达式

我们已经会熟练使用js字符串类型了&#xff0c;例如你想知道一个变量是否等于一个字符串&#xff0c;可能可能这样判断 if(ahello,world){... } 复制代码但是往往我们有时候对一些字符串判断显得力不从心&#xff0c;例如判断一个文件的类型是否为js类型&#xff0c;可能有下面…

实现klib_使用klib加速数据清理和预处理

实现klibTL;DRThe klib package provides a number of very easily applicable functions with sensible default values that can be used on virtually any DataFrame to assess data quality, gain insight, perform cleaning operations and visualizations which results …

MMDetection修改代码无效

最近在打比赛&#xff0c;使用MMDetection框架&#xff0c;但是无论是Yolo修改类别还是更改head&#xff0c;代码运行后发现运行的是修改之前的代码。。。也就是说修改代码无效。。。 问题解决办法&#xff1a; MMDetection在首次运行后会把一部分运行核心放在anaconda的环境…