Python编程中类的概念可以比作是某种类型集合的描述,如“人类”可以被看作一个类,然后用人类这个类定义出每个具体的人――你、我、他等作为其对象。类还拥有属性和功能,属性即类本身的一些特性,如人类有名字、身高和体重等属性,而具体值则会根据每个人的不同;功能则是类所能实现的行为,如人类拥有吃饭、走路和睡觉等功能。具体的形式如下:#例:类的概念class人类:名字='未命名'#成员变量def说话(内容):#成员函数print内容#成员变量赋初始值某人=人类()
系统 2019-09-27 17:47:00 1890
我们在定义Python类时,经常会看到比较好的代码中,都有__repr__和__string__,两个内部函数的定义。但是我一直很少关注它们的区别和具体应用场景。稍微做个小结。1.__foo()__在python中表示__foo__是一个私有private函数,在CookBookpp254中,解释为,该函数不会被子类的相同名称的函数重载。一般地说,类中以“下划线”开头定义的变量或者函数都是私有变量或者内部函数,区别是:1.1单下划线开始的变量或者函数表示非
系统 2019-09-27 17:46:49 1890
前言进程之间通信与线程同步是一个历久弥新的话题,对编程稍有了解应该都知道,但是细说又说不清。一方面除了工作中可能用的比较少,另一方面就是这些概念牵涉到的东西比较多,而且相对较深。网络编程,服务端编程,并发应用等都会涉及到。其开发和调试过程都不直观。由于同步通信机制的原理都是想通的,本文希通过望借助python实例来将抽象概念具体化。阅读之前可以参考之前的一篇文章:python多线程与多进程及其区别,了解一下线程和进程的创建。python多线程同步pytho
系统 2019-09-27 17:46:39 1890
开发堡垒机之前,先来学习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 1890
前言由于笔者近期的研究课题与图像后处理有关,需要通过图像处理工具对图像进行变换和处理,进而生成合适的训练图像数据。该系列文章即主要记录笔者在不同的环境下进行图像处理时常用的工具和库。在Python环境下,对图像的处理笔者主要使用Pillow库,主要操作包括对图像的读取、存储和变换等。实际应用中,Pillow中提供的Image模块适合对图像整体进行变换处理操作。注:以下介绍仅包括对应模块和函数的基础用法,故而在介绍时省略了部分参数和选项,更完备的用法和介绍可
系统 2019-09-27 17:45:53 1890
Python今年还是很火,不仅是编程语言排行榜前二,更成为互联网公司最火热的招聘职位之一。伴随而来的则是面试题目越来越全面和深入化。有的时候不是你不会,而是触及到你的工作边缘,并没有更多的使用,可是面试却需要了解。所以我结合自己的面试经历以及各大厂的面试题库,准备了170道2019年最新的Python面试题解析,很多老旧的问题已经帮你剔除,直接看这份最新的即可。让你最短时间内掌握核心知识点,更高效的搞定Python面试!点击查看全部答案:https://g
系统 2019-09-27 17:45:40 1890
目录一、Python进阶实战之三级菜单1.1面条版1.2文艺青年版一、Python进阶实战之三级菜单打印省、市、县三级菜单可返回上一级可随时退出程序1.1面条版menu={'北京':{'海淀':{'五道口':{'soho':{},'网易':{},'google':{}},'中关村':{'爱奇艺':{},'汽车之家':{},'youku':{},},'上地':{'百度':{},},},'昌平':{'沙河':{'老男孩':{},'北航':{},},'天通苑':
系统 2019-09-27 17:45:30 1890
今天用Python提取了Linux内核源代码的目录树结构,没有怎么写过脚本程序,我居然折腾了2个小时,先是如何枚举出给定目录下的所有文件和文件夹,os.walk可以实现列举,但是os.walk是只给出目录名和文件名,而没有绝对路径。使用os.path.listdir可以达到这个目的,然后是创建目录,由于当目录存在是会提示创建失败的错误,所以我先想删除所有目录,然后再创建,但是发现还是有问题,最好还是使用判断如果不存在才创建目录,存在时就不创建,贴下代码:#
系统 2019-09-27 17:38:11 1890
1.算法:(设查找的数组期间为array[low,high])(1)确定该期间的中间位置K(2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。区域确定如下:a.array[k]>T由数组的有序性可知array[k,k+1,……,high]>T;故新的区间为array[low,……,K-1]b.array[k]复制代码代码如下:#!/usr/bin/python#-*-coding:utf-8-*-def
系统 2019-09-27 17:37:51 1890
集合特点:集合对象是一组无序排列的可哈希的值:集合成员可以做字典的键,与列表和元组不同,集合无法通过数字进行索引。此外,集合中的元素不能重复。定义set()->newemptysetobjectset(iterable)->newsetobjects={0}应用:去重>>>lst1=[1,1,2,2,3,4,2]>>>list(set(lst1))[1,2,3,4]常用操作集合支持一系列标准操作,包括并集|、交集&、差集-和对称差集^子集<<=及超集>>=
系统 2019-09-27 17:37:45 1890