·变量(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等于1y等于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: 则打印‘你好’