python基础知识1
目录
python基础知识1
一 python介绍
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
二 安装多版本的解释器
B站视频教程:
https://www.bilibili.com/video/BV1Xz4y1Q7bZ
# 注意:环境变量
-在win系统下,为了方便在命令窗口(win+r)快速调用python解释器,需要将python解释器的程序,加入环境变量中,并且python2与python3需要复制之后重新命名。
三 运行python程序的两种方式
1 交互式
在命令行界面,启动python解释器,输入python语法的代码,可以立即执行
1.1 特点:
敲一行代码回车之后就会立即执行,立刻可以看到执行结果,退出,代码不保存。
1.2 用途:
用于调试程序。
2 脚本的方式
事先写好一个以.py结尾的文本文档,然后用python解释器加载执行后输出运行的结果。
### 2.1 特点:
```python
永久保存代码。
2.2 用途:
把程序写到文件中永久保存。
2.3 运行python程序的三个步骤:
(1)文本文件最先存放于硬盘上,启动python解释器;
(2)python解释器将文本文件的内容加载到内存中;
(3)python解释器开始解释读入内存的内容,开始识别python语法。
### 2.4 运行文本文件的三个步骤同理:
```python
(1)文本文件最先存放于硬盘上,启动文本编辑器;
(2)文本编辑器将文本文件的内容加载到内存中;
(3)文本编辑器开始识别读入内存的内容,并将内容输出到屏幕。
## 四 变量
### 1 什么是变量
```python
变:记录下事物的状态。
量:记录的事物的状态是可以被改变。
### 2 为什么要有变量
```python
为了让计算机能够像人一样记忆事物的状态,并且状态是可以变化的。
PS:变量存的状态是存放于计算机的内存中的。
### 3 变量如何使用
#### 3.1 变量的定义与组成
```python
name = "zhangsan"
age = 18
salary = 3.1
#变量名,赋值符号,变量值
变量名: 关联一个房间的地址,用来找到变量值的。赋值符号:把房间的地址绑定给变量名。变量值:就是我们记忆的状态或者数据。
3.2 变量名的命名原则
变量名的命名应该在保证见名知意的前提下,保持简短。#### 3.3 变量名的命名规范```python(1)由字母、数字、下划线组成;(2)不能以数字开头;(3)不能以python的关键字命名。```python# python关键字['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
3.4 变量名的命名风格
(1)纯小写+下划线(推荐用于变量名)age_of_zhangsan = 18(2)驼峰体AgeOfZhangsan = 18#### 3.5 变量名不好的定义方式```python(1)变量名为中文、拼音;(2)变量名过长;(3)变量名词不达意。#### 3.6 变量值的两大特征:##### 3.6.1 id:反映的是内存地址```pythonx=10y=xy="aaaa"print(id(x)) # 140704360748992print(id(y)) # 1761535452592
3.6.1.1 is 的用法
用于判断id是否相等。
# 例1x=1111y=2222print(x is y) # False# 例2x=1111y=xprint(x is y) # True
3.6.1.2 == 的用法
用于判断值是否相等。
# 例1name1="zhangsan"name2="zhangsan"print(name1 == name2) # True
3.6.1.3 注意!
# 如果id如果相等,值一定相等;# 如果id如果不相等,值有可能相等。```python# 验证:Python 2.7.18 (v2.7.18:8d21aa21f2, Apr 20 2020, 13:25:05) [MSC v.1500 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>>>>> x="aaa:[1,2,3]===00009888888*****">>> y="aaa:[1,2,3]===00009888888*****">>>>>>>>> x is yFalse>>> id(x),id(y)(46901424L, 46899888L)>>>>>>>>> x == yTrue
3.6.2 type:反映变量值的类型
x=10print(type(x)) # <class 'int'>name="zhangsan"print(type(name)) # <class 'str'>
五 小整数池与内存管理
1 了解小整数池
# 1.在交互式模式下Python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被GC回收。每创建一个-5到256之间的整数,都是直接从这个池里直接拿走一个值,例如>>> y=4>>> id(y)4297641184>>> >>> x=3>>> x+=1>>> id(x)4297641184# 2.在pycharm中但在pycharm中运行python程序,pycharm出于对性能的考虑,会扩大小整数池的范围,其他的字符串等不可变类型也都包含在内一便采用相同的方式处理了,我们只需要记住这是一种优化机制。# 3.其他python解释器启动时会创建的值TrueFalseNone
2 内存管理之引用计数
为了帮助开发人员更好的管理内存,python解释器内置了垃圾回收机制GC,垃圾回收机制使用引用计数的方法,来管理内存中冗余的内容。```python# 引用计数x = 10 # 值10的引用计数为1y = x # 值10的引用计数为2print(x) # 10print(y) # 10y = 123 # 值10的引用计数减少为1del x # 值10的引用计数减少为0
六 常量
不可以被改变的量,如圆周率PI。python语言中:变量名全为大写代表常量。# eg:AGE = 68