菜鸟教程: https://www.runoob.com/python3/python3-tutorial.html
简介
荷兰数学家设计,解释型语言,代码执行时一行行翻译成CPU可理解的机器码,提供高效的数据结构,简单有效地面向对象编程
编程语言
将编程语言翻译成计算机可理解可执行的机器语言,通过编译器和解释器来实现。
- 编译型语言:使用编译器,将所有源代码一次性转换成二进制指令,生成可执行程序,如C、C++等
– 一次编译,无限次运行
– 可执行程序不能跨平台,编译成可执行程序后,可以脱离开发环境运行,但通常不能跨平台,因为不同操作系统对可执行文件的内部结构有不同的要求,不兼容
– 源代码不能跨平台- 解释型语言:使用解释器,边执行边转换,不生成可执行程序,如Python、JavaScript、PHP、Shell等
– 一次编写,到处运行
– 执行效率低,每次执行都需转换,不能脱离开发环境运行
– 可跨平台,不同平台有不同的解释器,因此同样的代码可在不同平台执行相同结果- 半编译半解释型语言:如 Java 、C# 等
底层功能或关键算法通常用编译型语言实现,应用层面用解释型语言
特点
优点
简单易用,学习门槛低,第三方类库多,跨平台,可扩展性强
- 易学易读易用易维护
- 可扩展:调用C/C++到Python程序中
缺点
运行速度慢
大型项目可维护性差(动态语言)
代码保护困难(发布Python程序实际就是发布源码,作为编译语言的C就不用发布源码,.exe即可)
安装
Linux
暂略
Windows
官网下载:https://www.python.org/downloads/
运行安装,注意勾上Add Python 3.8 to PATH,否则后续需手动配置环境变量
查看版本:
python -V
或python --version
提示符>>>,表示在Python交互式环境中,exit()或quit()退出
查看安装路径
where python
库函数
pip install serial
python –m pip install –-upgrade pip,
升级pip版本
镜像
豆瓣 https://pypi.douban.com/simple
阿里云 https://mirrors.aliyun.com/pypi/simple
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple
使用方法为:在 pip install 库名 -i URL
开发环境
VSCode:https://code.visualstudio.com/,安装Python扩展
Pycharm:https://www.jetbrains.com/pycharm/
cmd窗口,命名.py结尾,文件路径下python 文件名.py
运行
基础语法
编码
Python3默认采用utf-8编码,unicode字符串,支持为源码指定编码方式,注释在代码前排(通常第一行指定解释器,第二行指定编码方式)
三种方式:
# -*- coding: 编码名称 -*-
# coding=<编码名称>
# vim: set fileencoding=<编码名称>
标识符
第一个字符必须是字母或下划线 _
其他部分由字母、数字和下划线组成
大小写敏感
Python 3 中可以用中文作为变量名,允许非 ASCII 标识符
保留字
注释
单行注释以 # 开头
多行注释可以用多个 # ,还有在开始和结束处 ’ ’ ’ 和 " " "
缩进
使用缩进来表示代码块,不需要使用大括号 { }
缩进空格数可变,但同一个代码块的语句必须包含相同的缩进空格数,否则会运行错误
代码组
缩进相同的语句构成一个代码块,即代码组
关键字开始冒号 : 结束,该行之后的一行或多行代码构成代码组
首行及后面的代码组称为一个子句
if expression :
suite
elif expression :
suite
else :
suite
同条语句分行
语句过长可用 \ 实现多行语句,在 [ ]、{ }、( ) 中的多行语句,不需要使用
同行多条语句
语句之间使用 ; 分割
空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。
空行不是 Python 语法的一部分,有无不会影响程序运行。
空行是程序代码的一部分,作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
输入输出
输入input()
按下 enter 键结束输入
输出print()
字符串:括号中加上字符串,向屏幕上输出指定的文字。多个字符串,用逗号“,”隔开,遇到逗号会输出一个空格
数字:直接输入
例:print('100 + 200 =', 100 + 200)
默认输出会换行,在变量末尾加上end=" "
实现不换行
模块导入
import
或 from...import
将整个模块(somemodule)导入,
import somemodule
从某个模块中导入某个函数,from somemodule import somefunction
从某个模块中导入多个函数,from somemodule import firstfunc, secondfunc,thirdfunc
将某个模块中的全部函数导入,from somemodule import *
import sys
print('================Python import mode==========================')
print ('命令行参数为:')
for i in sys.argv:
print (i)
print ('\n python 路径为',sys.path)
from sys import argv,path # 导入特定的成员
print('================python from import===================================')
print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path
命令行参数
脚本形式执行Python时使用,具体参照 Python 3 命令行参数