1. 介绍
Python一种面向对象的高级程序设计语言,Guido van Rossum在1989年年底发明该语言,在人工智能方面应用较多,易上手,丰富的包可调用;不能写操作系统,写游戏也最好用C++或C。
- 软件开发
- Web开发
- 数学建模
- 系统脚本
官网下载:Welcome to Python.org,2.x版已停用,现在主要使用python3.x,自带IDE叫IDLE,安装自带,全部开源。文件扩展名为.py,运行时用Python解释器,不要双击,双击只能cmd闪退。
安装后查看python版本命令
Python -v
或
Python --version
2. windows设置环境变量
安装过程中勾选“Add Python 3.x to PATH”即完成配置,但如果忘记勾选可以通过后面的方式添加,在命令提示符(cmd)中输入命令,注意后面C:\Python要替换成你本地的安装目录。也可以通过右键“此电脑”——“属性”——“高级系统设置”——“系统变量”——“Path”添加安装路径的方式配置。
path=%path%;C:\Python
初学者用Python自带IDLE即可,推荐可用集成开发环境(优点各有侧重):
- Anaconda
- Pycharm
- vscode
3. 基础语法
Python3源码文件以UTF-8编码,字符串都符合unicode编码。编码部分想了解可以深入学习数制和计算机编码部分,早期ASCII编码使用范围有限。当然底层表示都是二进制,因为计算机认识的是二进制。
规则1:除引用的“字符串”可以使用其他语言外,所有代码中的字符必须使用英文。
3.1 标识符
用于命名变量名,命名规则如下:
- 以英文字母或下划线开头
- 其他字符由字母、数字或下划线组成
- 区别大小写
不得与关键字相同。
3.2 关键字
有特殊用的字符,不得命名变量。有哪些关键字?
>>> import keyword >>> keyword.kwlist ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
3.3注释
程序忽略,便于人阅读代码的,单行注释可以使用#号,多行可以使用‘’‘或“”“
#打印“你好,世界”
print("你好,世界")
‘’‘
以上是一段向屏幕输出内容的程序
用python写成,print表示输出,后面的()为函数的具体内容
“”中的“你好,世界”表示输出的字符串
’‘’
3.4 缩进*
Python的一个重要特色就是用缩进表示代码块,不需要向C使用大括号{}。缩进空格数通常为4个,同一个代码块应保持一样的缩进空格数。
3.5 行
通常一行为一条语句,如果过长,也可以分多行表示,每行结尾需要用反斜杠 \ 连接实现多行语句连续执行。
#3个数求和
Total = Num1 + \
Num2 + \
Num3
特殊情况:当在[ ]或{ }或( ) 中想换行时,不需要添加反斜杠 \ 就可以换行。
空行:函数或类等代码段,独立一个代码块出现时,用空行表示分隔,更便于维护和重构。它也是程序代码的一部分。
一行内显示多条语句:同行内使用多条语句,各语句间使用分号 ;分割,例如:
print("你好,世界");print("我还不错,你怎么样?");print("谢谢,我也不错!")
3.6 变量与常量
变量:存放数据值的容器。
与C++不同,Python无需声明变量,赋值时会创建变量。变量类型设置后可以更改其类型。
变量赋值用“=”等号:
a = 100
a = b = c = 100
a, b, c = 100, 200, 300
3.7 数据类型
主要4种:
字符串类型 | str | x = "Hello World" |
数值类型 | int,float,complex | x = 365 x = 360.6 x = 2+1j |
布尔类型 | bool | x = True |
列表类型 | list | x = ["noodle","rice","hanburg"] |
其他:
字典 | dict | x = {"name":"longlong","age":13,"gender":"男"} |
元组 | tuple | x = ("noodle","rice","hamburger") |
集合 | set,frozenset | x = ({"noodle","rice","hamburger"}) |
二进制 | bytes,bytearray,memoryview | x = b"Hello" x = bytearray(8) x = memoryview(bytes(8)) |
序列 | range | x = range(8) |
使用type()和isinstance()查看或判断对象数据类型:
>>> a = 365
>>> type(a)
<class 'int'>
>>> isinstance(a, int)
True
3.8 运算符
用于对变量和值执行操作,按照以下几种划分:
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 身份运算符
- 成员运算符
- 位运算符
3.8.1 算术运算符
运算符 | 说明 | 示例 |
+ | 加 | x + y |
- | 减 | x - y |
* | 乘 | x * y |
/ | 除 | x / y |
% | 取模 | x % y |
** | 幂 | x ** y |
// | 地板除(取整除) | x // y |
3.8.2 赋值运算符
运算符 | 实例 | 等同于 |
---|---|---|
= | x = 8 | x = 8 |
+= | x += 8 | x = x + 8 |
-= | x -= 8 | x = x - 8 |
*= | x *= 8 | x = x * 8 |
/= | x /= 8 | x = x / 8 |
%= | x %= 8 | x = x % 8 |
//= | x //= 8 | x = x // 8 |
**= | x **= 8 | x = x ** 8 |
&= | x &= 8 | x = x & 8 |
|= | x |= 8 | x = x | 8 |
^= | x ^= 8 | x = x ^ 8 |
>>= | x >>= 8 | x = x >> 8 |
<<= | x <<= 8 | x = x << 8 |
3.8.3 比较运算符
运算符 | 说明 | 示例 |
---|---|---|
== | 等于 | x == y |
!= | 不等于 | x != y |
> | 大于 | x > y |
< | 小于 | x < y |
>= | 大于或等于 | x >= y |
<= | 小于或等于 | x <= y |
3.8.4 逻辑运算符
运算符 | 说明 | 示例 |
---|---|---|
and | 如果两个语句都为真,则返回 True。 | x > 4 and x < 8 |
or | 如果其中一个语句为真,则返回 True。 | x > 4 or x < 8 |
not | 反转结果,如果结果为 true,则返回 False | not(x > 4 and x < 8) |
3.8.5 身份运算符
用于对象比较,不是比较值,是比较是否为同一个对象,具有相同的内存位置
运算符 | 说明 | 示例 |
---|---|---|
is | 如果两个变量是同一个对象,则返回 true。 | x is y |
is not | 如果两个变量不是同一个对象,则返回 true。 | x is not y |
3.8.6 成员运算符
用于测试序列是否在对象中出现
运算符 | 描述 | 实例 | 试一试 |
---|---|---|---|
in | 如果对象中存在具有指定值的序列,则返回 True。 | x in y | 试一试 |
not in | 如果对象中不存在具有指定值的序列,则返回 True。 | x not in y | 试一试 |
3.8.7 位运算符
用于比较二进制值
运算符 | 说明 | 示例 |
---|---|---|
& | AND | 如果两个位均为 1,则将每个位设为 1。 |
| | OR | 如果两位中的一位为 1,则将每个位设为 1。 |
^ | XOR | 如果两个位中只有一位为 1,则将每个位设为 1。 |
~ | NOT | 反转所有位。 |
<< | Zero fill left shift | 通过从右侧推入零来向左移动,推掉最左边的位。 |
>> | Signed right shift | 通过从左侧推入最左边的位的副本向右移动,推掉最右边的位。 |
4. 控制语句
4.1 if条件控制
通过条件来决定执行哪一个代码块。多个条件可以使用and连接。if还可以嵌套使用。
a = 365
b = 88
if b > a:
print("b 大于 a")
elif a == b:
print("a 和 b 相等")
else:
print("a 大于 b")
该例子执行后输出为else语句后面的a大于b。
4.2 while和for循环控制
while条件只要为真,就可以反复执行代码块中语句。
i = 1
while i < 8:
print(i)
i += 1
注意:为什么i每次循环一次要加1,递增的目的是为了跳出循环,提供一个循环执行的终止条件,否则将一直循环下去。
break语句
当然,我们还有一种停止循环的方法,就是采用break语句,该语句执行后只打印到6
i = 1
while i < 8:
print(i)
if i == 6:
break
i += 1
continue语句
使用continue语句跳出当前迭代,并继续下一次:
i = 0
while i < 7:
i += 1
if i == 3:
continue
print(i)
for语句
遍历字符串
for x in "你好,世界!":
print(x)
结合range( )函数使用:
for x in range(10):
print(x)
结果是0到9。
for语句不能为空,如果写了无内容for语句,可使用pass避免错误。