一、Python开发环境的安装
(一)Linux环境安装
(二)Windows环境安装
- 点击安装python-3.7.7进行安装。
- 打开Python
- 打印输出Hello World
二、Python语言特性及应用领域
Python是一个解释型语言,Java也是解释型语言;c,c++是编译型语言。
(一)语言特性
- 简单,贴合自然语言。
- 兼容性好,可跨平台运行。
- 胶水语言。
- 效率低。
(二)应用领域
- 嵌入式设备
- 服务器开发/后端程序开发
- 数据分析/科学计算
- 游戏开发
- 人工智能
- 云计算
- 大数据
三、变量与常量
(一)常量
- 概念:实际的不会改变的量。
eg:10 1.1 “hello world”
(二)变量
-
概念:符号代指的量,其内容可能会或者可以改变。
-
变量定义与命名:
- 必须是数字、字母、下划线的组合
- 不能以数字开头
- 不能和关键字重名
- Python中对变量的定义:
变量名=值
Python中的变量类型由变量中存放的数据决定,Python的变量类型不是强制的,在定义时必须赋值。
- 变量类型的查看
type(变量名)
四、数据类型
(一)整型(int)
(二)浮点型(float)
(三)字符串型(str)
(四)布尔类型(bool)
真 | 假 |
---|---|
true | false |
1 | 0 |
(五)复杂类型
(六)数据类型的转换
- 浮点型转换为整型:将小数部分省去。
- 整型转换为浮点型:转换为一位小数。
- 整型转换为字符串型:将整型数值转换为字符串型。
- 字符串转换位整型:只有整数数值型的字符串才能转换。
- 浮点型转换为字符串型:将浮点型数值转换为字符串型。
- 字符串型转换为浮点型:只有浮点型和整数型数值的字符串才能转换。
- 布尔类型转换为整型:若布尔类型的变量的值为True则转换为整型后变量的值为1;若布尔类型的变量的值为False则转换为整型后变量的值为0。
- 整型转换为布尔型:数值为非0的整型转换为布尔型值为True;数值为0的整型转换为布尔类型的值为False。
- 字符串类型转换为布尔类型:字符串非空转换为布尔型为True;字符串空转换为布尔类型为False。
- 布尔类型转换为字符串类型:True转换为“True”,False转换为“False。
五、运算
(一)数的表示:
-
10进制: 0-9 逢十进一
128
110^2 + 210^1 + 810^0
2进制: 0 1 逢二进一
0b1011
12^3 + 02^2 + 12^1 + 1*2^0 = 11 十进制11 / 2 5 / 2 --- 1 2 / 2 --- 1 1 / 2 ------ 0 0 -------- 1
-
8进制: 0-7 逢八进一
0o127
18^2 + 28^1 + 7*8^0 == 87
111 == 8进制 用于 linux 文件权限 表示
-
16进制: 0-9 abcdef 逢16进一
0x127
116^2 + 216^1 + 7*16^0 = 295 -
计算机存储: 字节单位存储 1字节 = 8bit 2个4bit
0-15
0b1011 1100 == 0xbc
- python中 数值进制转换 用于打印显示的
bin() 二进制
oct() 8进制
hex() 16进制
int() 10进制
(二)算术运算符
- 基本运算:
运算符号 | 运算规则 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
// | 求商 |
% | 求余 |
- 增强型运算
运算符号 | 运算规则 |
---|---|
+= | 加等于 |
-= | 减等于 |
*= | 乘等于 |
/= | 除等于 |
//= | 求商等于 |
%= | 取余等于 |
** | 次方 |
(三)关系运算
- 比较运算:运算结果是bool类型
运算符号 | |
---|---|
> | 大于 |
< | 小于 |
== | 等于 |
>= | 大于等于 |
<= | 小于等于 |
!= | 小于等于 |
- 同一运算符(Python中特有)
运算符号 | 运算规则 |
---|---|
is | 相同否(数值与类型),结果为bool类型 |
is not | 不同否(数值与类型),结果为bool类型 |
(四)逻辑运算
- 与、或、非
运算符号 | 运算规则 |
---|---|
and | 与(有False则结果为False) |
or | 或(有True则结果为Ture) |
not | 非(真假反转) |
(五)位运算
位运算是针对二进制数而言。
运算符 | 功能说明 |
---|---|
~ | 位逻辑取反 |
& | 位逻辑与(有0为0) |
| | 位逻辑或(有1为1) |
^ | 位逻辑异或(相异为1) |
>> | 右移位 |
<< | 左移位 |
- 把一个无符号数的某位快速置1:或运算(|)。
- 把一个无符号数的某位快速清0:与运算(&)。
- 把一个无符号数的某位快速取反:异或运算(^)。
(六)表达式与运算优先级
运算符 | 高 |
---|---|
**:幂运算 | | |
~:位取反 | | |
*、/、//、% | | |
+、-:加、减 | | |
<<、>>:左移、右移 | | |
&:位与 | | |
|、^:或、异或 | | |
>、<、<=、>= | | |
==、!= | | |
is、is not | | |
not、or、and | 低 |
例题:
求表达式的值:
(1+2+3*5 - ~5**2 < 1 == 10>5 and 2+1 * 3>10) is False
(3+3*5 - ~5**2 < 1 == 10 > 5 and 2+1 * 3>10) is False
(3+15 - ~5**2 < 1 == 10 > 5 and 2+1 * 3>10) is False
(18 - ~5**2 < 1 == 10 > 5 and 2+1 * 3>10) is False
(18 - ~25 < 1 == 10 > 5 and 2+1 * 3>10) is False
(18 - -26 < 1 == 10 > 5 and 2+1 * 3>10) is False
(44 < 1 == 10 > 5 and 2+1 * 3>10) is False
(False == 10 > 5 and 2+1 * 3>10) is False
(False == True and 2+1 * 3>10) is False
(False and 2+1 * 3>10) is False
(False and 2+3>10) is False
(False and 5>10) is False
(False and False) is False
False is False