标签:Python编程
Python反射机制详解
一、Python反射机制 Python反射,可以理解为利用字符串的形式去对象中操作成员属性和方法,常见操作就包括了查找、增加、删除、判断等,是一种基于字符串的事件驱动! 解释Python的反射,先提一个简单的需求。考虑有这么一个场景,根据用户输入的url的不同,调用不同的函数,实现不同的操作,也就是一个url路由器的功能,这在web框架里是核心部件之一。比如……
Python编程常用技巧–持续更新
1. Python判断值是否为空 代码中经常会有变量是否为None的判断,有三种主要的写法: 第一种是:if x is None 第二种是:if not x 第三种是:if not x is None`(这句这样理解更清晰`if not (x is None)`) 。`if x is not None`是最好的写法,清晰,不会出现错误,以后坚持使用这种写法。……
Python列表解析式
列表解析式也称之为列表推导式,即List Comprehensions,是Python内置的非常简单却强大的可以用来创建列表的生成式。本质上就是用列表来构建列表,通过对已有列表中的每一项应用一个指定的表达式来构建出一个新的列表。列表解析式的优势是编码简单,运行起来很快。 列表解析式的三个核心要素是: 1. 作用于输入序列的运算表达式; 2. 对输入序列的循环……
Python解包(Unpacking)
一、序列解包 Python赋值语句技巧之序列解包(sequence unpacking),是Python语言赋值语句的一种技巧方法,在给多个Python变量命名同时赋值时是很有效率的一种方法。简单说就是通过一条命令把string/list/tuple的元素分别赋值给多个变量。 # string解包; >>> ……
Python数据类型:bytes
bytes 类型 在 Python 2 中,有两种类型的字符代表字符串,分别是 Strings 和 Unicode。默认将 Strings 以 utf-8 编码成 bytes 类型,而不是使用 unicode 编码(Python 3 已经把 String 使用 Unicode 编码,Unicode 就是 string,而 bytes 就是 bytes),且存……
Python利用sorted进行字典排序
一、排序算法 排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。 Python内置的sorted()函数就可以对list进行排序: >>&……
Python语法练习(解决各种小问题)
下面练习练习Python语法,做几个小功能。 1. 合并Nginx访问日志IP,根据访问次数降序 模拟的日志IP(实际中只需要处理一下原始日志) $ cat access.log 10.10.0.1 10.10.0.2 10.10.0.1 10.10.0.2 10.10.0.3 10.10.0.1 10.10.0.……
Python字符串操作方法
一、字符串操作 常用的 Python 字符串操作包括索引、分片、替换、删除、截取、复制、连接、比较、查找、分割等。另外 Python 2 字符串不支持国际编码,其大小为 8 bit,要想支持国际编码,需使用方法 u”content”。而在 Python 3 中默认已经支持国际编码了,不在需要使用 u 可以自动识别,其大小为 16 bit。 索引运算:key……
Python异常处理
一、异常 在程序运行过程中,总会遇到各种各样的问题和错误。有些错误是我们编写代码时自己造成的,比如语法错误、调用错误,甚至逻辑错误。还有一些错误,则是不可预料的错误,但是完全有可能发生的,比如文件不存在、磁盘空间不足、网络堵塞、系统错误等等。这些导致程序在运行过程中出现异常中断和退出的错误,我们统称为异常。大多数的异常都不会被程序处理,而是以错误信息的形式展……
Python代码调试方法
程序能一次写完并正常运行的概率很小,基本不超过1%。总会有各种各样的bug需要修正。有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,需要一整套调试程序的手段来修复bug。 一、print 第一种方法简单直接粗暴有效,就是用print()把可能有问题的变量打印出来看看: ……
Python包与模块
一、Python模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。 使用模块有什么好处? 首先,提高……
Python数据类型:字典与集合
一、字典 字典(dictionary)在其它编程语言中又称作关联数组,也是Python中唯一的映射类型,映射类型对象里哈希值(key)和指向的对象值(value)是一对多的关系。 字典类型是Python中最常用的数据类型之一,它是一个键值对的集合,字典通过键(key)来索引,关联到相对的值(value),理论上它的查询复杂度是O(1),不会随着字典大小的增加……
- 1
- 2