python是一种解释型、面向对象的语言。
官网:www.python.org

特点:简介、可读性强、免费、可移植性和跨平台、丰富的库、可扩展性

python2:2000发布
python3:2008发布

默认的解释器:IDLE
可选的解释器:pycham

在IDLE中,常用的快捷键:
alt + n 上一条
alt + p 下一条
F1 帮助文档
F5 运行

注意:在python中,空格有特殊的含义,表示缩进。
用来决定语句的分组。
缩进时,几个空格都是允许的,数目必须统一。通常用四个空格来表示。

注释分为行注释和列注释。
行注释:#
列注释:‘’‘

重要的命令:
ctrl + s 保存
ctrl + c 终止
ctrl + z 退出

python的程序的构成
有模块组成,一个模块对应python源文件,后缀名.py
语句是python程序的构造单元。

一切皆对象。
对象的组成:标识、类型、值
标识:计算机内存中的地址 ,id()
类型:数据的类型,type()
值:信息,print()

变量=对象的应用
变量位于栈内存。
对象位于堆内存。

变量的声明、赋值
变量名=表达式

使用 del 删除变量

链式赋值,同一个对象赋值给多个变量。
a = b =1

系列解包赋值
a,b,c =1,2,3

python不支持常量
常量的值可以修改,只是在逻辑上不对常量的值做出修改。

标识符
用于变量、函数、类、模块等的名称。

规则:

  1. 区分大小写
  2. 第一个必须是字母、下划线
  3. 不能使用关键字
  4. 避免双下划线的使用

命名规则:
模块和包名:全小写字母
函数名:全小写字母,单词之间下划线隔开
类名:首字母大写,驼峰原则
常量名:全大写字母,下划线隔开

python数据类型
整型、浮点型、布尔型、字符串型

运算符
// 整数数除法
/ 浮点数除法
% 模
** 幂

divmod(被除数,除数) 输出 (商,余数)

进制表示
二进制:0b
八进制:0o
十六进制:0x

pyhon不会整数溢出。
整数和浮点数混合运算时,表达式结果自动转换成浮点数型。

浮点型
表示方法:
3.14 = 314e-2

round() 四舍五入函数
int() 直接去掉小数点后

增强型运算符
+=、-=、*=、/=、//=、**=、%=

时间的表示
time.time() ---------- 获得当前时间,结果小数点前为秒数、后为微妙。

1970.1.1 00:00:00 unix时间点

布尔型
python2 没有
python3 添加为关键字

比较运算符

==、!=、<、>、<=、>=

逻辑运算符
or、and、not

同一运算符

is 比较对象
== 比较值

整数缓存
命令行中缓存范围[-5,256]
文件中缓存范围[-5,任意正整数]

转义字符
\n 换行
\t 横向制表符
\r 回车
\ 续行符

字符串相关知识

字符串拼接 +
字符串+字符串 拼接
数字+数字 计算
字符串+数字 异常

字符串复制
“abc”*数字

不换行打印 end
print(“aa”,end=“123”)
print(“bb”)
输出:aa123bb

控制台读取字符串
input(“请输入”)

转换字符串
str()

提取字符串[]
正向搜索:偏移量0
反向搜索:偏移量-1

字符串替换
replace(‘替换前的字符’,‘替换后的字符’)

字符串切片slice
截取字符串
格式:[起始偏移量start:终止偏移量:end:步长:step]

[:] 提取整个字符串
[2:] 第三个到末尾
[:2] 从开始到第三个
[2:4] 从第3个到第5个(包头不包尾)
[1:6:2] 从2个到第7个,每两个输出第一个

[-3:] 倒数三个
[-8:-2] 倒数第8个到倒数第2个(包头不包尾)
[::-1] 反向输出

操作时,超出范围不会报错,
小于0,当作0
大于‘长度-1’当作-1

字符串切割split()
split(‘使用指定切割字符串’)

字符串拼接
+每次都生成新的对象
join() ---------- 仅新建一次对象、性能更好

“放置使用的拼接字符”.join(字符串)

字符串驻留机制
仅保存一份相同且不可变字符串的方法

符合表示字符串规则(仅字母、数字、下划线)启用驻留机制

成员操作符
in /not in
判断某个字符(串)是否在字符串中

字符串的查找方法
len() ----------字符串长度
startswith() ----------以指定字符串开头
endswith() ----------以指定字符串结尾
find() ----------第一次出现指定字符串的位置
rfind() ----------最后一次出现指定字符串的位置
count() ----------指定字符串出现的次数
Isalnum() ----------所有字符全是字母会或数字

去除首位信息strip()
lstrip(“”) ---------- 去除左边指定信息
rstrip(“”) ---------- 去除右边指定信息
strip(“”) ---------- 去除两边指定信息

大小写转化
capitalize()---------- 首字母大写
title() ----------每个单词首字母大写
upper() ----------所有字母大写
lower() ----------所有字母小写
swapcase() ----------大小写转换

格式排版
center() ----------居中
ljust() ----------左对齐
tjust() ----------右对齐

格式
A.center(10,”指定填充字符”) ---------- 10表示:字符的个数。默认空格

扩展:
Isalnum() ----------是否为字母或数字
Isalpha() ----------检测字符串是否只由字母、汉字组成
Isdigit() ----------检测字符串是否只由数字组成
Isspace() ----------检测是否为空白符
Isupper() ----------是否为大写字母
Islower() ----------是否为小写字母

字符串的格式化format
Format函数可以接受不限个参数、位置可以不按顺序。

方法一:
A = “名字是:{0},年龄是:{1}”
A.Format(“haha”,20)

方法二:
A.“名字是:{name},年龄是{age}”
A.format(name=’haha’,age=20)

填充与对齐
^、<、>分别表示居中、左对齐、右对齐
:后面带填充的字符、只能是一个字符,不指定默认空格。
A = “名字是:{0:填充的字符^居中字符数量}

数字格式化
浮点数通过f,整数通过d进行格式化。
{:.2f} ----------保留两位小数
{:+.2f} ----------带符号保留两位小数
{:0^2d} ----------数字补零,居中,宽度为2
{:.2%} ---------- 百分比格式
{:,} ----------以逗号分隔的数字格式

可变字符串
字符串属于不可变对象,不支持原地修改。
使用io.StringIO对象。
A.getvalue() ----------输出字符串的值
A.seek(数字) ----------移动指针到指定位置
A.write(“新的字符”) ----------修改指定字符

运算符相关知识

移位
左移
A << 2 ----------左移一位相当于乘以2,两位相当与乘以4
右移
A >> 2 ----------右移一位相当于除以2,两位相当于除以4

Python中,没有自加和自减

运算符的优先级
乘除优先加减
位运算和算数运算>比较运算符>赋值运算符