引用
在Python中,变量是对象的引用,变量存储对象的地址。变量通过地址引用“对象”
变量位于:栈内存
对象位于:堆内存
(1)Python是动态类型语言:变量不需要显示声明类型,根据变量引用的对象,Python解释器自动确定数据类型
(2)Python是强类型语言:每个对象都有数据类型,只支持该类型支持的操作
标识符
标识符:用于变量、函数、类、模块等的名称
规则:
1、区分大小写
2、第一个字符必须是字母、下划线。其后的字符是:字母、数字、下划线
3、不能使用关键字
4、以双下划线开头和结尾的名称通常有特殊含义,尽量避免这种写法。比如:_init_是类的构造函数
#帮助系统(F1)查看关键字
>>>help()
help>keywords
Python标识符命名规则
类型 | 规则 | 例子 |
---|---|---|
模块和包名 | 全小写字母,尽量简单,若多个单词之间用下划线 | math,os,sys |
函数名 | 全小写字母,多个单词之间用下划线隔开 | phone,my_name |
类名 | 首字母大写,采用驼峰原则。多个单词时,每个单词第一个字母大写,其余部分小写 | MyPhone、MyClass、Phone |
常量名 | 全大写字母,多个单词使用下划线隔开 | SPEED_MAX |
变量和简单赋值语句
变量的声明和赋值
变量的声明和赋值用于将一个变量绑定到一个对象上,格式如下:
变量名=表达式
运行过程中,解释器先运行右边的表达式,生成一个代表表达式运算结果的对象,然后将这个对象地址赋值给左边的变量
变量在使用前必须先被初始化
删除变量和垃圾回收机制
可以通过del语句删除不再使用的变量;如果对象没有变量引用,就会被垃圾回收器回收,清空内存空间
>>>a=123
>>>del a
链式赋值
链式赋值用于同一个对象赋值给多个变量
x=y=123
x=123
y=123
系列解包赋值
系列数据赋值给对应相同个数的变量(个数必须保持一致)
>>>a,b,c=4,5,6
>>>a=4
>>>b=5
>>>c=6
#使用系列解包赋值实现变量交换
>>>a,b=1,2
>>>a,b=b,a
>>>print(a,b)
#结果:2 1
常量
Python不支持常量,即没有语法规则限制改变一个常量的值。我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改
最基本内置数据类型介绍
每个对象都有类型,Python中最基本的内置数据类型:
1、整型
2、浮点数
3、布尔型
4、字符串型
数字
运算符 | 说明 | 示例 | 结果 |
---|---|---|---|
+ | 加法 | 3+2 | 5 |
- | 减法 | 5-2 | 3 |
* | 乘法 | 2*3 | 6 |
/ | 浮点数除法 | 8/2 | 4.0 |
// | 整数除法 | 7//2 | 3 |
% | 取余(模) | 7%2 | 1 |
** | 幂 | 2**3 | 8 |
除数为0,会产生异常
使用divmod()函数同时得到商和余数
>>>divmod(13,3)
#结果:(4,1)
整数
0b或0B,二进制
0o或0O,八进制
0x或0X,十六进制
使用int()实现类型转换:
1、浮点数直接舍去小数部分
2、布尔型True转为1,False转为0
3、字符串符合整数格式(浮点数格式不行),则直接转成对应整数,否则报错
自动转型:整数和浮点数混合运算时,表达式结果自动转型成浮点数
Python3中可以做超大数的计算,而不会造成“整数溢出”,这也是Python特别适合科学运算的特点
浮点数
浮点数称为:float
浮点数用科学计数法表示,在内存中也是按照科学计数法存储
类型转换和四舍五入:
1、类似于int(),我们可以使用float()将其他类型转换成浮点数
2、整数和浮点数混合运算时,表达式结果自动转型成浮点数
3、round(value)可以返回四舍五入的值
注意:但不会改变原有值,而产生新的值
增强型赋值运算符:符号和等于号结合
时间的表示
计算机中时间的表示时从“1970年1月1日00:00:00”开始,以毫秒(1/1000秒)进行计算,我们可以把1970年这个时刻成为“unix时间点”。这样我们就把时间全部用数字来表示了
Python中可以通过time.time()获得当前时刻,返回的值以秒为单位,带毫秒精度的浮点值。
import time
time.time()
#当前时间到1970.1.1多少秒
多点坐标
import turtle
#定义多个点
x1,y1=100,100
x2,y2=200,200
x3,y3=-100,-100
#绘制折线
turtle.goto(x1,y1)
turtle.goto(x2,y2)
turtle.goto(x3,y3)
#计算起始点和终点的距离
distance=math.sqrt((x1=x4)**2+y1-y4)**2)
布尔值
Python2中没有布尔值,直接用数字0表示False,用数字1表示True
Python3中把True和False定义成了关键字,但本质还是1和0,甚至可以和数字相加
>>>a=Ture
>>>b=3
>>>a+b
>4
比较运算符
运算符 | 描述 |
---|---|
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
逻辑运算符
运算符 | 格式 | 说明 |
---|---|---|
or或 | x or y | x为true,则返回true;x为false,则返回y |
and与 | x and y | x为ture,则返回y的值;x为false,则返回false |
not非 | not x | x为true,返回false;x为false,返回true |
文章内容均为本人观看视频学习所记录的知识点笔记(哔哩哔哩视频链接https://www.bilibili.com/video/BV1tU4y1t7rv)