-----Python | Day 1-----
-----对象-----
对象: 一切皆对象 (一个内存块,拥有特定的值,支持特定类. 型的相关操作)。
- 标识: 对象在计算机内存中的地址。id(obj)返回obj 的标识。
- 类型: 对象存储的“数据”的类型(限制对象的取值范围以及可执行的 操作)。 type(obj)获得对象类型。
- 值:表示对象所存储的数据的信息。 ==print(obj)打印出值。–
>>> a=3 #value. 3:对象(先)<-- 给标签id a:变量 or 标签(后)<-- 可换
>>> a
3
>>> id(a) #id
140318063239000
>>> type(a) #type
<type 'int'>
>>> id(3)
140318063239000
>>> type(3)
<type 'int'>
>>> print(a)
3
>>> b="love"
>>> type(b)
<type 'str'>
-----引用-----
变量:对象的引用(存储对象的地址),通过地址引用了“对象”。栈内存
对象:堆内存
- Python 是动态类型语言 :变量不需要声明类型,根据引用的对象,自动确定数据类型。
- Python 是强类型语言: 每个对象都有数据类型,只支持该类型支持的操作。e.g. int+int ,
int+str
>>> a=3
>>> b=3+5
>>> b=3+"str"
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
b=3+"str"
TypeError: unsupported operand type(s) for +: 'int' and 'str'
-----标识符-----
标识符: 用于变量、函数、类、模块等的名称。
规则 :(名字起不对会报错)
- 大小写。e.g. sxt 和 SXT
- (字符 1 : 字母、下划线。)+(字符 2+: 字母、数字、下划线 )
- 不用关键字。e.g. if、or、while 等。help() -->keywords (用完 quit) 也可直接F1调出help文档
- 以双下划线开头和结尾的名称通常有特殊含义,避免。e.g.__init__是类 的构造函数。
类型 | 规则 | 例子 |
---|---|---|
模块和包名 | 全小写字母,尽量简单。若多个单词之间用 下划线 | math, os, sys |
函数名 | 全小写字母,多个单词之间用下划线隔开 | phone, my_name |
类名 | 首字母大写,采用驼峰原则。多个单词时, 每个单词第一个字母大写,其余部分小写 | MyPhone , MyClass , Phone |
常量名 | 全大写字母,多个单词使用下划线隔开 | SPEED、MAX_SPEED |
-----变量和简单赋值语句-----
-----变量的声明和赋值-----
变量的声明和赋值: 将一个变量“绑”到一个对象上*( 变量在使用前必须先被赋值)* 变量名= 表达式 (L --> R)
>>> ppp=0
>>> ddd
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
ddd
NameError: name 'ddd' is not defined
-----删除变量和垃圾回收机制-----
删除变量和垃圾回收机制: ==del ==语句删除不在使用的变量
>>> a=0
>>> del a # 0 仍然在 但是没有用了 --> 变成垃圾 --> 被垃圾回收器回收 --> 清空内存空间。(内存不是无限的)
>>> a
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
a
NameError: name 'a' is not defined