PYTHON基础知识学习笔记(一)

Python简介

Python是一种跨平台的计算机程序设计语言,其设计哲学是“优雅”、“明确”、“简单”。由于Python语言的简洁性、易读性以及可扩展性,2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。今天开始,我将自己的学习过程记录在这里,如有错误与疏漏,敬请指教。

Python概览

为何选择Python

1、软件质量:Python注重可读性、一致性,具备了比传统脚本语言更优秀的可维护性和可重用性。
2、开发效率:相对于C、Java等编译/静态类语言,Python开发效率要高出数倍,其代码大小只有C++和Java的1/5-1/3,而且Python程序可立即运行,无需编译及链接等步骤。
3、可移植性:绝大多数Python程序无需任何改变即可在主流平台上运行。
4、库支持丰富:Python内置了众多预编译并可移植的功能模块,并可通过自行开发的库或第三方应用进行功能扩展。
5、组件集成:Python脚本可通过灵活的集成机制轻松的与应用程序的其他部分进行通信,这种集成机制使Python成为产品定制和扩展的工具,比如,Python可以与C、C++等相互调用,可以与Java组件集成。

哪些公司在用

国外有Google、Youtube、NASA等在使用,国内主要有搜狐邮箱、知网、豆瓣等。

Python能做什么

1、系统编程
2、用户图形接口
3、网络脚本
4、组件集成
5、数据库编程
6、数据分析和科学计算编程
7、游戏、图像、人工智能和机器人编程等

优势

Python可进行面向对象的编程、面向过程的编程及函数式编程,十分易于使用。可移植性强,可以在目前所有的主流平台上编译和运行。

劣势

与编译语言相比,其执行效率不过快。Python的标准实现方式是将源代码语句编译成字节码,再将字节码解释出来。字节码是一种平台无关的格式,具有可移植性。然而Python没有将代码编译成底层的二进制代码,会比C这样的编译语言慢一些。

Python的运行

交互式提示符

通常用于测试、练习或用于执行简短指令。
1、IDLE
在win10搜索框搜索到IDLE,然后点击运行。
IDEL运行界面
第一行会显示python版本信息,>>>后写入指令,按回车后运行。
2、windows命令提示符
按win+r后输入cmd
在这里插入图片描述
输入python或py打开交互式提示符,ctrl+z可以退出。
在这里插入图片描述

脚本方式

如果命令比较复杂,需要运行多行命令,使用交互式提示符比较费劲,这时可采用脚本方式运行。将代码写入一个文件内,这个文件称之为脚本。
1、创建脚本
可以使用任何记事本工具,这里以windows自带的记事本举例。按win+r后输入notepad,在记事本中输入代码,选择合适路径,保存为*.py文件。
在这里插入图片描述
在记事本中输入代码
选择合适路径,保存为*.py文件
2、运行脚本
在命令提示符中输入python 路径*.py。
在这里插入图片描述
3、将程序运行结果保存在文件中
在刚才的命令语句后加上 > 路径\result.txt,运行结果便保存到result.txt文件中。
在这里插入图片描述
在这里插入图片描述

Python变量、类型及存储

python语句需要经过解释器转化为字节码,再经过PVM转化为计算机可以识别的机器语言。因此python运行时效率不如C、VB、C++,之所以使用PVM是因为其可以自动释放内存,销毁无用对象,帮助程序员简化开发过程,提高效率。在这里插入图片描述

层级概念

程序是由模块构成的,每个模块里包含很多语句,语句中包含了表达式,表达式最基本,其目的是创建或处理对象。

变量

为数据或字面值取一个代表性的名称,便于反复的重用。在C#、JAVE或者C++中创建变量需要先声明类型,数据类型决定其可以赋值什么样的对象。而在python中创建变量不需要提前声明类型,其类型由被赋予的对象决定,因此变量的类型随时可以更改。这种可以称之为动态类型,使用灵活。
将20赋值到变量a时,该变量类型为整形
将“Tom”赋值到变量a时,该变量类型为字符串
变量的类型只取决于所指对象
变量名称创建规则:
1、包含字母、数字及下划线;
2、只能由字母及下划线开头;
3、不能有空格;
4、避免使用python关键字或函数名;
5、简短且有描述性;
6、注意区分特殊符号,如1和l,0和o。

垃圾回收机制:python依据对象引用计数器统计的值,自动释放未被引用的对象。
共享引用:多个变量可引用同一个对象。
在这里插入图片描述
256以下的整数值已被python缓存,在内存中已有固定的位置,而其他对象在赋值时会创建新的内存地址“==”判断字面值是否相等,“is"判断内存地址是否相等。
当对象为256以下的整数时,不同变量指向同一缓存位置
在这里插入图片描述

对象类型

核心数据类型
1、数字:int、float、Decimal、Fraction、······
2、字符串:str
3、列表:list
4、字典表:dict
5、元组:tuple
6、文件:file
7、集合:set
8、布尔:Boolean
9、空:None
10、程序单元:函数function、模块、类class
11、······

未完待续!