2.1 计算机及Python基础
2.1.1 CPU 内存 硬盘 操作系统
- CPU
- 计算机的计算中心,相当于计算机的大脑
- 内存
- 暂时存放数据的地方,临时加载应用程序的数据
- 常见的内存大小:4G、8G、16G
- 读取速度快
- 硬盘
- 长期存放数据的地方
- 1TB=1024G 1GB=1024MB 1MB=1024KB 1KB=1024B
- 读取速度慢
- 操作系统
- 一个软件
- 连接计算机硬件和所有软件
2.1.2 Python历史
Python创始人吉多·范罗苏姆(Guido van Rossum),Python崇尚优美、清晰、简单
Python目前有两大版本:Python2.x 和Python3.x
- 两大版本源码的大致区别
- Python2.x:初期由于有C、Java等其他语言的大牛参与进行补充书写,导致重复代码多,冗余,不规范
- Python3.x:代码规范,清晰,简单
2.1.3 编程语言分类
- 编译型
- 将代码一次性全部编译成二进制,然后在执行
- 编译器:是把源程序的每一行都编译成机器语言,并保存成二进制文件
- 优缺点
- 优点:执行效率高,由于编译成了二进制文件,所以可以脱离语言环境独立运行。
- 缺点:开发效率低,不能跨平台
- 代表语言:C、C++、Go
- 解释型
- 逐行解释成二进制,逐行执行
- 解释器:只在执行程序时,逐条语句的解释成机器语言给计算机执行
- 优缺点
- 优点:开发效率高,可以跨平台,修改灵活
- 缺点:执行效率低
- 代表语言:Python、Ruby、PHP
2.1.4 动态语言和静态语言(扩展)
- 动态语言
- 运行期间做数据类型检查的语言
- 代表语言:Python、Ruby
- 静态语言
- 在编译期间检查数据类型,在写程序是要声明所有变量
- 代表语言:C、C++、java
2.1.5 强类型定义语言和弱类型定义语言(扩展)
- 强类型定义语言:
- 总是强制类型定义的语言,变量被指定类型后必须经过强制转换才能变成另一种数据类型。
- 弱类型定义语言:
- 数据类型可以被忽略的语言,变量可以被赋予不同类型的数据值
2.1.6 Python优缺点
- 优点
- 优雅、明确、简单
- 开发效率高 ——有非常强大的第三方库
- 高级语言 ——无需考虑底层的细节
- 可移植性 ——可以几乎移植到所有平台上运行
- 可扩展性 ——可以使用利用C或C++编写的部分程序
- 可嵌入性 ——可以把Python嵌入到C或C++的程序中
- 缺点
- 速度慢
- 代码无法加密
- 线程无法利用多CPU
2.1.6 Python种类
Python解释器的不同
- CPython
- Python官方版本,使用C语言实现,可以转化成C语言识别的字节码
- JPython
- 可以转换成Java识别的字节码
- ironPython
- 可以转换成.net语言能识别的字节码
- pypy
- 动态编译
2.2 Python安装
- 在官网下载对应系统的安装包
- 安装步骤
注意:有的时候安装完后会出现“Disable path length limit”的按钮,如果有,点击一下就可以,禁用系统的Path长度自动限制
- 检查
打开win+r,输入cmd回车,打开Windows的命令界面
出现以上界面即为安装成功。
2.3 第一个python代码
默认使用python 3.x版本,python 2.x版本特殊说明。
- 在notepad++中书写
print ("hello world")
- 保存为t1.py文件
- win+r,输入cmd,进入命令界面运行刚才的文件
运行成功
2.4 变量
- 为什么需要变量?
- 当表达式过于复杂,不便于书写时可以赋值给一个变量
- 什么是变量?
- 变量存储内存中的值
- 如何定义变量?
name = "小明"
#这种形式就是在定义一个名称叫name的变量
name : 变量名
= : 赋值
"小明" : 值
- 说明
变量只能指向数据,不能指向变量。变量在内存中是唯一命名的。
2.4.1 命名规则
变量的命名规则:
- 变量名称只能是字母、数字或下划线的组合
- 变量名的首字母不能为数字
- 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']
- 不建议使用中文或拼音
- 变量名称要有意义
- 变量名称最好不要过长
- 变量名称区分大小写
- 变量名称推荐写法:
- 驼峰体:MyName
- 下划线:my_name
2.5 常量
常量:常量就是把变量名称大写,一直保持不变的量。
NAME = "小明"
#类似以上的就是常量,赋值方法和变量类似;但是python没有真正意义上的常量。
2.6 注释
- 为什么需要注释?
- 进行解释说明,便于理解
- 如何注释?
- 单行注释:#
- 多行注释:''' 内容 ''' """ 内容 """
# 单行注释
'''
多行注释
'''
"""
多行注释
"""
- 在哪使用?
- 在难以理解的代码后进行注释
- 在函数,类等进行注释
2.7 基础数据类型
2.7.1 数据类型
- number —— 数字
- string —— 字符串
- list —— 列表
- tuple —— 元组
- set —— 集合
- dictionary —— 字典
2.7.2 int 整型
整型即为整数类型
- 范围
- 32位机器:-231~231-1,即-2147483648~2147483647
- 64位机器:-263~263-1,即-9223372036854775808~9223372036854775807
数值运算:
- +:加法
- -:减法
- *:乘法
- /:除法,得浮点数
- //:除法,得整数
- %:取余
- **:乘方
2.7.3 str 字符串
- 什么是字符串?
- 在python中用单引号
''
或双引号""
或三个单引号括'''
或三个双引号"""
起来的都是字符串 - 单引号和双引号没有区别,可以配合使用。
- 在内容有换行时,可以使用三个单引号
- 字符串的操作
- 字符串的拼接
str1 = "hello"
str2 = "world"
str = str1 + str2
print (str)
- 字符串的复制
str1 = "hello"
str = str1 * 2
print (str)
2.7.4 bool 布尔类型
bool 布尔值:True(真) False(假)
2.7.5 type() 判断数据类型
利用type()
进行数据类型的判断
date1 = 123
date2 = "123"
date3 = True
print (type(date1),type(data2),type(data3))
2.7.6 数据类型转换
实例:
data1 = 123
data2 = str(data1)
print (type(data2))
函数 | 描述 |
str(x) | 将x转换为字符串 |
int(x) | 将x转换为整数(必须为数字的前提) |
2.8 用户交互 input
利用input
可以进行用户之间的交互,交互获得的内容是字符串
usename = input('输入用户名:')
print (usename,type(usename))
2.9 流程控制语句 if
- 基本结构:
if 条件:
结果
else:
结果
实例:
if 1 > 2:
print ("ok")
else:
print ("not ok")
- 多项选择结构:
if 条件:
结果
elif 条件:
结果
elif 条件:
结果
else:
结果
实例:
num = int(input("输入数字:"))
if num == 3:
print ("1")
elif num == 4:
print ("2")
elif num == 7:
print ("3")
else:
print ("5")
- 嵌套判断
if 条件:
if 条件:
结果
else:
结果
else:
结果
实例:
if 3 > 2:
if 5 < 6:
print ("ok")
else:
print ("not ok")
else:
print ("False")