1 计算机基础
- CPU:逻辑运算
- 内存:临时存储数据,成本高,容量小,读写速度快,断电数据消失;
- 硬盘:容量大,固态/机械,读写速度慢,长久保存
- 操作系统:
- 应用程序:
2 Python历史
Python特征:
- 定位:简单、明确、优雅
- 开发效率高:
- 几乎通过计算机实现任何功能,Python官方库里都有相应的模块进行支持;
- 在基础库上再进行开发,大大降低开发周期
- 避免重复造轮子
- 高级语言:
- 可移植性:
- 可扩展性:
- 可嵌入性:
Python缺点:
- 速度慢
- 代码不能加密
- 线程不能利用多CPU
宏观上:python2 与 python3的区别:
-
python2:源码不标准,混乱、重复代码太多
-
python3:统一标准,去除重复代码
3 Python环境
- 编译型:一次性将所有程序编译成二进制文件。C,C++,Java等
- 缺点:
- 开发效率低
- 不能跨平台
- 优点:
- 执行速度快
- 缺点:
- 解释型:当程序执行时,一行一行行的的解释。python、php、javaScript等
- 缺点:
- 运行速度慢(相对的)
- 优点:
- 开发效率高
- 可以跨平台
- 缺点:
python是一门动态解释性强类型定义语言;
4 Python种类
- cpython:将python转成C语言识别的字节码,再转成二进制
- jpython:将python转成java语言字节码,再转成二进制
- ironpython:
- 其他语言python
- pypy:将python一次性全部编译成字节码,再转成二进制交由操作系统,运行速度肯定会快一些,但是开发效率相对慢;
5 Python基本语法
运行第一个python 文件
python3 :python文件路径
第一个python文件(D:/helloworld.py)内容如下:
print('香港是属于中国的')
5.1 变量、常量和注释
-
变量:将运算的中间结果暂存到内存中,一遍后续代码调用
-
规则:
-
必须由数字、字母和下划线任意组合,且不能以数字开头;
-
不能是python中的关键字,比如:print
-
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']
-
具有可描述性
-
不能是中文
-
-
示例:
age1 = 12 age2 = age1 age3 = age2 age2 = 100 # 猜一下下面的输出: print(age1,age2,age3)
-
-
常量:一直不变的量,如:π
# python中没有常量的概念,所以约定所有“大写”的变量为常量 BIR_OF_CHINA = 1949
-
注释:方便他人和自己阅读代码
# 单行注释 ''' 多行注释 ''' """ 多行注释 """
5.2 基础数据类型
-
判断数据类型的方法:
print(100, type(100))
-
数字类型
-
运算符:
- +
- -
- *
- /
- %
- **:幂运算
-
int:
-
32为系统,取值范围如下
-
64位系统,取值范围如下:
-
-
-
long:与C语言不通,Python的长整数没有指定位宽
-
没有限制取值范围
-
实际上由于机器内存有限,不能是无限大
-
注意1:自python2.2版本起,如果整数发生溢出,自动将整数数据转换成长整数,即就算长整数没有加字母L也不会导致严重后果
-
注意2:python3中不再有long,全部是int
D:\>python2 Python 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:30:26) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> s Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 's' is not defined >>> s = 2**64 >>> type(s) <type 'long'> D:\>python3 Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> s = 2**64 >>> type(s) <class 'int'>
-
-
字符串类型:用引号引起来的都是字符串,单引号,双引号无所谓,
-
运算符:
- +:字符串拼接
- *3:字符串3个自拼接
test1 = '''重新编码,\ 重新发布 ''' print(test1*3) ''' 输出结果如下: ---------------------------------------------------------------------- 重新编码,重新发布 重新编码,重新发布 重新编码,重新发布 '''
-
-
三引号可以跨行写字符串:
test1 = '''重新编码,\ 重新发布 ''' test2 = '''重新编码, 重新发布 ''' print('test1:') print(test1) print('test2:') print(test2) ''' 输出结果如下: ---------------------------------------------------------------------- test1: 重新编码,重新发布 test2: 重新编码, 重新发布 '''
-
布尔类型:
- True
- Flase
5.3 用户交互
>>> name = input("请输入名字:")
请输入名字:飞哥
>>> print(name)
>>> age = input("年龄:")
年龄:22
>>> print(age,type(age))
22 <class 'str'>
- 等待输入
- 将输入的内容赋值给了前面的变量
- input返回值的数据类型全部是str
5.4 流程控制语句
-
if:判断
if a==True: print("执行结果")
-
while:循环
while a==True: if b==False: # 终止循环条件 a==False else if c==False: # 终端循环 break else: # 跳过后面的代码块,进入下一循环 continue ''' 其他代码模块 '''
网友评论