Python 语言入门

Python 语言入门
wshunliPython 在各领域的应用已经非常广泛了,尤其是最近热门的人工智能等领域。
现在开始学习 Python 语言基础,后面利用强大的工具库,想必事半功倍。
Python 基础语法
1、Python 的注释:
# 单行注释 |
单行注释使用 # 号,多行注释使用 ''' 和 """。
2、Python 的行与缩进
Python 中使用缩进表示代码块,不使用 {}。
if True: |
如果缩进不一致,会导致错误。
Python 中一条语句换行需要使用反斜杠(\)表示:
total = item_one + \ |
3、end 关键字
# Fibonacci series: 斐波纳契数列 |
关键字 end 可以用于将结果输出到同一行,或者在末尾添加不同的字符。
Python 基本数据类型
Python 中的变量不需要声明。
Python3 中有六个标准的数据类型:
Number(数字)、String(字符串)、Tuple(元组)、List(列表)、Set(集合)、Dictionary(字典)。
其中前三个为不可变数据类型,后三个为可变数据类型。
1、Number(数字):Python3 支持 int、float、bool、complex(复数)。
其中 在 Python3 中 True 和 False 为关键字,值分别为 1 和 0,可以和数字相加。
2、String(字符串):使用单引号 ' 或双引号 " 括起来,使用反斜杠 \ 转义特殊字符。
str = 'wshunli' |
Python 三引号:一个字符串跨多行。
para_str = """这是一个多行字符串的实例 |
3、List(列表):列表可以完成大多数集合类的数据结构实现。方括号 [] 表示。
列表中元素的类型可以不同,支持数字,字符串以及列表(嵌套)。
列表的索引和截取和字符串类似;但是支持第3个参数表示截取步长。
letters = ['w','s','h','u','n','l','i'] |
4、Tuple(元组):元素不能修改的列表。小括号 () 表示。
虽然 Tuple 的元素不可改变,但可以包含可变的对象,比如 List 列表。
String、List 和 Tuple 都属于 Sequence(序列)。
5、Set(集合):集合元素之间不相同、不可变、无序。大括号 {} 表示。
集合运算:
a = set('abracadabra') |
6、Dictionary(字典):无序的 键(key) : 值(value) 的集合。大括号 {} 表示。
其中 键(key) 为不可变类型。在同一个字典中,键(key) 必须是唯一的。
tinydict = {'name': 'wshunli', 2: 1, 'site': 'wshunli.com'} |
基本数据类型的创建:
list = [] # 构造 0 个的列表 |
Python 运算符
(1)Python 算术运算符:+、-、*、/、%、**、//
** 幂 - 返回 x 的 y 次幂
a**b # a 的 b 次方 |
// 取整除 - 向下取接近除数的整数
>>> 9//2 # 4 |
(2)Python 比较运算符:==、!=、>、>=、<、<=
(3)Python 赋值运算符:=、+=、-=、*=、/=、%=、**、//=
(4)Python 位运算符:&、|、^ 、~ 、<<、>>
(5)Python 逻辑运算符:and、or、not
(6)Python 成员运算符:in、not in
(7)Python 身份运算符:is、is not
is 是判断两个标识符是不是引用自一个对象;
is not 是判断两个标识符是不是引用自不同对象
Python 条件控制
if condition_1: |
在 Python 中没有 switch – case 语句。
Python 循环语句
1、While 循环
在 while … else 在条件语句为 false 时执行 else 的语句块:
count = 0 |
2、For 循环:遍历任何序列的项目,如列表、字符串。
for <variable> in <sequence>: |
3、range() 函数
range() 函数用于生成数列:
for i in range(5): |
结合 range() 和 len() 函数遍历一个序列的索引:
a = ['Google', 'Baidu', 'Runoob', 'Taobao', 'QQ'] |
4、pass 语句
Python pass是空语句,是为了保持程序结构的完整性。
while True: |
Python 迭代器与生成器
1、迭代器:用于遍历集合元素。
(1)迭代器的使用
迭代器有两个基本的方法:iter() 和 next()。
list = [1, 2, 3, 4] |
迭代器可以使用 for 语句进行遍历:
list=[1, 2, 3, 4] |
(2)迭代器的创建
在类中实现 __iter__() 与 __next__() 两个方法。
class MyIter: |
(3)StopIteration 异常
StopIteration 异常用于标识迭代的完成,防止出现无限循环的情况。
class MyIter: |
2、生成器
在 Python 中,使用了 yield 的函数被称为生成器(generator)。
调用一个生成器函数,返回的是一个迭代器对象。
import sys |
每次调用生成器函数都会在 yield 处暂停并保存运行状态,返回 yield 结果;在下次执行 next() 函数时从暂停位置继续运行。
Python 函数
1、函数的定义
def hello() : |
2、函数的参数及其传递
Python 参数类型:必需参数、关键字参数、默认参数、不定长参数
def printinfo(arg1, arg2, arg3="默认值", *arg4, **arg5): |
其中 arg1, arg2 属于必需参数,通过关键字传递时可以交换顺序;arg3 属于默认参数,在没有传值时使用默认值;arg4, arg5 属于可变参数,* 元祖形式,** 字典形式
声明函数时,参数中星号 * 可以单独出现,例如:
def f(a, b, *, c): |
星号 * 后的参数必须用关键字传入。
不可变类型类似于传值传递;可变类型类似于传址传递。
3、匿名函数
Python 使用 lambda 来创建匿名函数。
sum = lambda arg1, arg2: arg1 + arg2 |
4、变量作用域
Python 的作用域一共有 4 种:局部作用域、闭包函数外的函数中、全局作用域、内置作用域(内置函数所在模块的范围)
g_count = 0 # 全局作用域 |
内置作用域是通过一个名为 builtin 的标准模块来实现的:
import builtins |
改变变量的作用域:使用 global 和 nonlocal 关键字。
num1 = 1 |
其中 global : 局部作用域 -> 全局作用域;nonlocal : 局部作用域 -> 闭包函数外的函数中
Python 模块
在 Python 中将一些方法和变量保存在文件中以供其他程序使用。
1、import 语句
import module1[, module2[,... moduleN] |
2、from … import 语句:仅导入指定的部分(函数、变量)到当前命名空间中。
from modelname import name1[, name2[, ... nameN]] |
__name__ 属性:值为 '__main__' 代表模块自身在运行,否则是被引入的。
dir() 函数:列出模块内定义的所有名称。
Python 异常处理
Python 中使用 try 及 except 处理异常:
while True: |
同时处理多个异常,可使用元组元组表示:
except (RuntimeError, TypeError, NameError): |
Python 使用 raise 语句抛出一个指定的异常。





