·变量(variable)
笔记:
变量本质上是一个占位符。变量可以用来存储整数、字符串、列表等。简单的可以理解为一个座位,可以坐老人也可以坐小孩,可以坐男孩,也可以坐女孩。
标识符(identifier)由字母、数字、下划线组成。
不能以数字开头。python中的标识符是 区分大小写的。
单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;以 双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。
@ 变量的命名规则:
变量名只能包含字母、数字、下划线:
如:my_car,fly_air
变量不能包含空格、不能以数字打头:
如:bas ic,6car,7fly
变量不能是Python关键字、函数名:
如:def,class,print等
保留字:
import keyword #导入模块
print(keyword.kwlist)
打印结果:
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break',
'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for',
'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not',
'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
@ 命名规则拓展
大驼峰:每个单词第一个字母均大写:
如:MyCar,StudyBasic,FlyAir #适用于类命名
小驼峰:第一个单词大写:
如:Mycar,Studybasic、,lyair #适用于函数命名
posix命名法:单词全部小写,且所有单词之间以下划线连接:
如:my_car,fly_air
@ 变量的赋值与动态类型模型
给变量赋值:
age = 5 #定义变量
print(age)
打印结果:
5
给多个变量赋相同的值:
x = y = z = 1
print(x);print(y);print(z)
打印结果:
1
1
1
一行内给多个变量赋值:
x,y,z = 1,2,3
print(x);print(y);print(z)
打印结果:
1
2
3
动态模型:
age = 5
print(age)
print(type(age))
打印结果:
5
<class 'int'>
在c语言中,变量的声明需要在声明中指定数据类型。而python与c语言不太一样,直接定义就可以使用,那么问题来了,怎么知道它是什么数据类型呢?上述代码中给age
赋值为5
,但是并没有指定值的数字
类型,可通过调用type()内置函数知道它是什么数据类型。
@ 垃圾收集
声明变量x
和y,x
等于1
,y
等于x。
其实就是把y的值通过指针指向x的值:
x =1
y =x
print(id(x))
print(id(y))
打印结果:
140721332343840
140721332343840
通过id()
内置函数我们可以清楚地看到这两个变量指向的是同一块内存区域。
垃圾回收机制:
x = 1;print(id(x))
x = 2;print(id(x))
print(x)
打印结果:
2
变量x通过指针指向1的内存地址,如果1这个值之前没有在内存中创建,那么现在创建。
然后对变量x重新赋值,让其指针指向2的内存地址;那么此时python就会把前一个内存地址给删掉,也就是把1值删掉,从而释放内存;最后x值的指针指向了2的内存地址,所以x就等于2。
·python标准数据类型
笔记:
Python有五个标准的数据类型:
- Numbers(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Dictionary(字典)
@ 数字类型(numbers)
整型(int):
age = 5
print(age)
print(type(age))
打印结果:
5
<class 'int'>
浮点型(float):
age = 5.5
print(age)
print(type(age))
打印结果:
5.5
<class 'float'>
复数(complex):
import cmath
cmath.sqrt(-1)
打印结果:
1j
布尔型(bool):
布尔值有两种:True(真)
,Flash(假)
if True: #可以用if 1:或if 0:
print("hello")
else:
print("你好")
打印结果:
hello #如果if False: 则打印‘你好’