2.1 赋值
x=y=123
a,b,c=123
a,b = b,a
2.2 数据类型
2.2.1 数字和布尔
- python不支持常量
只是约定了常量命名规则,然后在逻辑上不要改
- 数据类型
整数型、浮点型(数字)
布尔型、字符串
/
//
**
divmood()
-
用int()实现类型转换 a. 浮点数 直接舍去小数 b. True->1 False->0 c. 字符串符合整数格式->对应整数,否则(有字母等)会报错 -
自动转型:整 浮混合运算 -
整数 想多大多大,不会溢出 -
浮点数 float
float(3)
round(3.6)
- 增强运算符
+= -= etc.
import time
time.time()
second = int(time.time())
totalMin = second//60
totalHour = totalMin//60
totalDay = totalHour//24
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)
distance = math.sqrt((x1-x4)**2 + (y1-y4)**2)
turtle.write(distance)
turtle.done()
- 布尔值
比较运算、逻辑运算返回布尔值
(逻辑运算有短路现象)
is/is not 是否引用的同一个对象
注意:
1. 在命令行中:
python仅对[-5,256]的小整数对象进行缓存,即 拥有同一个id
2. 在文件中:
对[-5,∞)的整数对象进行缓存,即 拥有同一个id
3. 变量和None比较时 用is
2.2.2 字符串
python中字符串不可变;一个字符也是字符串
- 运用Unicode 16bit编码
ord()
chr()
-
创建字符串 单双引号均可, 多个字符串包含的时候用单双引号交替表示 -
多行字符串 三个 单引号/双引号 或 用转义字符\ -
允许空字符串 -
len() # 长度,不含空字符 -
转义字符
\
\n
\'
\"
- 字符串拼接 +
两边必须都是字符串
或两个字符串 空格 直接放在一起
- 字符串复制
‘abc’*n
- 不换行打印
print("abc")
print("abc",end='\t')
- 从控制台读取字符串
myname = input("请输入名字:")
- 数字转字符串
str()
- 提取字符
[n]: n为指定的偏移量,从0开始
正向搜索:0 ~ len(str)-1 从左开始
反向搜索:-len(str) ~ -1 从右开始
- 修改字符串
a='qwert'
a.replace('q','he')
- 字符串切片
a = "12345"
a[1:4]
a[1:4:2]
a[:]
a[-3:]
- 分割 合并
a = 'to be or not to be'
a.split('be')
join()
-
字符串驻留、比较 如果字符串仅包含“数字字母下划线”,则保留该字符串 不同变量引用同一个对象: a is b -> True 否则False -
常用查找方法
a.startwith()
a.endwith()
a.find()
a.rfind()
a.count()
a.isalnum
- 去除首尾信息
strip()
strip("*")
rstrip("*")
- 大小写转换
a.captitalize()
a.title()
a.upper()
a.lower()
a.swapcase()
- 格式排版
a.center(10,'*')
a.ljust(10,'*')
- 其他方法
isalpha()
isdigit()
isspace()
isupper()
islower()
- 字符串格式化
format()
a = "名字是:{0},年龄是{1}"
a.format('gaoqi',18)
a = "名字是:{name},年龄是{age}"
a.format(age=18,name='gaoqi')
- 填充和对齐
居中、左对齐、右对齐:^ < >
"名字是:{0},年龄是{1:*^8}".format('gaoqi','666')
- 数字格式化
{:.2f}
{:.0f}
{:x<4d}
|