Python基本
文章平均质量分 51
Ctrl+Alt+L
Reinforcement learning about meta, robot and safty.
展开
-
9_Python进阶_slot用法
在Python中,每个类都有实例属性。默认情况下Python用⼀个字典来保存⼀个对象的实例属性,允许我们在运⾏时去设置任意的新属性。对于有着已知属性的小类来说,这个字典浪费了很多内存。Python不能在对象创建时直接分配⼀个固定量的内存来保存所有的属性。创建许多对象(千万级别),会消耗掉很多内存。不过还是有⼀个⽅法来规避这个问题。这个⽅法需要使⽤__slots__来告诉Python不要使用字典,⽽且只给⼀个固定集合的属性分配空间。后者的写法会减小40%左右的内存空间。...原创 2022-07-02 16:01:48 · 430 阅读 · 0 评论 -
8_Python进阶_对象变动(Mutation)
⼀个变量赋值为另⼀个可变类型的变量时,对这个数据的任意改动会同时反映到这两个变量上去。这是是对象可变性(mutability)。在Python中当函数被定义时,多次调用函数时候,默认参数只会运算⼀次,⽽不是每次被调⽤时都会重新运算。实例1:对象变动让后面的变化覆盖前面的了。输出结果如下。实例2:默认参数不会发生变化。输出结果如下。实例3:想让默认参数发生变化。输出结果是。可见,与前者不一样了,每次都更新列表。...原创 2022-07-02 15:42:59 · 310 阅读 · 0 评论 -
7_Python进阶_Global和Return
return的作用:将函数的执行结果传递给赋值的变量。当想在函数外部调用函数内的变量的时候,就需要在变量前面加global。在实际的编程时,尽量避开global关键字,因为它引⼊了多余的变量到全局作⽤域了。结果显而易见,res2能被调用,res1不能被调用。......原创 2022-07-02 15:15:02 · 342 阅读 · 0 评论 -
6_Python进阶_装饰器
装饰器(Decorators)是Python的⼀个重要部分。装饰器是修改其他函数的功能的函数。返回的结果是如下。在Python中可以将一个函数赋给一个变量,如下所示。变量=函数名,可以用这个变量加上括号,使它具有函数功能;变量=函数名,相当于“复制”原来的函数的内容给现在的变量,形成新的“函数”。当删除旧函数时,变量无影响。变量=函数名+括号,变量实际就是函数的返回值;在函数中定义函数我们可以创建嵌套的函数。返回的结果是如下。但是无法调用函数里面的函数。在函数中返回函数返回的原创 2022-07-02 14:04:31 · 101 阅读 · 0 评论 -
5_Python进阶_set数据结构
set本身是一个集合的意思。根据数学关于集合的定义可知,set里面的数据不能是重复的。实例:检查列表中包含重复的元素。输出结果是:可见,用循环的方法检查列表中重复元素比较麻烦。当采用set数据结构时候,会简洁一些。输出结果是:set数据结构也和数学上的集合类似,也有交集和差集操作。交集:两个集合中都有的数据。差集:⽤⼀个集合减去另⼀个集合的数据。输出结果是:可见,set.intersection()方法查找交集。可见,set.difference()方法查找差集。set的创建:既可原创 2022-06-24 15:02:32 · 286 阅读 · 0 评论 -
4_Python进阶_map/Filter/Reduce三者的用法
map会将⼀个函数映射到⼀个输⼊列表的所有元素上。相当于批量输入收集批量输出。⼤多数时候,使⽤匿名函数(lambda)来配合map。进行简化甚至可以批量输入一系列的函数。输出是一组列表:注意在python2中map直接返回列表;在python3中返回迭代器;为了兼容python3, 需要list转换⼀下;filter过滤列表中的元素filter返回⼀个由所有符合要求的元素所构成的列表符合要求:函数映射到该元素时返回值为Truefilter类似于⼀个for循环,但它是⼀个内置函数,并且原创 2022-06-24 00:03:20 · 61 阅读 · 0 评论 -
3_Python进阶_生成器Generators
参考书目:《intermediate Python》原书地址文章目录前言一、可迭代对象二、迭代器三、迭代四、生成器(1)基本概念(2)next()函数(3)生成器使用场景(4)可以迭代的数据类型举例前言首先介绍可迭代对象、迭代器和迭代三个概念。然后介绍生成器。提示:以下是本篇文章正文内容,下面案例可供参考一、可迭代对象可迭代对象就是能提供迭代器的任意对象。定义了可以返回⼀个迭代器的__iter__方法定义了可以支持下标索引的__getitem__方法满足以上其中一点的,都可以.原创 2022-03-20 17:22:42 · 503 阅读 · 0 评论 -
2_Python进阶_利用pdb库调试
参考书目:《intermediate Python》原书地址文章目录前言一、从命令行运行调试二、从脚本运行调试1.使用pdb.set_trace()方法来实现。2.debugger模式下的一些命令参考网站前言本篇主要讲述利用pdb库进行Python调试的方法。一、从命令行运行调试$ python -m pdb my_script.py这会触发debugger在脚本第一行指令处停止执行。二、从脚本运行调试1.使用pdb.set_trace()方法来实现。代码如下:import p.原创 2022-03-18 11:00:30 · 575 阅读 · 0 评论 -
1_Python进阶_*args和**kwargs的使用
参考书目:《intermediate Python》原书地址*args 和 **kwargs 主要⽤于函数定义。作用:将一个不定数量的参数传递给函数。场景:让用户自己一次性传递多个参数给函数,且不限制数量*args:接受用户发送的 非键值对的可变数量的参数列表**kwargs:接受用户发送的 键值对的可变数量的参数列表*args例子:def test_args(a,*args): print("这是一个确定的输入参数:{}。".format(a)) print("接下来是不.原创 2022-03-18 10:34:52 · 325 阅读 · 0 评论