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) + "+")
Python全栈工程师(字符串/序列)的更多相关文章
- Python全栈工程师(装饰器、模块)
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 全栈工程师 Python人工智能从入门到精通 装饰器 decorators(专业提高篇) 装饰 ...
- Python全栈工程师(递归函数、闭包)
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 全栈工程师 Python人工智能从入门到精通 函数式编程: 是指用一系列函数解决问题 每一个函数完成细 ...
- 【目录】python全栈工程师
第一阶段:Python 语言核心编程1. Python核心 -- 2048 游戏核心算法2. 面向对象 -- 天龙八部游戏技能系统3. Python高级 -- 集成操作框架项目:2048游 ...
- Python全栈工程师之从网页搭建入门到Flask全栈项目实战(1) - ES6标准入门和Flex布局
1.简述 1.什么是ES6?ES6, 全称 ECMAScript 6.0,是 JavaScript 的下一个版本标准,2015年6月份发版.ES6的主要目的是为了解决 ES5 的先天不足. 2.了解E ...
- Python全栈工程师(Python3 所有基础内容 0-0)
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 为了梦想为了信仰 开局一张图 Python一个月的基础语法 基本就到这咯 接下来是数据 ...
- Python全栈工程师(包、模块 的导入)
ParisGabriel 每天坚持手写 一天一篇 决定坚持几年 为了梦想 为了信仰 Python人工智能从入门到精通 $ pip3 install tenso ...
- Python全栈工程师(Python3 所有基础内容 0-0)
转发:https://www.cnblogs.com/ParisGabriel/p/9388030.html statements 语句print 输出quit() 退出exit() 退出ct ...
- Python全栈工程师(每周总结:3)
ParisGabriel 每天坚持 一天一篇 点个订阅吧 灰常感谢 当个死 ...
- Python全栈工程师(每周总结:2)
ParisGabriel 感谢 大家的支持 每天坚持 一天一篇 点个订 ...
随机推荐
- D. Bicycle Race_几何
D. Bicycle Race time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- ImportError: No module named images
[问题] 在使用学习wxPython时,一个Dem抱有如题所示错误 [解决] images 只不过是wxpython自带demo中的一个文件 体验wxpython IN action的时候Import ...
- javaweb基础(37)_mysql数据库自动生成主键
测试脚本如下: 1 create table test1 2 ( 3 id int primary key auto_increment, 4 name varchar(20) 5 ); 测试代码: ...
- java 集合 HashSet 实现随机双色球 HashSet addAll() 实现去重后合并 HashSet对象去重 复写 HashCode()方法和equals方法 ArrayList去重
package com.swift.lianxi; import java.util.HashSet; import java.util.Random; /*训练知识点:HashSet 训练描述 双色 ...
- 常用的功能封装 pool.js
//import { setInterval } from "timers"; //获取最大值 function getMax(){ var max = arguments[0]; ...
- vc导出调用dll的两种方式
一.stdcall 1. #define DLLEXPORT _declspec(dllexport) _stdcall, int DLLEXPORT func(const char *peer,u ...
- BeanUtils工具的实现
BeanUtils工具的实现 自定义一个将数据映射到类里的方法 方法一: package utils; import java.lang.reflect.Field; import java.lang ...
- Q&A - Apache、Nginx与Tomcat的区别?
一. 定义: 1. Apache Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上.其属于应用服务器.Apache支持支持模块多,性能稳定,A ...
- 【shopex】真正可用的app开发机制
shopex的app开发机制详解 网上流传的shopex4.8.5的app开发教程,不仅说得不明不白,而且由于版本问题,照着做根本是做不成的. 知其然,亦要知其所以然. shopex提供了的一个干 ...
- 基于form表单submit提交不跳转
方法一:target <html> <body> <form action="" method="post" target=&qu ...