解包复制
a,b=10,20
a,b=b,a实现互换
python不支持常量
解包复制
a,b=10,20
a,b=b,a实现互换
python不支持常量
变量和赋值语句:
a = 3
删除变量:
del a
变量被删了,但是堆里的对象仍然在,只不过没有用了,进而被拉进回收站回收,可以释放空间。
标识符:用于表示变量/函数/类/模块等名称
1.区分大小写
2.第一个字符必须是字母,下划线,其后的字符只能是字母/数字和下划线,其他的不行
3.不能使用关键字(这个太重要了,以前就犯过这样的错)
4.以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法
用del删除变量
对象无变量引用时会被清出内存
变量即对象的引用
变量在栈内,对象在堆内
python变量不需声明,调用对象即可
对象即内存块
对象3要素:内存地址即ID/数据类型即type/数据值即value
赋值即时对象地址传递给变量
nonlocal
声明外层的局部变量
global
import io
sio=io.StringIO(s)
sio.getvalue()
sio.seek(7)
sio.write(''h'')
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,x1)
turtle.pendown()
.....
.....
.....
distance=math.sqrt((x1-x4)**2+(yi-y4)**2)
turtle.write(distance)
堆放对象
栈放变量
对象:标识 类型 值
对象的本质:内存块
import turtle
turtle.width(5)
turtle.color("blue")
turtle。circle(50)
turtle。penup()
turtle。goto(120,0)
turtle.pendown()
turtle。circle(50)
turtle。goto(240,0)
turtle。circle(50)
turtle。goto(60,-50)
turtle。circle(50)
turtle。goto(180,-50)
turtle。circle(50)
1.注意缩进
每个缩进层使用单个制表符或者四个空格
Python用缩进表示程序块
2python区分大小写
3行注释#
段注释'''
ctrl+c 中断程序
时间表达(从1970年计算的unix时间点,毫秒1/1000进行计算)
import time(加载时间模块)
time.time() 获得当前时刻返回值
整数表示:
.0b/B 二进制
.0o/O 八进制
.0x/X 十六进制
最基本内置数据类型
type
1、整型 : 整数
2、浮点型:小数or科学计数法 3.14 = 314e-2
3、布尔型 :真(True)、假(False)
4、字符串型:带双引号的字符,例如“abc”、“学习python”
数字运算
* 乘 2*3 = 6
/ 得浮点数 除法 7/2 = 3.5
//只取整数部分 除法 7/2 = 3
% 取余数(模) 7%2 = 1 (2*3 + 1 = 7)
** 幂(^) 2**3 = 8
divmod() 同时得商和余数
>>> divmod(10,3) # 10/3 = 3*3 + 1
(3, 1)
>>> divmod(13,3) # 13/3 = 3*4 + 1
(4, 1)
链式赋值:一个对象赋给多个变量
x=y=123
系列解包赋值
a,b,c = 4,5,6 相当于 a = 4, b = 5,c = 6
实现变量交换
>>> a,b = 15,30
>>> a,b = b,a
>>> print(a,b)
30 15
常量(全部大写,下划线连接)
python不支持常量
实际可修改,只能在逻辑上不做修改
>>> MAX_SPEED = 140
>>> print(MAX_SPEED)
140
变量的声明和赋值
变量 = 表达式
标识符
起名规则