·变量(variable)

 变量本质上是一个占位符,变量可以用来存储整数、字符串、列表等。简单的可以理解为一个座位,可以坐老人也可以坐小孩,可以坐男孩,也可以坐女孩。

@ 变量的命名规则:


 变量名只能包含字母、数字、下划线: 

   如:my_car,fly_air

 变量不能包含空格、不能以数字打头:

   如:bas ic,6car,7fly

 变量不能是Python关键字、函数名:

   如:def,class,print等

 python中包含的全部关键字:

>>>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赋值:

>>> 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)
5
>>> type(age)
<class 'int'>

在c语言中,变量的声明需要在声明中指定数据类型。而python与c语言不太一样,直接定义就可以使用,那么问题来了,怎么知道它是什么数据类型呢?上述代码中给age赋值为5,但是并没有指定值的数字类型,可通过调用type()内置函数知道它是什么数据类型。

 

@ 垃圾收集


 声明变量x和y,x等于1y等于x。其实就是把y的值通过指针指向x的值

>>> x =1
>>> y =x
>>> id(x)
140721332343840
>>> id(y)
140721332343840

通过id()内置函数我们可以清楚地看到这两个变量指向的是同一块内存区域。

垃圾回收机制:

>>> x = 1;id(x)
140721332343840
>>> x = 2;id(x)
140721332343872
>>> print(x)
2

变量x通过指针指向1的内存地址,如果1这个值之前没有在内存中创建,那么现在创建。

然后对变量x重新赋值,让其指针指向2的内存地址;那么此时python就会把前一个内存地址给删掉,也就是把1值删掉,从而释放内存;最后x值的指针指向了2的内存地址,所以x就等于2。

 

·基本数据类型(Basic Data Type)

@ 整型(int)


>>> age = 5
>>> print(age)
5
>>> type(age)
<class 'int'>

 

@ 浮点型(float)


>>> age = 5.5
>>> print(age)
5.5
>>> type(age)
<class 'float'>

 

@ 布尔型(bool)


 布尔值有两种:True(真)Flash(假)

>>> if True:
    print("hello")
>>>else:
    print("你好")
hello

 

@ 复数(complex)


>>> import cmath
>>> cmath.sqrt(-1)
1j

 

end~

****** 几米花的Python ****** 博客主页:https://www.cnblogs.com/jimmy-share/  欢迎转载 ~

版权声明:本文为jimmy-share原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jimmy-share/p/9758305.html