字符串驻留机制和字符串比较
字符串驻留:仅保存一份相同且不可变字符串的方法,不同值被存放在字符串驻留池中。(仅包含下划线、字母和数字会启用字符串驻留机制)
字符串比较和同一性
可以用==,!=进行字符串比较
使用is/ not is,判断两个对象是否同一个对象,比较的是对象的地址
成员操作符
in /not in 关键字,判断mou'g
字符串驻留机制和字符串比较
字符串驻留:仅保存一份相同且不可变字符串的方法,不同值被存放在字符串驻留池中。(仅包含下划线、字母和数字会启用字符串驻留机制)
字符串比较和同一性
可以用==,!=进行字符串比较
使用is/ not is,判断两个对象是否同一个对象,比较的是对象的地址
成员操作符
in /not in 关键字,判断mou'g
按位或:表示取最大(每位)
按位与:最小
按位异:每位相同为0;相异为1
str()实现数字转型字符串
使用[]提取字符
正向搜索:最左侧第一个字符,偏移量(索引)是0,第二个偏移量1,以此类推,直到len(str)-1为止。
反向搜索:最右侧第一个字符,偏移量(索引)是-1,倒数第二个偏移量-2,以此类推,直到-len(str)为止。
a='abcd'
print(a[0])
print(a[-1])
replace()实现字符串替换
字符串不可变,创新了新字符串
a=a.replace("c","高")
转义字符
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引导
\" 双引导
\b 退格(Backspace)
\n 换行
\t 横向制表符
\r 回车
字符串拼接
1.用+拼接
2.多个字符串直接放到一起
字符串复制
用*实现字符串复制
不换行打印
前面调用print时,会自动打印一个换行符。
有时不想换行时,可以通过end="任意字符串"实现末尾添加任何内容。
print("sxt",end=' ')
print("sxt",end='\t')
从控制台读取字符串
input()
同一运算符
同一运算符用于比较两个对象的存储单元,实际比较的是对象的地址。
is 判断两个标识符是不是引用同一个对象
is not 判断两个标识符是不是引用不同对象
is与 == 区别:
is用于判断两个变量引用对象是否为同一个,既比较对象的地址
== 用于判断引用变量引用对象的值是否相等,默认调用对象的_eq_()方法
整数缓存问题
python仅对比较小的整数对象进行缓存,命令行中范围【-5,256】
Pycharm或保存为文件时,范围【-5,任何正整数】
is运算符比==效率高,在变量和None进行比较时,应该使用is
布尔值
True和False本质还是1和0,甚至可以和数字相加。
比较运算符
所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。
== 等于 比较对象的值是否相等
!=不等于 比较对象的值是否不相等
逻辑运算符
1. or 或
2. and 与
3. not 非
【操作】定义多点坐标_绘出折线_并计算起始点和终点距离
import turtle
import math
x1,y1=100,100
x2,y2=100,-100
x3,y3=-100,-100
x4,y4=-100,100
turtle.penup()
turtle.goto(x1,y1)
turtle.pendown()
turtle.goto(x2,y2)
turtle.goto(x3,y3)
turtle.goto(x4,y4)
dis=math.sqrt((x1-x4)**2+(y1-y4)**2)
时间的表示
计算机时间的表示是从“1970年1月1日 00:00:00”开始,以毫秒(1/1000秒)进行计算。我们把1970年这个时刻成为“unix时间点”。
python中可以通过time.time()获得当前时刻,返回值以秒为单位,带微秒精度的浮点值。
import time
time.time()
浮点数
浮点数,称为float
浮点数用科学计数法来表示,比如3.14表示成:314e-2
类型转化和四舍五入
1.类似于int(),float()
2.round(value)可以返回四舍五入的值 注:但不会改变原有值,产生新的值
增强型赋值运算符
运算符+、-、*、/、//、**和%和赋值符=结合可以构成“增强型赋值运算符”
a=a+1等价于a+=1
整数
-0b 或 0B,二进制 0 1
-0o 或 0O,八进制0 1 2 3 4 5 6 7
-0x 或 0X, 十六进制0-9 a b c d e f
这三种进制可以非常方便的进行“位运算”操作。
【操作】测试不同进制
0b101
0o10
0xff
使用int()实现类型转换:
1.浮点数舍去小数部分
2.布尔值Ture转为1 False转为0
3.字符串(整数可以转化,其他不行)
自动转型:整数和浮点数混合运算,结果自动转型浮点数
整数可以多大?
googol=10**100
Python3 int可以存储任意大小的整数,适合科学运算的特点
最基本内置数据类型介绍(type)
1.整数
2.浮点型 小数
3.布尔型 True、False
4.字符串型
/浮点数除法 //整数除法 %模(取余) **幂
除数为0,会报错
divmod(a,b)得到商和余数
链式赋值
用于同一个对象赋值给多个变量
x=y=123
系列解包赋值
系列数据赋值给对应相同个数的变量(个数保持一致)
a,b,c=4,5,6
系列解包赋值实现变量互换
a,b=1,2
a,b=b,a
print(a,b)
常量
python不支持常量,通过逻辑上不对常量的值进行修改。命名全大写
https://blog.csdn.net/chenjinhong1990/article/details/116514777
删除变量 del a
id() 标识,显示地址
type() 类型
print() 值
\行连接符
a='sxtsxtsxtsxt'
a[0:15:3]
#首先,左闭右开原则,
#其次,右边为偏移-1
#选值的时候,第一个包含在内,从第二个开始计数
系列解包赋值
变量:对对象的引用
1. 对象:内存块,类似车位(编号(ID),类型(小汽车,大巴),内容(车牌号))
ID----TYPE----VALUE