- 军军小站|张军博客
搜索到与相关的文章
Python

基于Python __dict__与dir()的区别详解

Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。__dict__与dir()的区别:dir()是一个函数,返回的是list;__dict__是一个字典,键为属性名,值为属性值;dir()用来寻找一个对象的所有属性,包括__dict__中的属性,__dict__是dir()的子集;并不是所有对象都拥有__dict__属性。许多内建类型就没有__dict__属性,如list,此时就需要用dir()来

系统 2019-09-27 17:48:14 1876

Python

Python包、模块、类以及遇到的问题

最近敲代码的时候主要遇到两大问题,第一个是构造自己包的时候找不到package。构造自己package谈两条经验,有助于解决这个问题。1自己构造包的名称尽量不要和Python自带的包重名,起的名字个性化一点。要不然出的bug都不知道错在哪2只要打算把这个文件夹当成一个包,就一定要在这个文件夹同一目录下新建一个__init__.py文件(内容可以为空)一般来说注意这两点,构建包就不成问题。在包的文件夹里面的.py文件称之为模块(文件名就是模块名),当然包里也

系统 2019-09-27 17:48:06 1876

Python

Python 字符串类型列表转换成真正列表类型过程解析

我们在写代码的过程中,会经常使用到for循环,去循环列表,那么如果我们拿到一个类型为str的列表,对它进行for循环,结果看下面的代码和图:str_list=str(['a','b','c'])forrowinstr_list:print(row)结果:Python字符串类型列表转换成真正列表类型那么for循环就把str类型的列表的每一个字符都一个一个的循环的打印出来,而这个结果并不是我们想要的,那么如何解决这个问题?,使用到第三方模块,看下面的代码fro

系统 2019-09-27 17:47:49 1876

Python

字符流中第一个不重复的字符 python实现

题目描述请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。输出描述:如果当前字符流没有存在出现一次的字符,返回#字符。思路用两个列表,一个用来保存所有的字符,一个用来保存只出现一次的字符,算法#-*-coding:utf-8-*-classSolution:#返回对应chardef__init__

系统 2019-09-27 17:47:35 1876

Python

python 装饰器做缓存

使用装python饰器做缓存装饰器在之前的文章中有讲过,这里主要是说了装饰器的用法和应该怎么理解。这片文章给出一片补充:主要说在缓存方面的应用。在此之前呢,需要补充一些知识点:就是python查找变量的顺序是什么?答案就是LEGB原则:也就是`Local->Enclosed->Global->Built-in`也就是先在局部作用域内(例如函数内)进行查找,然后在[闭包]1内查找,接下来分别是全局作用域和内置的保留名称注意:闭包内的变量,不能改变,但是对于列

系统 2019-09-27 17:47:18 1876

Python

经验拾忆(纯手工)=> Python正则全解详解

预编译importrere1=re.compile(r'元字符组成的正则规则')#元字符下面会说re1.方法()#方法下边也会说元字符:表示普通字符:.#除了\n外都可以匹配的到\d#只匹配纯数字0-9\D#和\d相反,除了数字全都匹配\s#只匹配空格\S#和\s相反,除了空格,全都匹配#我喜欢用[\s\S]*?匹配所有\w#只匹配纯数字或大小写字母或下划线\W#与\w恰好相反,除了纯数字、大小写字母、下划线全都匹配[]#[abcde]只要包含这个列表的字

系统 2019-09-27 17:46:42 1876

Python

python做中学(五)多线程的用法

多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须

系统 2019-09-27 17:46:37 1876

Python

python for循环赋值方法

背景写代码的时候,你会发现你的代码越写越多。然而,功能需要也越来越多,然后你的冗余代码就多得不能再多了~~~怎么办,我太难了。那就寻求一些高级写法,一般的高级写法都是尽可能地短。另外,把重复的代码抽取出来,封装成函数,每次使用直接调函数即可。For循环赋值前提条件:我创建了一个road类,这个类里面有这些属性。我先初始化给road赋值,然后再把这些对象放到roadObjList集合里面。目标:从roadObjList集合里面取出每个road对象的objec

系统 2019-09-27 17:46:11 1876

Python

跟老齐学Python之编写类之二方法

数据流转过程除了在类中可以写这种函数之外,在类中还可以写别的函数,延续上一讲的例子:复制代码代码如下:#!/usr/bin/envpython#coding:utf-8classPerson:def__init__(self,name,lang="golang",website="www.google.com"):self.name=nameself.lang=langself.website=websiteself.email="qiwsir@gmail

系统 2019-09-27 17:46:02 1876

Python

Python paramiko模块(实现ssh)

开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作安装paramiko模块pip3installparamiko基于用户密码方式importparamiko#创建SSH对象ssh=paramiko.SSHClient()#允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#连接服务器ssh.c

系统 2019-09-27 17:45:58 1876