既要保护类的封装特性,又要让开发者可以使用“对象.属性”的方式操作操作类属性,除了使用 property() 函数,Python还提供了 @property 装饰器。通过 @property 装饰器,可以直接通过方法名来访问方法,不需要在方法名后添加一对“()”小括号。
Python之可变参数
原文地址:Python之可变参数,*参数,**参数,以及传入*参数,**参数解包,*args,**kwargs的理解
前言
*参数与**参数是Python参数中的重点知识,他们都被称为可变参数(任意参数),我们经常会在代码中看到*args、**kwargs
作为函数定义时:
1、*参数收集所有未匹配的位置参数组成一个tuple对象,局部变量args指向此tuple对象
2、**参数收集所有未匹配的关键字参数组成一个dict对象,局部变量kwargs指向此dict对象
1 | def temp(*args,**kwargs): |
Python 字典defaultdict讲解
原文地址:【Python进阶】可能是全网最详细的defaultdict讲解
1 什么是defaultdict
从名字上可以看出defaultdict
也是一个dict
,即键值对
。在讲什么是defaultdict
之前,我们先看看dict
的常规用法。
1 | # 也可以写成dict = {} |
输出结果如下:
1 | 1 |
Python 字典用法详解
原文地址:Python 字典用法详解(超全)
字典(Dictionary)是Python提供的一种常用的数据结构,由键(key)和值(value)成对组成,键和值中间以冒号:隔开,项之间用逗号隔开,整个字典由大括号{}括起来。
格式如下:
1 | dic = {key1 : value1, key2 : value2 } |
字典也被称作关联数组或哈希表。下面是几种常见的字典创建方式:
1 | # 方法1 |
字典创建的方式还有很多种,这里不再赘述。
python sorted方法原理
原文地址:python sorted方法原理,重点在key参数背后的lambda函数
首先概括的说明sorted这个内置函数的用法:
sorted函数返回一个已经排好序的元素列表,如果我们想以特定的方式进行排序,或者想对一个复杂的元素列表(例如嵌套列表或元组列表)进行排序,我们可以使用key参数。
key参数是一个可调用的匿名函数,在排序时,列表中的每一项都会调用key函数,sorted函数基于key函数返回的结果完成列表中项的排序。
lambda 关键字的使用,创建了一个可调用的匿名函数。在使用sorted函数的情况下,lambda 匿名函数只能有一个参数,并且返回一个可以比较大小的值。