CiaraZHAO用户 - CiaraZHAO - HydroOJ
Chap6 字符串
string
字符串文字:
四种引号:
引号的作用就是将文字包裹起来
‘’和“”是最常见的两种字符串引号,他们大部分情况下是等价的
为什么需要两种不同的引号?-输出如:print(“xxx说‘‘”)
三引号‘‘’ ‘’‘:若使用单个引号,所有字符串内容只能写在一行里;若使用三引号,字符串的内容是不被限定有多少行的,可以写多行
字符串中的换行符号:
前面有反斜杠 \ 的字符,叫转义序列
如 \n 代表换行,尽管看起来像两个字符,但python把它视为一个特殊的字符
也可以用 \ 来排除后面的换行
其他转义序列:
\” :单个双引号
\\:输出反斜杠
\t:制表符/跳格键,即tab
转义序列只作为一个字符存在
repr() vs. print()
防止恶意机制的破坏
多行字符串作为注释:
python本身是没有多行注释的,但是可以用多行字符串实现同样的操作,其原理就是python会运行它,但是马上扔掉
垃圾回收机制:
若有一个数据、表达式或者字符串,若它没有被变量引用,会马上被python删掉,扔到垃圾桶里
一些字符串常量:
一些字符串的运算:
字符串的加乘
in运算:
字符串索引和切片:
单个字符索引:
索引可以让我们在特定位置找到一个字符
从前往后-从0开始计数
len():返回字符串的长度
负数索引:
用切片来获取字符串的一部分:
左闭右开!!!!!
切片的默认参数:
左边没有参数时默认值是0,右边默认值是-1
第三个参数step:
默认值是1
翻转字符串:
join():可以把后续的列表/序列给依次添加到一个字符串里
join():
将序列中的元素以指定的字符连接生成一个新的字符串
newstr=str.join(sequence)
newstr – 表示合并后生成的新字符串
sequence – 要连接的元素序列,必须为可迭代对象。
返回通过指定字符连接序列中元素后生成的新字符串。
字符串的循环:
用索引的for循环
也可以不用索引,用in
也可以使用enumerate()获得元素的序号:
idx:目前元素的序号
c:元素的具体内容
zip(a, b)可以在一次循环中,分别从a和b里同时取出一个元素:
(使用了解包的手法)
用split()来循环:
用splitlines()来循环:
用行来分隔
一些跟字符串相关的内置函数:
str()和len()
chr()和ord():ord()用来返回单个字符的ascii码
chr()用来返回整数对应ascii序号的字符
eval() :执行这个字符串里的表达式(可以正常运行,但不推荐使用这个方法)
推荐使用ast.literal_eval():输入会经过这个安全的执行函数,判断它是否合法,是否不产生漏洞、不执行恶意代码的,若安全再把它赋值给变量
一些字符串方法:
判断是否是字符/整数/大小写:
把全部字母变成大写/小写:
将字符串首尾的空格删除:
改变字符串内容:
删掉字符串中的某些内容:
记录字符串中出现了多少次某字符子串(大小写敏感):
判断是否以某字符字串开头:
判断是否以某字符字串结尾:
找到字符串里与字符子串匹配的起始位置:
(找不到就是-1,这种情况需要谨慎,因为s[-1]是最后一位)
(跟find很像,区别在于找不到就会报错)
用f-string格式化字符串:
注意若里面要使用引号,需要使用不同的引号
其他格式化字符串的方法(不常用):
-%操作
-format()方法
参考资料:
- 15-112: Fundamentals of Programming (cmu.edu)
- Python3 字符串 | 菜鸟教程 (runoob.com)
- Python format 格式化函数 | 菜鸟教程 (runoob.com)
字符串是常量,是不可变的,不支持赋值
必须创建一个新的字符串
字符串和别名:
字符串是不可变的,所以它的别名也是不可变的
变量名只是一个标签,它指向的是同一段数据
基础文件操作:
open()函数:
用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数
open(file, mode)函数主要有file和mode两个参数,其中file为需要读写文件的路径,mode为读取文件时的模式,常用的模式如下:
-r:以字符串的形式读取文件
-rb:以二进制的形式读取文件
-w:写入文件(直接把所有内容全覆盖掉)
-a:追加写入文件(在末尾写东西)
不同模式下返回的文件对象功能也会不同
文件对象
open()函数会返回一个文件对象。
close():关闭文件
在r与rb模式下:
-read():读取整个文件(直接把光标拉到最后)
-readline():读取文件的一行(读完该行会把光标拉到下一行)
-readlines():读取文件的所有行
在w与a模式下:
-write() :
-writelines():
注意每次操作结束后,及时通过close()关闭文件
with语句(不想写close):
with open(“xxx”) as yyy
在执行完里面的代码后会自动close
目录下的python文件是可以直接使用 import 文件名(没有.py) 导入进来
课程资料来源:Datawhale Notebook课程简介 - 聪明办法学 Python 第二版 (datawhalechina.github.io)