文章目录
前言
用博客的方式记录一下自己的学习过程。先从python学起吧
一、Python简介
python是一个高层次的结合了解释性、编译性、互动性的面向对象的脚本语言。
python是一种解释型语言: 解释型语言没有编译环节。
python是交互式语言: 可以在python提示符>>>后面直接执行代码
python是面向对象的语言: Python支持面向对象的风格或代码封装在对象的编程技术。
1.python发展历史
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix shell 和其他的脚本语言等等。
像 Perl 语言一样,Python 源代码同样遵循 GPL(GNU General Public License)协议。
现在 Python 是由一个核心开发团队在维护,Guido van Rossum 仍然占据着至关重要的作用,指导其进展。
Python 2.0 于 2000 年 10 月 16 日发布,增加了实现完整的垃圾回收,并且支持 Unicode。
Python 3.0 于 2008 年 12 月 3 日发布,此版不完全兼容之前的 Python 源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。
Python 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。
Python 2.7 被确定为最后一个 Python 2.x 版本,它除了支持 Python 2.x 语法外,还支持部分 Python 3.1 语法。
2.python特点
- **1.易于学习:**Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
- **2.易于阅读:**Python代码定义的更清晰。
- **3.易于维护:**Python的成功在于它的源代码是相当容易维护的。
- **4.一个广泛的标准库:**Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
- **5.互动模式:**互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
- **6.可移植:**基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
- **7.可扩展:**如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
- **8.数据库:**Python提供所有主要的商业数据库的接口。
- **9.GUI编程:**Python支持GUI可以创建和移植到许多系统调用。
- 10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
二、安装Python
python是一个支持多平台的语言,支持Linux、Windows、macOS等系统。除了官网下载python安装包进行下载也可以下载Anaconda进行安装。
1.Windows安装
一定要添加环境变量,可以安装在自己想要的环境。
2.Linux安装
Linux系统下下载对应版本的源码压缩包,解压后运行即可,
# tar -zxvf Python-3.6.1.tgz
# cd Python-3.6.1
# ./configure
# make && make install
3.macOS安装
macOS系统自带python2.7版本环境,也可以通过官网下载最新版本python3进行安装。
三、运行方式
1.命令行模式
通过win+R打开命令行,输入python运行python
2.IDLE模式
打开IDEL运行pythonIDEL
3.运行脚本
1、命令行脚本:
$ python script.py
或者
C:>python script.py
2、集成开发环境IDE:Pycharm
四、常用开发工具
PyCharm
VSCode
Sublime Text
五、编码规范
1.代码编码
1、文件编码和python编码格式全部为utf-8,在python代码开头统一添加# -- coding: utf-8 --。
2.命名规范
1、包名、模块名、局部变量名、函数名
全小写、下划线式
2、全局变量
全大写、下划线式驼峰
3、类名
首字母大写式驼峰
4、变量名命名
尽量体现变量的数据类型和具体意义
六、模块管理
1.模块和包
项目体积的增大所有代码都放在一个文件中,无法满需求,使用模块和包解决这个问题,模块可以将一些相关联的代码组合在一个py文件中,包可以将一些相关联的模块组合在一个文件夹中。
2.模块导入
1、import
导入某个模块,如果使用模块中的函数或者方法变量,则需要使用模块名.xxx形式调用。
2、from xxx import xxx
从某个模块中导入某个对象或者方法,也可以一次性从模块中导入所有的对象,
from c import c_method //导入单个对象或方法
from c import * //导入模块中所有的方法
3、from a import b as c
从a中导入b并命名为c,在代码中引用b,通过c来引用
3.包
包的本质是一个文件夹,是将一些相关联的模块组合在一起。但是想要让python识别这是一个包需要在文件夹中创建一个__init__.py
一个文件夹中只有拥有了__init__.py
这个文件才能视为一个包
同一个包中的模块如果需要相互导入可以使用from . import xxx
4.python __all__
变量用法
__all__
变量是一个特殊的变量,可以用在py文件中也可以用在__init__.py
中
1、普通模块
表示一个模块中允许哪些属性可以被导入到别的模块中
__all__
变量是为了限制或者指定能被导入到别的模块的函数、类、全局变量等,如果指定了就只能导入指定的内容,如果没有指定则都可以导入,私有属性除外。
__all__=['test','hello','Person']
test = 'python'
def hello():
print('hello')
class Person(object):
def __init__(self):
print('person init method')
2、在包下的__init__.py
文件中
添加__all__=["echo","sound","reverse"]
时在使用from xxx import *
时包含其中三个模块,当__init__.py
为空时,只是导入这个包,并非导入整个模块
5.模块、包安装
1、使用pip进行安装
pip --version # Python2.x 版本命令
pip3 --version # Python3.x 版本命令
pip install request #安装模块
pip install django == 1.10.5 #安装指定版本的包
pip uninstall request #卸载模块
pip install -U django #升级包
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本
$ sudo python get-pip.py # 运行安装脚本
$ sudo python3 get-pip.py # 运行安装脚本。
pip show #显示安装包信息
pip search SomePackage #搜索指定包
pip list #列出以安装的包
#升级包
Linux
pip install --upgrade pip # python2.x
pip3 install --upgrade pip # python3.x
Windows
python -m pip install -U pip # python2.x
python -m pip3 install -U pip # python3.x
#未安装pip解决方案
python -m ensurepip --default-pip
2、使用Anaconda进行安装,安装方法与pip基本类似
conda install request
conda list
conda uninstall request
总结
今天的内容就这些啦,有不足的地方以后再补充。