3个基本概念
链式赋值
把同一个对象赋值给多个变量
x=y=1
系列解包赋值
a,b,c=1,2,3
a,b=b,a #变量互换
常量
python不支持常量(大写,下划线隔开)
基本内置数据类型
type
- 整型
- 浮点型
- 布尔型
- 字符串型
divmod可以同时得到商和余数
0B 二进制 01
0O 八进制 0-7
0X 十六进制 0-9 abcdef
整数
int()实现类型转换
int(3.14)
3
int(TRUE)
1
int(FALSE)
0
整数和浮点数运算的结果是浮点数
int可以存储任意大小的整数
python适合科学运算
浮点数
float 用科学计数法表示
round 返回四舍五入的值
注意:不改变原对象,产生新的对象
时间的表示
unix时间点,1970年1月1号,以毫秒为单位进行计算
>>> import time
>>> time.time()
1605668394.565831
>>> b = int(time.time())
>>> b
1605668452
>>> totalMinute = b/60
>>> totalMinute = b//60
>>> totalMinute
26761140
>>> totalHours = totalMinute //60
>>> totalHours
446019
>>> totalDays = totalHours // 24
>>> totalYears = totalDays//365
>>> totalYears
50
定义多个点坐标_绘制折线 计算起始位置和终点距离
import turtle
#定义多个点
xl,yl = 100,100
x2,y2 = 100,-100
x3,y3 = -100,-100
x4,y4 = -100,100
#绘制折线
turtle.penup()
turtle.goto(xl,yl)
turtle.pendown()
turtle.goto(x2,y2)
turtle.goto(x3,y3)
turtle.goto(x4,y4)
#计算起始点和终点的距离
distance = ((xl-x4)**2 + (yl-y4)**2)**0.5
turtle.write(distance)在这里插入代码片
布尔值
x or y : x为true,则不计算y返回True
同一运算符
is is not直接判断id地址
"=="判断value值是不是一样
- 整数缓存问题
解释器下:python仅仅对【-5,256】的数字缓存起来,会成为同一个对象
pycharm或者保存为文件:【-5,任意正整数】
字符串
python字符串是不可变的,我们无法对原字符串做任何修改
Unicode编码 16位表示一个字符
ord()可以把字符转成Unicode
chr()可以把十进制数字转换成字符
-
单引号或双引号创建字符串
-
连续三个单引号创建多行字符串
-
允许空字符串存在
-
字符串拼接中间直接空格也可以
-
字符串复制 *n
-
不换行打印 end = ‘任意字符串’
-
从控制台读取字符串 input("")
-
str()把其他类型的数据转为字符串
-
replace()生成修改后的新字符串,以前的是不可变的
-
分割:a.split(’’)
-
连接:’*’.join(a) 一般连接列表,注意是字符串,用join比用+快
字符串驻留机制
符合标识符规则的字符串(下划线,字母,数字)启动字符串驻留机制
常用的字符串操作方法
-
len(a)
-
a.startswith("")
-
a.endswith("")
-
a.find(’’) 第一次出现指定字符串的位置
-
a.rfind(’’) 最后一次出现指定字符串的位置
-
a.count(’’)
-
a.islnum(’’)是否全是字母或数字
-
a.strip()去除首尾信息 . lstrip左边 rstrip右边
-
a.capitaliza() 首字母大写
-
a.title() 每个单词首字母都大写
-
a.upper() 所有字符全都转成大写
-
a.lower() 所有字符全转成小写
-
a.swapcase() 所有字母大小写转换
格式排版
>>> a = 'SXT'
>>> a.center(10,'*')
'***SXT****'
>>> a.center(10)
' SXT '
>>> a.ljust(10,'*')
'SXT*******'
>>> a.rjust(10,'*')
'*******SXT'
isalnum 是否字母或数字
isalpha 是否只有字母组成(包括汉字)
isdigit 数字
isspace 空白符
isupper 大写
islower 小写
字符串格式化
>>> a = "名字是:{0},年龄是{1}"
>>> a.format('wy','18')
'名字是:wy,年龄是18'
>>> a.format(age=18,name='wy')
'名字是:wy,年龄是18
填充和对齐
>>> '我是{0},我喜欢数字{1:*^8}'.format('wy','666')
'我是wy,我喜欢数字**666***
^<>居中,左对齐,右对齐