Python 入门
计算机编程语言
计算机编程语言发展
- 机器语言
- 汇编语言
- 高级语言
- 4GL(专用语言)
高级语言分类
- 编译型语言
C/C++ 、 Fortran、 Delphi、 Java - 解释型语言
Ruby、 Python、JavaScript
编译型语言
源代码->可执行程序
预处理 -> 编译 -> 汇编 ->链接
C语言编译过程
#include
int main(int argc, char* argv[])
{
printf(“This is a C Program.\n”);
return 0;
}
$ gcc -E –o hello.i hello.c
$ gcc –S –o hello.s hello.i
$ gcc –c –o hello.o hello.s
$ gcc –o hello.bin hello.o
编译型语言特点
执行前需要进行编译
再次执行无需编译
机器码执行效率高
源代码修改后需重新编译
解释型语言
#shell 编程实例
#!/usr/bin/bash
echo “This is a Shell Scripy.”
#Python 编程实例
#!/opt/anaconda/bin/python
print(“This is a Python program.\n”)s
解释性语言特点
运行时需要解释器
以文本形式存在
程序源码既是最终执行文件
无需编译
每次执行需逐行解释
执行效率低
源代码修改后可直接运行
认识Python
- Python起源
1989年荷兰人Guido van Rossum发明Python
1991年Python公开发行第一个版本 - 主流版本
Python2.X
Python3.X - 优点
简单易学
开源免费
方便移植
开发高效
解释型语言
面向对象 - 缺点
运行效率低
代码安全性低
编程语言排名(TIOBE/IEEE)
应用场景
操作系统管理
系统编程
图形界面编程
Web开发
爬虫
数值计算和科学计算
游戏、图像、人工智能、机器学习
平台支持
Windows
Linux
MacOS
环境种类
纯净Python包
发行版工具包
集成开发环境
常用工具
pip install 库名==3.1 -i 源地址
IPython:增强交互式环境 ipython
jupyter notebook: 写代码和笔记、代码可以运行
开发方式
交互模式
交互模式下只能够输入Python命令
交互模式下代码执行结果会自动打印
交互模式下不需要缩进代码(标准解释器下)
交互模式下支持多行语句的编写,复合语句用空行结束(复合语句需要缩进)
交互模式下一次只能运行一条语句
便于实验Python语句的功能
方便代码块功能的测试
在系统命令行终端中输入python命令:
$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:38)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
脚本文件方式
交互式模式下Python程序执行完成后难以重复运行
将程序代码保存在文件中方便多次运行python 运行方式:
$ vi first.py
#The first Python program.
import sys
print(sys.platform)
print(2**100)
x = 'briup'
print(x*8)
$ python first.py
Python 解释器
Python的含义
- 编程语言
- 解释器软件包
Python程序的运行过程
Python解释器种类
Python 程序示例
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
# 单行注释
'''
多行注释
'''
print('start')
if True:
print(sys.platform)
print('end')
程序说明:
#:单行注释
'''..代码..''':多行注释
#!/usr/bin/env python:指定python解释器的寻找路径,如果在此路径中找不到,会再到系统环境变量中寻找
# -*- coding:utf-8 -*-:指定程序使用的字符集,python2默认情况下不支持中文
:使用冒号来分开代码块,如if语句,循环语句后跟一个冒号,表示接下来的代码是此语句中的代码块。
用缩进来区分缩进块,相当于C/C++中的{...}
import sys:引入一个模块,相当于C/C++中的#include
Python标识符
标识符
标识符:以字母或下划线开头的变量名、函数名、类名、模块名均是标识符
支持任意长度,大小写敏感
不能与关键字同名
不要使用内建标识符
带‘_’得标识符有特殊含义
关键字
Python关键字不允许另作他用
查看系统关键字
import keyword
keyword.kwlist
keyword.iskeyword()
内建标识符
非关键字,但不推荐作为标识符使用
在Python解释器中有特殊含义
Python程序启动前由解释器自动导入
作为全局变量使用
例如:list、dir、id、dict、str、…
专用标识符
_xxx
模块级私有,不能直接访问
不能通过 from model import *导入
可通过类提供的接口进行访问
可被子类继承__xxx__
特殊变量,有系统定义的名字
Python中特殊方法的名字
例如:__main__
、__repr__
、__add__
__xxx
类的私有属性
仅本类可以访问,派生类不能访问
模块基础
模块是Python程序架构的核心概念
以.py结尾的Python源代码均可看作是一个模块import
关键字可以导入模块,只需输入文件名不必加.py后缀
`>>> import first`
模块不能重复import
模块导入时将会被编译成字节码并执行
重复导入并执行模块需使用reload方法
模块被修改后要通过reload重新载入交互模式
完整的应用程序构成
变量和数据类型
运算符和表达式
流程控制语句
输入和输出
函数
类与对象
模块
搭建Python开发环境
Python3.x(建议Python3.7+)
- 注意路径不要有空格、中文
python -V
pip -V
pip list
Jupyter notebook(ipython)
- pip install jupyter
- pip install jupyter -i https://pypi.douban.com/simple
ipython
1 豆瓣(douban) https://pypi.douban.com/simple 2 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple 3 阿里云 https://mirrors.aliyun.com/pypi/simple 4 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple
- vscode/pycharm:IDE 编辑器、编译器、调试器等工具的集合