Python学习手册——第二部分 类型和运算(1)之字符串

Novice!!! 2021-11-25 19:37:25
学习 Python 手册 第二 第二部

Python全景

1.程序由模块构成。
2.模块包含语句。
3.语句包含表达式。
4.表达式建立并处理对象。
在python中数据是以对象的形式出现的!!!

为什么使用内置类型

  • 内置对象使程序更容易编写
  • 内置对象往往比定制的数据结构更有效率
  • 内置对象是语言的标准的一部分
    在解决问题的时候python不需要像C和C++先去声明数据的类型,python会自己识别类型。

python的核心数据类型

python核心数据类型
python中没有类型声明,根据表达式的语法决定创建和使用对象的类型。
(在python的语言内部已经高效创建了)
但是一旦创建了一个对象,它就和操作集合绑定了只可以对字符串进行字符串相关的操作,对列表进行列表相关的操作。
对应的类型有其相关的操作方式。

数字类型

包括的类型有:整数,浮点数,虚数,分子分母,集合等。
其数学运算的符号:加号(+)代表加法,减号(-)代表减法,星号(*)表示乘法,双星号(**)表示乘方。
浮点数会遇到的两种类型:代码形式repr,用户友好形式str。后者可以用print语句进行实现。

数字中的额外工具包

math包
需要用户在引用该包之后再进行使用:import math
math.pi是打印Π的值。math.sqrt()是对括号里的数字进行开根号处理
randow包
也是需要先进行引入import random
random.random()是随机数字生成器,random.choice([])是随机选择器
[]是列表的创建用的语法,后面会详细介绍列表。

字符串类型

字符串是用来记录文本信息的,它是一个对象的有序集合(从左到右)。字符串是单个字符的字符串的序列

字符串序列的操作


可以看到索引是从0开始的。这个会有清晰的解释。
python支持反向索引

所以我们可以将spam这个字符串看成是这样的pamspam可以将s看成是坐标轴的原点,所以其索引时从0开始。
当我们只想输出字符串中的一些我们想要的数据时候,可以对字符串进行切片处理
一般形式为X[I:J](但是不会包括J的值)


在使用简便切片时,牢记左边界默认为0,并且右边界默认为分片序列的长度。
值得一提的是S[-1:]是不成立的会输出 输出空的值,因为字符串是从0开始向左向右的。从中间到两边。

字符串的不可变性

意思就是在我们创建一个字符串后,我们不能直接对字符串中的字符进行修改,如果我们修改字符串中的字符,我们可以通过建立一个新的字符串,并以同一个变量名对其进行赋值。
核心类型中,数字、字符串和元组是不可变的;列表和字典不是这样(它们可以完全自由地改变)

类型的特定方法

目前我们学习过的每一个字符串操作都是一个真正的序列操作。这些不止于用于字符串,包括列表和元组。但是字符串有特殊的操作方法:
S.find('pa')find这个方法是用来对字符串进行查找操作的。但是它只返回寻找的第一个字符的偏移量(也就是位置)。
S.replace('pa','XYZ')replace方法是用来替换字符的。前提是该字符串有需要被替换的字符,所以还具有全局搜索的任务。

line.split(',')是字符串在遇到字符,时进行隔开。
S.upper()'指的是全部大写。
S.isalpha()是进行测试,测试字符串的内容。检查一个字符串中所有的字符是否都是由字母构成的,并且至少有1个字符。
如果,字符串中所有的字符都是字母,则返回True,否则返回False. 该函数除了能判断字符串是否为英文字母外,也能判断其它语言中的字母。
\n是换行。当我们需要去掉字符串中的所有空格时line.rstrip()

格式化
格式化的细讲:python字符串的格式化细讲

在序列中的操作都是相通的,但是方法却是不相同的。
简明的法则:可作用于多种类型的通用型操作都是以内置函数或表达式的形式出现的[例如,len(X),X[0]],但是类型特定的操作是以方法调用的形式出现的[例如,aString.upper()]。

寻求帮助###

调用内置的dir函数,将会返回一个列表,其中包含了对象的所有属性。

以双下划线开头并结尾的变量名是用来表示Python实现细节的命名模式。而这个列表中没有下划线的属性是字符串对象能够调用的方法。
但是dir(S)只是给出了所有的方法的名字,要查询它们是做什么的,你可以将其传递给help函数。

在使用时要记得先创建一个字符串,这样才能够有所显示,不然会出现未定义的情况。

编写字符串的其他方法###

可以在字符串中间插入转义字符\n空一行。\t空一个tab键。\0是中止字符串。

可以看\n``\t``\o是包含在字符内的。计入字符长度。

ord()函数主要用来返回对应字符的ascii码

Python允许字符串包括在单引号或双引号中(它们代表着相同的东西),也允许在三个引号(单引号或双引号)中包括多行字符串常量。三个引号时,所有行都合并在一起。

可以看到输出结果时,换行处,python会自动添加换行符

模式匹配

字符串对象的方法能够支持基于模式的文本处理。
模式匹配的定义:数据结构中字符串的一种基本运算,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串,这就是模式匹配。在python中的实现需要两个步骤:1,引入re模块。2,编写相应代码
跟着零个或几个 制表符或空格,对应的代码是[ \t]*(.*)。认真理解加粗部分。有一个需要注意的地方,如果想用这种方法存放两个组不能直接用[ \t]*(.*)[ \t]*(.*)。这会使第二个组为空。



但是如果在两个[ \t](.)中间添加空格,可以解决这个问题


这可能是转义字符引起的问题。
下面这种情况,直接用/当分组标准就没有问题:

print(match.groups())把所有的部分都输出。
print(match.group(0))按照字符串进行输出。


第二行就是`print(match.group(0))'的结果。

版权声明
本文为[Novice!!!]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/brain-keep-burning-why/p/15600451.html

  1. Python生成的随机数,要怎么设定成随机数a小于随机数b啊
  2. Python生成的隨機數,要怎麼設定成隨機數a小於隨機數b啊
  3. Le nombre aléatoire généré par Python, comment définir le nombre aléatoire a est inférieur au nombre aléatoire B
  4. Python爬虫能做什么
  5. Python老技师给上路初学者的3点忠告
  6. 3 conseils aux débutants sur la route de l'ancien technicien Python
  7. Que peuvent faire les reptiles Python
  8. The code NPM cloned from git will report a python error after it is installed!
  9. 数据分析从零开始实战,Pandas读写CSV数据
  10. Python基础(十二):类与对象
  11. Python Foundation (12): classes et objets
  12. Python基礎(十二):類與對象
  13. L'analyse des données commence à zéro et pandas lit et écrit les données CSV
  14. Python Qt GUI设计:QSlider滑动条类(基础篇—16)
  15. #yyds干货盘点#数据分析从零开始实战,Pandas读写CSV数据
  16. This paper designs an examination system for automatically setting questions and judging papers by using Python standard library language to investigate the ability of users to calculate four integers within 100.
  17. Yyds Dry Inventory # Data Analysis started from zero, pandas read and write CSV Data
  18. python数据结构:数组、列表、栈、队列及实现
  19. Python编程真的是未来人工智能的主流吗?
  20. Python编写通讯录,支持模糊查询,利用数据库存储
  21. Python編寫通訊錄,支持模糊查詢,利用數據庫存儲
  22. Python編程真的是未來人工智能的主流嗎?
  23. Python écrit le carnet d'adresses, prend en charge les requêtes floues et utilise le stockage de base de données
  24. La programmation Python est - elle vraiment le courant dominant de l'IA future?
  25. Structure des données Python: tableaux, listes, piles, files d'attente et implémentations
  26. Python networkx Practical Social Network Visualization
  27. [译] 通过 for 循环,比较 Python 与 Ruby 编程思想的差别
  28. Comparez les différences de programmation entre Python et Ruby à travers la boucle for
  29. Python basic and introductory tutorials
  30. What you don't know
  31. 人生苦短,能让你更早下班的Python垃圾回收机制
  32. Boring playing Tetris, using Python to do their own without advertising
  33. Seemingly boring Python games, but I fished for work all afternoon!!
  34. A collection of grammar knowledge points for getting started with Python
  35. Benefits of learning Python
  36. Play childhood memories with Python, greedy snake
  37. Python is suitable for beginners
  38. Simple Python game making
  39. Welfare is coming!! Python basic syntax dry goods
  40. Simply understand the learning direction of Python and make yourself a better choice
  41. Why do many people say Python is simple?
  42. Un mécanisme de collecte des ordures Python qui vous permet de quitter le travail plus tôt
  43. Python actual combat battery digital twin [including source code]
  44. Python file operation delete move copy new
  45. Python module accumulation
  46. Python crawler programming idea (70): project practice -- capturing the mobile phone sales ranking of Jingdong Mall
  47. Python crawler programming idea (69): project practice -- capturing Dangdang Book ranking
  48. Python crawler programming idea (68): using pseudo class selectors in pyquery
  49. Eight high-quality Python books are recommended for beginners
  50. L'analyse des données commence à zéro et pandas lit et écrit les données CSV
  51. Write a 5-digit test number in Python
  52. Using Python to batch delete old files n days ago in a specific directory under Windows: batch delete old files under windows, clear cache files, save drive C, and reject drive C explosion
  53. Pandas calculates the statistical data (cumulative time, length change, change rate, variance, mean value, maximum, minimum, etc.) required for prediction and reasoning of the model based on time series data: data duration (minutes), total data change aft
  54. python小问题,各位帮我看一下
  55. Python decrypted the latest rich list in 2021. Ma Yun didn't even enter the top three
  56. 如何使用Python进行单元测试
  57. 基于Python的自动化测试平台开发你要理解的:uWSGI
  58. python:接口自动化测试框架读取配置优化
  59. 代码测试中的Python应用1 | VectorCAST单元测试报告自定义需求的GUI开发
  60. 毕业生简单的用Python实现一个信息管理系统【含示例代码】