动机
由于没有系统总结过python,很多基本知识都不熟了。
目的
复习python基础内容,熟悉python基础数据结构,满足机器学习使用。
内容
python相关链接
python基础数据结构
流程控制工具
模块
输入输出
错误和异常
类
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××
python相关链接
中文文档https://docs.python.org/zh-cn/3/tutorial/index.html
有关标准的对象和模块,参阅 Python 标准库。Python 语言参考 提供了更正式的语言参考。想要编写 C 或者 C++ 扩展可以参考 扩展和嵌入 Python 解释器 和 Python/C API 参考手册。
python基础数据结构
Python能够直接处理的数据类型有以下几种:
整数
Python可以处理任意大小的整数,
例如:1
,100
,-8080
,0
,等等。
计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x
前缀和0-9,a-f表示,例如:0xff00
,0xa5b4c3d2
,等等。
浮点数
浮点数也就是小数。浮点数可以用数学写法,如1.23
,3.14
,-9.01
,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9
,或者12.3e8
,0.000012可以写成1.2e-5
,等等。
字符串
字符串是以单引号'
或双引号"
括起来的任意文本,比如'abc'
,"xyz"
等等。请注意,''
或""
本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'
只有a
,b
,c
这3个字符。如果'
本身也是一个字符,那就可以用""
括起来,比如"I'm OK"
包含的字符是I
,'
,m
,空格,O
,K
这6个字符。
如果字符串内部既包含'
又包含"
怎么办?可以用转义字符\
来标识,比如:
'I\'m \"OK\"!'
转义字符\
可以转义很多字符,比如\n
表示换行,\t
表示制表符,字符\
本身也要转义,所以\\
表示的字符就是\
,可以在Python的交互式命令行用print()
打印字符串看看:
>>> print('I\'m ok.')
I'm ok.
>>> print('I\'m learning\nPython.')
I'm learning
Python.
>>> print('\\\n\\')
\
\
如果字符串里面有很多字符都需要转义,就需要加很多\
,为了简化,Python还允许用r''
表示''
内部的字符串默认不转义
字符串操纵(重要)
- 字符串可以用
+
进行连接(粘到一起),也可以用*
进行重复 - 相邻的两个或多个 字符串字面值 (引号引起来的字符)将会自动连接到一起.只能对两个字面值这样操作,变量或表达式不行。如果你想连接变量,或者连接变量和字面值,可以用
+
号
- 字符串是可以被 索引 (下标访问)的,第一个字符索引是 0。单个字符并没有特殊的类型,只是一个长度为一的字符串
- 字符串还支持 切片。索引可以得到单个字符,而 切片 可以获取子字符串
- 注意切片的开始总是被包括在结果中,而结束不被包括。这使得
s[:i] + s[i:]
总是等于s
-
切片的索引有默认值;省略开始索引时默认为0,省略结束索引时默认为到字符串的结束
布尔值
布尔值和布尔代数的表示完全一致,一个布尔值只有True
、False
两种值,要么是True
,要么是False
,在Python中,可以直接用True
、False
表示布尔值(请注意大小写),也可以通过布尔运算计算出来
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
布尔值可以用and
、or
和not
运算。and
运算是与运算,只有所有都为True
,and
运算结果才是True,or
运算是或运算,只要其中有一个为True
,or
运算结果就是True,not
运算是非运算,它是一个单目运算符,把True
变成False
,False
变成True
True and True#True
True or True#True
not True#False
空值
空值是Python里一个特殊的值,用None
表示。None
不能理解为0
,因为0
是有意义的,而None
是一个特殊的空值。