文章目录
赋值:
- 链式赋值:
a=b=123 - 解包赋值:
a,b=1,2 (得到a=1,b=2)
a,b=b,a (得到a=2,b=1) - 常量:
没有语法规则
限制改变一个常量的值,在程序的逻辑上不对常量值进行修改(实际上也可以改变)
python代码输入方法:
print("123")
select 123;
echo 123;
运算符注意
- / 浮点数除法
- // 整数除法(结果取整)
- % 除法取余数(输出余数值)
- ** 幂
- 0不能做除数(分母)
- 依照以下方法同时得到商和余数 divmod(20,6)可输出(3,2)返回的是一个元祖
- 在编写运算式子时要学会用***小括号***进行组织
- 位运算,算数运算>比较操作符>赋值运算符>逻辑运算符
增强型赋值运算符
整数
1.进制
eg:OB101 输出 5
2.转换
注意不是四舍五入,是直接去掉
3.整数和浮点数混合运算时python会将结果自动转成浮点数
浮点数
1.888e-2是888乘以10**-2
2.float()转化为浮点数(生成新的对象而非更改原来的)
3.四舍五入:round(value) (同样是生成新的对象而非改变原来的)
时间的表示
运算符比较,is与==:
注:
一个对象有三部分可以作比较:存储ID、类型、value。
is比==效率高,在变量和None进行比较时,应该使用is。
整数缓存:
小整数对象[-5,256]在全局解释器范围内被放入缓存供重复使用
字符串
创建:
’ ’
" "
‘’’ long string’’’
转义字符:
\就是换个行
字符串拼接:
不换行打印:
多行print但输出结果不想换行则
print("abc", end='d')
print("abc", end='e')
print("f")
输出结果:
abcdabcef
从控制台读取字符串:
用input()传递
其他数据类型转为字符串
提取字符:
eg:a[1]
偏移量即索引,直到字符串长度-1为止
替换字符串:
a.replace("bad","best")
将字符串a中的bad用best替换掉
注:只是生成了一个新字符串并且变量a指向该新字符串,老字符串不变。
提取字符串:
偏移量就是索引
索引值包扩开头数字不包扩节尾数字;
如果终止索引过大,也不会报错,直接提取到最后一个为止;
默认步长为1;
a="qwertyuioasdfgh"
b=a[0,6,3]
b="qr"
(只是交互式语言,理解下意思就得了)
2.
字符串的分割与合并:
split()分割:基于指定分隔符将字符串分隔成多个子字符串(存储到列表中),如果不指定分隔符,则默认依照**空白字符(换行符/空格/制表符)**自动切割
join()合并:与“+”不同,它始终是一个对象,在循环中比较节省,而+是循环多少次就生成多少个对象。若用在可变的列表对象中,与字符串对象不同
练习:尽量用jion()替代"+"
1.用加法拼接且计时练习
import time
time1 = time.time()
x = ""
for i in range(10):
x += "再学一遍"
time2 = time.time()
print("耗时"+str(time2-time1))
print("x=", x)
输出结果
耗时0.0
x= 再学一遍再学一遍再学一遍再学一遍再学一遍再学一遍再学一遍再学一遍再学一遍再学一遍
2.“用join拼接”与“+拼接”效果对比练习
import time
time1 = time.time()
x = ""
for i in range(1000000):
x += "再学一遍"
time2 = time.time()
print("耗时"+str(time2-time1))
# print("x=", x)
time3 = time.time()
x = ""
list = []
for i in range(1000000):
list.append("再学一遍")
x = "".join(list) # 注意用点而不是逗号
time4 = time.time()
print("耗时"+str(time4-time3))
# print("x=", x)
输出结果
耗时2.524021625518799
耗时0.15059351921081543
使用join()明显缩短了运行时间
字符串驻留机制
字符串的比较:
比较两个字符串是否含有相同字符:==,!=
比较是否为同一对象(即存储地址ID):is/not is
判断某个子字符串是否存在于字符串中:in/not in
字符串查找:
任务30中的举例:
注:rfind()即反向find出现的位置(索引)。
去除首尾信息:
若单单是strip(),则为去除首尾空格。
大小写转换:
格式排版:
依次为:
居中,一共形成十个字符,左右两边用*填充/用空格填充;
左对齐
右对齐
其他方法:
注:
1.字母与汉字在python中为同类,都可用alpha判断
2.含有小数点的非数字
3.空白字符包括:换行符/空格/制表符
***制表符***的写法是\t,作用是对齐表格的各列
eg:
print("学号\t姓名\t位置\t正在干什么")
print("01\t龙啸天\t500平方米的床上\t看着他的48块腹肌")
输出:
学号 姓名 位置 正在干什么
01 龙啸天 500平方米的床上 看着他的48块腹肌
字符串的格式化:
注:{0}、{1}都是占位符,后边定义出来内容就可了;或着像c一样
填充和对齐
注:
1.第一行操作解释:用*填充且右对齐,一共8位
2.第三行操作中,0和1都依然是占位
数字格式化:
注:
1.".2"表示小数点后保留两位有效数字,"f"表示小数
注:文中图片来自尚学堂网课截图