Python-变量与基础数据类型

 

·变量(variable)

 笔记:

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

在python里,标识符(identifier)由字母、数字、下划线组成。
在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。python中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。

 

@ 变量的命名规则:


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

   如: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 = 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: 则打印‘你好’

 

end~

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

posted @ 2018-10-21 09:12  jimmy0k  阅读(292)  评论(0编辑  收藏  举报