#用系列解包赋值实现变量互换
a,b = 10,20
a,b = b,a
print(a,b)
python中其实没有常量,都是可以改变的,只是用全大写的变量名当作常量
a = 3 + 2.1 #浮点和整数的加减乘除,都自动转为浮点数,结果为5.1
3.14 314E-2 314e-2(前面整数,后面为幂级,且都不需要括号)
float(3) #结果为 3.0
round(4.5) #结果为5.0 ,四舍五入的结果
import time
time.time() # 获取当时时刻,单位整数为秒,小数部分为微秒,从1970年1月1号00:00:00开始
b = int(time.time) #获取秒
totalMinute = b/60 #获取分
totalHour = totalMinute//60 #获取整时
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)
与 : x and y 或: x or y 非:not x(与C中的!x不一样,都是用的单词)
is比较两个变量的地址是否一样(is not 同理)
==比较两个变量的value是否一样
注:
一般用 ==, 但是变量和none比较的时候,最好用is, 因为效率更高
python字符串默认是16位unicode编码,``ord()``可把字符串转为对应字符,``chr()``效果相反
``len()``可查看字符串的长度
单引号或者双引号创建字符串,==连续三个单引号或双引号==可创建多行字符串:下面的例子是字符串里有单或者双引号(也可以用转义符来完成)
str()
,没有tostring什么的
分正向提取和反向,-1则是最后一个的意思
不支持直接赋值,python中字符串不能改,replace()只能是生成一个新的,达到替换字符串的效果
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'步长为负,从左到右反向提取
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))
字符串驻留:当字符串内仅包含下划线、字母、数字时,符合驻留机制,两个有相同字符串的变量会自动共用同个地址,但不符合的会用两个地址,即使value相同
成员操作符:'a’in’abcd’返回True,'a’in’bcde’返回False
str.strip()
,常用来去除首尾空格
str.lstrip()
去首
str.rstrip()
去尾
center()
居中
ljust()
左对齐
rjust()
右对齐
format()