一.Python的层级关系
最小的是一个表达式,如
num =70
接下来是语句:如下判断语句
if(num >= 60)
print("及格")
表达式,语句放到一个 .py 的文件里面,那么这个就叫模块
不同的模块中间可能存在着某种依赖关系,我们将他放在一个特定的文件夹下,我们叫他为“包”。 “包”用来定义一组文件或者模块间的关系
可能我写的时候需要用到多个包,有时候不需要,则这些东西就组成了我们的程序
表达式 --> 语句 --> 模块&包 -->程序
二.变量与存储
当我们需要经常用到一直值的时候,我们就需要将他放置到变量中
score 是变量名(对象别名), 我们需要操作的时候则拿变量名进行操作即可
命名规则:
(1)只能是 字母/数字/下划线 组成
(2)只能以字母或者下划线开头
(3)不能包含空格
(4)不能与Python 中的关键字相同 例如: if else........
(5)区分大小写
变量在第一次赋值的时候生成。如果没有赋值直接使用,那么将会抛出一个 name ‘变量名’ is not defined 的异常
数据类型:
(1)描述数据形态以及支持的操作
(2)Python动态类型 (Python是强类型的、具有动态类型特征的编程语言)
注:动态类型跟静态类型的区别
静态类型是先声明变量,就确定了变量的数据类型是什么了,在运行过程中我们无法超出他的数据类型
动态类型自动识别赋值 的数据类型。本身没有类型约束。
变量在内存中的分配:
如果我们申请一个变量 x = 20 与 一个 y = "tom" 那么他们在内存中如上图所收分配。 如果我们将 x 的值修改为 mike , 那么变量名指向就会被修改,
不用做任何的类型转化。修改为如下图所示。int 类型的20 在没有指向的情况下,会被Python的回收机制回收
共享引用:
全局函数id(变量名) 检查对象地址
可以看到 id() 函数获得的值相同,那么他们在内存中的指向为下图所示,则为共享引用。
如果我们想知道两个变量所指向的地址是否相同,我们可以使用 is 运算
在Python中 0-255的数字已经被缓存在程序中的。我们使用这些数字的时候,内存地址都是一样的。短字符串也可能被缓存
比较:
== 判断2个值是否相同
is 判断2个引用对象地址是否相同
三 .内置核心数据类型
数值类型: 整数 浮点数
序列: 列表 元组
集合: 哈希表
映射: 字典表
程序单元类型:一个类
其他类型 : 空对象 None 、 布尔 bool 、
全局内置函数 type() 可以检查数据类型
四.如何定义函数调用函数