专栏名称: python
隔天更新python文章,我希望用我的努力换来劳动的成果帮助更多的人掌握一门技术,因此我要更加努力。
目录
相关文章推荐
Python爱好者社区  ·  “给我滚出贵大!”郑强出任贵州大学校长,打算 ... ·  3 天前  
Python爱好者社区  ·  python接私活,yyds ·  昨天  
Python爱好者社区  ·  DeepSeek 最新中国大学排名 ·  昨天  
Python开发者  ·  国产 DeepSeek V3 ... ·  5 天前  
Python爱好者社区  ·  史上最强!PINN杀疯了 ·  4 天前  
51好读  ›  专栏  ›  python

Python零基础到进阶学习所有知识点!

python  · 公众号  · Python  · 2017-11-26 20:16

正文

基础语法

Python 是一门高阶、动态类型的多范式编程语言;定义 Python 文件的时候我们往往会先声明文件编码方式:

人生苦短,请用 Python,大量功能强大的语法糖的同时让很多时候 Python 代码看上去有点像伪代码。譬如我们用 Python 实现的简易的快排相较于 Java 会显得很短小精悍:

控制台交互

可以根据 __name__ 关键字来判断是否是直接使用 python 命令执行某个脚本,还是外部引用;Google 开源的 fire 也是不错的快速将某个类封装为命令行工具的框架:



Python 2 中 print 是表达式,而 Python 3 中 print 是函数;如果希望在 Python 2 中将 print 以函数方式使用,则需要自定义引入:

from __future__ import print_function

我们也可以使用 pprint 来美化控制台输出内容:

import pprint

stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
pprint.pprint(stuff)# 自定义参数pp = pprint.PrettyPrinter(depth=6)
tup = ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead',('parrot', ('fresh fruit',))))))))
pp.pprint(tup)

模块

Python 中的模块(Module)即是 Python 源码文件,其可以导出类、函数与全局变量;当我们从某个模块导入变量时,函数名往往就是命名空间(Namespace)。而 Python 中的包(Package)则是模块的文件夹,往往由 __init__.py 指明某个文件夹为包:


Package 可以为某个目录下所有的文件设置统一入口:

someDir/main.pysubModules/__init__.pysubA.pysubSubModules/__init__.pysubSubA.py


表达式与控制流

条件选择

Python 中使用 if、elif、else 来进行基础的条件选择操作:

Python 同样支持 ternary conditional operator:

a if condition else b

也可以使用 Tuple 来实现类似的效果:

循环遍历

for-in 可以用来遍历数组与字典:

如果我们希望使用数字序列进行遍历,可以使用 Python 内置的 range 函数:

基本数据类型

可以使用内建函数进行强制类型转换(Casting):

int(str)
float(str)
str(int)
str(float)
Number: 数值类型


布尔类型

Python 提供了常见的逻辑操作符,不过需要注意的是 Python 中并没有使用 &&、|| 等,而是直接使用了英文单词。


String: 字符串

Python 2 中支持 Ascii 码的 str() 类型,独立的 unicode() 类型,没有 byte 类型;而 Python 3 中默认的字符串为 utf-8 类型,并且包含了 byte 与 bytearray 两个字节类型:


Python 字符串支持分片、模板字符串等常见操作:


# 移除所有的特殊字符re.sub('[^A-Za-z0-9]+', '', mystring)

如果需要判断是否包含某个子字符串,或者搜索某个字符串的下标:

Regex: 正则表达式

下面列举了常见的表达式使用场景:

集合类型

List: 列表

Operation: 创建增删

list 是基础的序列类型:


可以使用 append 与 extend 向数组中插入元素或者进行数组连接

可以使用 pop、slices、del、remove 等移除列表中元素:

Iteration: 索引遍历

你可以使用基本的 for 循环来遍历数组中的元素,就像下面介个样纸:


如果你在循环的同时也希望能够获取到当前元素下标,可以使用 enumerate 函数:

Python 也支持切片(Slices):

Comprehensions: 变换

Python 中同样可以使用 map、reduce、filter,map 用于变换数组:

reduce 用于进行归纳计算:

filter 则可以对数组进行过滤:

字典类型

创建增删

d = {'cat': 'cute', 'dog': 'furry'} # 创建新的字典print d['cat'] # 字典不支持点(Dot)运算符取值

如果需要合并两个或者多个字典类型:

索引遍历

可以根据键来直接进行元素访问:

可以使用 for-in 来遍历数组:

其他序列类型

集合

函数

函数定义

Python 中的函数使用 def 关键字进行定义,譬如:

参数

Option Arguments: 不定参数

生成器


装饰器

装饰器是非常有用的设计模式:

Managed Attributes: 受控属性

类方法与静态方法

对象

实例化

属性操作

Python 中对象的属性不同于字典键,可以使用点运算符取值,直接使用 in 判断会存在问题:

建议使用 hasattr、getattr、setattr 这种方式对于对象属性进行操作:

异常与测试

异常处理

Context Manager - with

with 常用于打开或者关闭某些资源:







请到「今天看啥」查看全文