数字(整型int,浮点数float,复数complex,布尔型bool)
字符串str 列表list 等
bool(true=1、false=0)
None 空值
算数运算符:
+ - * / // ** %
优先级:
(), [], {key: value}, {} 元组表达式、列表表达式、字典表达式、集合表达式
x[index], x[index:index],
x(arguments...), x.attribute 索引,切片,函数调用,属性引用
** 指数 (最高优先级)
~, +, - 按位翻转, 正号,负号
*, /, %, // 乘,除,取模和地板除
+, - 加法, 减法
>>, << 右移, 左移运算符
& 位与(AND)
^ 位异或(XOR)
| 位或(OR)
<=, <, >, >=, ==, !=,
is, is not, in, not in 比较,身份测试,成员资格测试
not 布尔非
and 布尔与
or 布尔或
if - else 条件表达式
lambda lambda 表达式
变量命名:必须以字母或下划线开头(驼峰法则)
序列赋值:a,b,c = 100, 200, 300
变量交换:a,b = 200,100
del 删除变量
help(“__main__”) 查看变量 Q退出
内存自动管理方式:引用计数
is/is not 判断是否为同一个对象
id(obj)函数: 返回对象在内纯中的id
小整数对象值:-5 ~ 256
比较运算符:
< <= > >= == !=
数值对象的构造函数:
float(obj) 字符串转换浮点数
int 转换整数
complex(r,i) 创建复数
bool(true/false) 创建布尔值
bool(obj) 所有0或 空值都会返回false
abs(x) 取x绝对值
round(number,ndigits) 四舍五入 ndigits小数点个数(可以是负数:反向取整)
help(函数对象) 函数或查看详细帮助
“\” 折行符
() [ ] {} 隐式折行符
sep 两个值之间的分隔符默认空格
print(sep = “”,end = “”){ end行位默认换行符
not 布尔非
or 布尔或 { 短路运算
and 布尔与
+ 表达式 只有一个数据参加(一元运算符)
- 表达式 如:a = 5 ,b = -a ,c = +a
转移符:
\' 单引号
\" 双引号
\\ 单反斜杠
\n 换行
\r 返回光标至行首
\t 水平制表符
\v 垂直制表符
\f 换页
\b 倒退
\0 空字符,字符值为0
\xXX XX为两位16进制表示的自符
\uXXXX XXXX为4个16进制的Unicode16字符
\UXXXXXXXX 8个16进制表示的Unicode32字符
man ASCII 查看帮助文档命令
常用ASCII编码:
字符 十进制 十六进制
0 48 0x30
A 65 0x41
a 97 0x61
len() 返回字符串的个数
raw 让转义符无效(原始字符)(r“hello world”)
+= *= 与其他符合运算符相同
in/not in 判断字符串是存在
字符串的比较运算:
> >= < <= == !=
依次按照编码进行比较,直到最短字符串结束为止
s[int] 索引 index
Python的字符串是不可以改变字符序列的
Python序列都可以用索引来访问序列中的对象
Python的序列正向索引是从0开始的最后一个索引为len(s)-1
Python序列的反向索引是从-1开始的 -1是最后一个 第一个是 -len(s)
切片 slice :
s[(开始索引b):(结束索引e):(步长s)] 步长等于偏移量默认1
索引从0开始 顾头不顾尾 步长为负时反向切片(步长决定方向)
python3 中常用函数;
len (s) 返回序列长度
max(s) 返回序列最大值元素
min(s) 返回序列最小值元素
ord(a) 返回一个字符的Unicode值(10进制)
chr(i) 返回一个整数的Unicode字符
bin(i) 将整数转换为二进制字符串
oct(i) 将整数转换为八进制字符串
hex(i) 将整数转换为十六进制字符串
常用的字符串方法:
文档参见:
对象.方法名(方法传参)
"abc".isalpha() # 语法是对的
123.isalpha() # 语法是错的
方法 说明
S.isdigit() 判断字符串中的字符是否全为数字
S.isalpha() 判断字符串是否全为英文字母
S.islower() 判断字符串所有字符是否全为小写英文字母
S.isupper() 判断字符串所有字符是否全为大写英文字母
S.isspace() 判断字符串是否全为空白字符
S.center(width[,fill]) 将原字符串居中,左右默认填充空格 width:所居中字符串的长度 fill:默认填充空格
S.count(sub[, start[,end]]) 获取一个字符串中子串的个数 sub:所要获取的字符串 start:起始位置 end:结束位置
S.find(sub[, start[,end]]) 获取字符串中子串sub的索引,失败返回-1 start:起始位置 end:结束位置
S.strip() 返回去掉左右空白字符的字符串
S.lstrip() 返回去掉左侧空白字符的字符串
S.rstrip() 返回去掉右侧空白字符的字符串
S.upper() 生成将英文转换为大写的字符串
S.lower() 生成将英文转换为小写的字符串
S.replace(old, new[, count]) 将原字符串的old用new代替,生成一个新的字符串 count:更换的次数
S.startswith(prefix[, start[, end]]) 返回S是否是以prefix开头,如果以prefix开头返回True,否则返回False,
S.endswith(suffix[, start[, end]]) 返回S是否是以suffix结尾,如果以suffix结尾返回True,否则返回False
以下是不常用的
S.title() 生成每个英文单词的首字母大写字符串
S.isnumeric() 判断字符串是否全为数字字符
ASCII 用8个位表示 最高位一定是0
Unicode用16位表示 最高位也一定是0
占位符和其的类型码:
%s 字符串 使用shr(obj)转为字符串
%r 字符串 使用repr(obj)转为字符串
%c 整数转为字符串,使用chr(i)函数
%d 10进制整数
%o 8进制整数
%x 16进制整数(字符a-f)
%X 16进制整数(字符A-F)
%e 浮点数(e)如 2.9e+10
%E 浮点数(E)如2.9E+10
%f %F 浮点数10进制形式
%g %G 进制进形式浮点数或指浮点数自动转换
%% 等同于一个 % 字符
占位符与类型码之间的格式语法:
%[- + 0 宽度.精度]类型码
- 左对齐
+ 右对齐
0 左右空白位置补0
宽度:整个数据输出的宽度
精度:保留小数点后多少位,默认6位
可迭代对象包括:
字符串 str
列表 list
元组 tuple
字典 dict
range()函数: 可迭代对象创建 也叫整数序列生成器 (顾头不顾尾)
列表 list:(列表的id是不可变的 除非重新定义)
列表是一种容器(通常用来储存计算机的数据对象)
列表是可以被改变的序列
是由一系列特定元素组成的 元素与元素之间可能没有任何关联关系
但他们有先后顺序关系
列表的运算:
+ 用于拼接列表
+= 用于将右侧的可迭代对象的数据追加到原列表中
* 用于生成重复列表
*= L * = 2 (L = L * 2)
列表的比较运算:
< <= > >= == !=
比较规则和字符串完全相同
列表的in、notin:
判断一个元素是否存在于列表中 如果纯在返true否则false
in 和 nat in 返回值相反(只能判断列表元素 不能判断元素内字符)
week summer key word :
print:
print(“hello world”)
输出打印语句
input:
input(“plaese input :”)
输入函数 提示可以为空
if :
if 1 >2 : print("1>2") elif 1>3: print("1>3") else: print("1<2")
if:如果 else:否则 elif:否者如果 (单if不加else:如果真)
while:
i = 0 while i < 5: print(i) i += 1 else: print("6")
i:循环变量 while可以加或不加else 条件不成时立执行else
若条件成立 循环结束后将继续执行else
for:
for x in ramge(10): print(x) else: print(11)
x:循环取出可迭代对象的值 for可以加或不加else 条件不成时立执行else
若条件成立 循环结束后将继续执行else
死循环:
while True; a = int(input()) print("123") if a = “” break
死循环: 无限循环 配合break跳出循环
死循环不能加else
break 终止循环
一般配合if语句使用 终止循环 若循环套用是只会在本循环作用域有效
不影响外部循环 若break跳出循环 else将不再执行
continue 跳过本次循环
一般配合if语句使用 跳过本次循环 若循环套用是只会在本循环作用域有效
不影响外部循环 continue 用法需注意 细节不当将形成死循环
复合语句的嵌套:
for x in range(10) for y in range(5) print(x , y) if x == 10: break else: for x in range(50) print(x)
i = 0 while i < 10: peint(i) x = 0 while x < 10: print(x) if i == 10: break else: while i <10: print(i * i)
if a > 5: if a < 10: peint(a) else: if a > 0 : print(a) else: print(a)
if while for 可以任意嵌套配合使用