1 软件安装
1.1 安装前的三个概念
1.Python解释器:Python解释器是将python源码高级语言解析为二进制机器语言的工具,通常说的安装Python就是指安装Python解释器。
2.Python编辑器:编写Python代码的工具叫做编辑器。Python编辑器有很多,如Python解释器自带的IDLE、基于iPython的Jupyter Notebook、主要针对Python的Pycharm、适合各种编程语言的编辑器VsCode、Vim等。
3.Python的包管理工具:pip(package installer for Python)就是库管理工具,通过pip就可以安装、卸载、更新众多的库。库:别人已经写好的功能代码。
注意:Python3.4以后版本的解释器自带pip管理器。
1.2 Anaconda
- Anaconda:是一个开源的Python包管理器,自带了Python解释器,里面包含了很多第三方的库,方便调用;同时,也提供了方便使用的编辑器,如Jupyter这种交互式的编辑器。
2 变量
2.1 变量的意义
- 什么是变量?
变量可以变化的量,量指的是事物的状态。 - 为什么有变量?
为了是计算机像人一样记忆事物的某种状态,且状态是变化的。程序执行的本质就是一系列状态的变化,变是程序执行的直接体现。
2.2 变量的使用
1.变量使用原则: 先定义,后引用。
name="DW" #定义(存)
print(name) #引用(取)
注意:
1.Python是一个强类型语言,赋值变量时不需要指定数据类型。
2.给变量赋值什么类型,这个变量就是什么类型。
2.内存管理: 垃圾回收机制。
- 垃圾:当一个变量值被绑定的变量名个数为0时,该变量值无法被访问到,该变量值被称为垃圾。
- 引用计数:一个变量值被绑定的变量名的个数。
- 引用计数增加:
x=10 #10的引用计数为1 y=x #10的引用计数为2 z=x #10的引用计数为3 print(x,y,z) # 10 10 10
- 引用计数减少:
x=10 y=x z=x del x #解除变量名x和值10之间的绑定关系,10的引用计数减少1 print(x) # NameError: name 'x' is not defined print(y,z) # 10 10 del y z=100 #此时值10的引用计数为0,为垃圾
Python会自动扫描这些垃圾值,进行空间回收。
3.变量的组成:
- 变量名:指向等号右侧值的内存地址,用来访问右侧的值。
- 赋值符号:将变量值的内存地址绑定给变量名。
- 变量值:代表记录的事物状态。
4.变量名的命名
- 原则:变量名的命名应该见名知意
- 规则:不能以数字开头,包括字母、数字、下划线。
- 命名风格:
1.纯小写加下划线age_of_bg
(在Python中推荐使用这个)
2.驼峰体AgeOfBg
注意:
1.关键字不能为变量名,如and,as,assert,class,continue,def,print等。
2.大小写不同,A!=a。
3.不要用拼音和中文。
5.变量值的三个特征
- id:反映的是变量值的内存地址,内存地址不同id不同。(id不是内存地址)
- type:不同类型的值用来表示不同的状态
- value:值本身
name="DW"
print(id(name)) #2911400064176
print(type(name)) #<class 'str'>
print(name) #DW
2.3 查看变量类型
type()
函数来查看变量类型
x=2.
y="DW"
print(type(x),type(y))
# <class 'float'> <class 'str'>
2.4 常量
- 在Python语法中,没有常量的概念,但在程序的开发中会涉及到常量。
- 在Python中,约定全大写代表常量,这只是一种约定、规范。
AGE_OF_DW=10
3 数据类型
3.1 数字类型
- 整型(int)
x=100
print(x,type(x))
#100 <class 'int'>
【例子】找到一个整数的二进制表示,再返回其长度。
a = 1031
print(bin(a)) # 0b10000000111
print(a.bit_length()) # 11
- 浮点型(float)
x=1.
y=1
print(x,type(x)) #1.0 <class 'float'>
print(y,type(y)) #1 <class 'int'>
a = 0.00000023
b = 2.3e-7
print(a) # 2.3e-07
print(b) # 2.3e-07
- 布尔型(bool)
用来记录真假两状态,只有Ture或False(注意开头大写),分别用1和0表示。通常当作判断条件,
print(True + True) # 2
print(True + False) # 1
print(True * False) # 0
bool
作用在基本类型变量:只要x非零,bool(X)
就是 True
。
print(type(0), bool(0), bool(1))
# <class 'int'> False True
print(type(10.31), bool(0.00), bool(10.31))
# <class 'float'> False True
print(type(True), bool(False), bool(True))
# <class 'bool'> False True
bool
作用在容器类型变量:X
只要不是空的变量(空字符串、空列表、空字典),bool(X)
就是 True
。
print(type