文章目录
1. 与C语言不同的赋值和常量
(1)链式赋值
(2)系列解包赋值
#用系列解包赋值实现变量互换
a,b = 10,20
a,b = b,a
print(a,b)
(3)常量
python中其实没有常量,都是可以改变的,只是用全大写的变量名当作常量
2. 运算符
(1)一般运算符
divmod(a,b)
,同时得到商和余数
(2)增强运算符
3. 整数的进制与数据转换
(1)整数
(2)类型转换
int():
自动转换:
a = 3 + 2.1 #浮点和整数的加减乘除,都自动转为浮点数,结果为5.1
4. 浮点型数据转换
(1) 科学计数法
3.14 314E-2 314e-2(前面整数,后面为幂级,且都不需要括号)
(2)转换
float(3) #结果为 3.0
round(4.5) #结果为5.0 ,四舍五入的结果
5. 时间
import time
time.time() # 获取当时时刻,单位整数为秒,小数部分为微秒,从1970年1月1号00:00:00开始
b = int(time.time) #获取秒
totalMinute = b/60 #获取分
totalHour = totalMinute//60 #获取整时
6. 定义多点坐标,绘制折线,并计算起始点和终点的距离
import turtle
import math
#定义多个点
x1,y1 = 20,20
x2,y2 = 50,0
x3,y3 = 50,50
x4,y4 = 30,30
# 绘制折线
turtle.penup()
turtle.goto(x1,y1)
turtle.pendown()
turtle.goto(x2,y2)
turtle.left(90)#箭头左转90度
turtle.forward(50)
turtle.goto(x4,y4)
#计算起始点和终点距离
distance = math. sqrt((x1-x4)**2+(y1-y4)**2)
turtle.write(distance)
7. 布尔值
(1)布尔值True和False
相当于1和0,甚至可以做运算
(2)逻辑运算符
与 : x and y 或: x or y 非:not x(与C中的!x不一样,都是用的单词)
(3)同一运算符
is比较两个变量的地址是否一样(is not 同理)
==比较两个变量的value是否一样
注:
一般用 ==, 但是变量和none比较的时候,最好用is, 因为效率更高
8. 字符串
(1)python中字符串不能修改,只能重建一个
python字符串默认是16位unicode编码,``ord()``可把字符串转为对应字符,``chr()``效果相反
``len()``可查看字符串的长度
单引号或者双引号创建字符串,==连续三个单引号或双引号==可创建多行字符串:下面的例子是字符串里有单或者双引号(也可以用转义符来完成)
(2)字符串拼接
加号或者空格都可以,很方便
(3)字符串复制
直接用乘法运算符
(4)字符串转换
str()
,没有tostring什么的
(5)[ ]提取符
分正向提取和反向,-1则是最后一个的意思
(6)字符串替换
不支持直接赋值,python中字符串不能改,replace()只能是生成一个新的,达到替换字符串的效果
(7)字符串提取
a = 'abcdefghi'
a[3] #’3‘
a[1:5] #'bcde'包头不包尾
a[0:7:2] #'aceg'包头不包尾
a[:] # 'abcdefghi'所有
a[:2] #'ab'包头不包尾
a[2:] #'cdefghi'
a[-3:] #'ghi'倒数3个
a[-5:-3] #'ef'包头不包尾
a[::-1] #'ihgfedcba'步长为负,从左到右反向提取
(8)字符串分割和连接
str.split()
'拼接的字符'.join(列表)
前面说的加号也可以,但是效率没有join高
import time
#测试加号连接
time01 = time.time()
a = ''
for i in range(1000000):
a += 'sxt'
time02 = time.time()
print('运算时间:'+str(time02-time01))
#测试join连接
time03 = time.time()
li = []
for i in range(1000000):
li.append('sxt')
a = ''.join(li)
time04 = time.time()
print('运算时间:'+str(time04-time03))
(9)字符串比较
字符串驻留:当字符串内仅包含下划线、字母、数字时,符合驻留机制,两个有相同字符串的变量会自动共用同个地址,但不符合的会用两个地址,即使value相同
成员操作符:'a’in’abcd’返回True,'a’in’bcde’返回False
(10)字符串查找常用方法
(11)去除字符串首尾信息
str.strip()
,常用来去除首尾空格
str.lstrip()
去首
str.rstrip()
去尾
(12)大小写转换
(13)格式排版
center()
居中
ljust()
左对齐
rjust()
右对齐
(14)其他方法
9. 转义字符和不换行打印
(1) 转义符
(2)不换行打印
end=“任意字符串”
(3)从控制台读取字符串
input()
,不只是字符串,输入是啥就是啥类型
10 字符串格式化
(1)format()
(2)填充和对齐
(3)数字格式化