字符串

不同的字符串所占的字节数不同,所以要计算字符串的长度,就需要了解各字符所占的字节数。

python中字符串使用的是unicode字符集,数字、英文、小数点、下划线、空格占1个字节;汉字在GBK/GB2312编码中占2个字节,在UTF-8/unicode编码中占用3个字节(或者4个字节)。

一个字节有8个位组成,所以一个字节有2^8=256个状态。

使用内置函数ord()可以把字符串转换成对应的unicode码,使用内置函数chr()可以把十进制数字转换成对应的字符。

我们用单引号、双引号、三引号创建字符串,三引号可保留字符串原始格式

 字符串的替换

字符串是不可以改变的,所谓的替换只是让变量指向了创建的新字符串

str() 实现数字转型字符串

使用[]提取字符

字符串的本质就是字符序列,我们可以通过在字符串后面添加 [], 在[] 里面指定偏移量,可以提取该位置的单个字符。

字符串切片slice操作

切片 slice 操作可以让我们快速的提取子字符串。
标准格式为: [起始偏移量start:终止偏移量end:步长step],包头不包尾。

 字符串split()分割和join()合并

split() 可以基于指定分隔符将字符串分隔成多个子字符串 ( 存储到列表中) 。如果不指定分隔符,则默认使用空白字符 ( 换行符 / 空格 / 制表符) 。

join()的作用和split()作用刚好相反,用于将一系列子字符串连接起来。

使用字符串拼接符 + ,会生成新的字符串对象,因此不推荐使用 + 来拼接字符串。推荐使用 join 函数,因为 join 函数在拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。
import time
time1 =time.time()
#第一个time是模块,第二个time是time函数
a = ""
for i in range(1000000):a += "sxt"
time2 = time.time()
print("运算时间:"+ str(time2-time1))time3 = time.time()
li = []
for i in range(1000000):li.append("sxt")
a = "".join(li)
time4 = time.time()
print("运算时间:"+ str(time4-time3))

运算结果:

D:\python\python.exe D:/pythoncode/MyThreadDemo/my01.py
运算时间:0.6615064144134521
运算时间:0.14711618423461914

去除首尾信息

通过 strip() 去除字符串首尾指定信息。通过 lstrip() 去除字符串左边指定信息,rstrip() 去除字符串右边指定信息。
a = "*s*x*t*".strip("*")
b = "*s*x*t*".lstrip("*")
c = "*s*x*t*".rstrip("*")
print(a)
print(b)
print(c)

结果:

s*x*t
s*x*t*
*s*x*t
字符串的格式化
format() 基本用法:基本语法是通过 {} 和 : 来代替以前的 % 。 format() 函数可以接受不限个数的参数,位置可以不按顺序。
b = "名字是:{},年龄是:{}"
a = b.format("小涛",28)
print(a)D:\python\python.exe D:/pythoncode/MyThreadDemo/my01.py
名字是:小涛,年龄是:28
可变字符串
1、Python 中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,只能创建新的字符串对象。
2、需要原地修改字符串,可以使用io.StringIO 对象或 array 模块
s = "hello.sxt"
sio = io.StringIO(s) # sio就是可变字符串
print(sio)
print(sio.getvalue())
sio.seek(3)
sio.write("***")
print(sio.getvalue())

执行结果:

<_io.StringIO object at 0x0000019CE94F3E20>
hello.sxt
hel***sxt

小涛python学习路程-(2)编程基本概念相关推荐

  1. Python学习之面向对象编程

    Python学习目录 在Mac下使用Python3 Python学习之数据类型 Python学习之函数 Python学习之高级特性 Python学习之函数式编程 Python学习之模块 Python学 ...

  2. python学习笔记——多线程编程

    python学习笔记--多线程编程 基础不必多讲,还是直接进入python. Python代码代码的执行由python虚拟机(也叫解释器主循环)来控制.Python在设计之初就考虑到要在主循环中,同时 ...

  3. Python学习笔记:网络编程

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  4. python 舍去小数_零基础小白Python入门必看——编程基础概念

    1. 程序的构成 程序由模块组成,一个模块对应python的源文件 ,一般后缀为:.py 模块由语句构成 语句是python程序的构造单元,用于创建对象.变量赋值.调用函数.控制语句等. 2. 对象 ...

  5. 从零开始学习python编程-从0开始的Python学习014面向对象编程(推荐)

    简介 到目前为止,我们的编程都是根据数据的函数和语句块来设计的,面向过程的编程.还有一种我们将数据和功能结合起来使用对象的形式,使用它里面的数据和方法这种方法叫做面向对象的编程. 类和对象是面向对象编 ...

  6. 【Python】小甲鱼Python学习总结——代码版

    看了50P左右的小甲鱼B站的Python视频,按需学习,因此有些P可能会有遗漏.以下是自己跟着视频敲的代码,一些知识点和自己的理解写在了注释里.注释要遵守PEP8的规范. 同时Python的另一个教程 ...

  7. B站小甲鱼python学习笔记

    000 愉快的开始 视频地址: https://www.bilibili.com/video/BV1xs411Q799?p=1 python跨平台 应用范围: 操作系统.WEB.3D动画.企业应用.云 ...

  8. Python学习路程day18

    Python之路,Day18 - Django适当进阶篇 本节内容 学员管理系统练习 Django ORM操作进阶 用户认证 Django练习小项目:学员管理系统设计开发 带着项目需求学习是最有趣和效 ...

  9. python学习笔记---IO编程【廖雪峰】

    IO编程 ​ IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口 ...

最新文章

  1. redis 代理工具Predixy安装部署
  2. DataGridView使用技巧十一:DataGridView用户输入时,单元格输入值的设定
  3. Eclipse打包工具 FatJAR
  4. C语言二分查找法(指针和数组实现)
  5. 各种平台解压压缩总结
  6. 手把手教你部署VSAN见证虚拟设备 (Cormac)
  7. 【高精】Oliver的成绩(jzoj 2008)
  8. 华为手机锁屏下拉怎么设置_华为手机怎么设置锁屏
  9. poj2689Prime Distance
  10. Google的语音识别API,支持各种语言
  11. 建模步骤_数学建模的基本步骤
  12. R语言模型中的加总偏误与内生性:一种数值模拟方法
  13. 发布一个 host 管理插件
  14. 计算机网络实验|DNS 域名服务协议
  15. 圣诞节桌面特效圣诞树程序(含运行效果和百度网盘直接运行程序分享)
  16. BottomNavigationView取消水波纹动画
  17. java 串行化_Java中的串行化
  18. 增资扩股和股权转让有什么区别?
  19. OpenFOAM 工具列表
  20. java微博图床小工具

热门文章

  1. 激活黑群晖Synology Active Backup for Business,黑群晖系统备份软件激活,亲测有效
  2. 读书笔记 -- 《瓦尔登湖》
  3. c语言编程上升沿怎样写,plc结构化编程怎么写
  4. echart 折线图 ---- 坐标轴、网格、折线配置
  5. 用 CSS 实现一个抽奖转盘(附详细代码+思路)
  6. Ionic3项目实战
  7. linux rvm 安装
  8. rvm的安装, 使用rvm, 安装ruby, 以及gem的使用
  9. 写跨文化交际的论文,有哪些好的题目推荐?
  10. 两分钟了解数据安全平台(DSP)具备哪些安全能力