你知道【python】继承时需要注意的事项吗?
1. init 注意事项 如果父类有__init__函数,子类没有,则子类自动调用父类__init__函数 如果父类有__init__函数,子类也有,则子类必须主动调用父类__init__函数,否则会报错 class A:
def __init__(self):
self.name = "A"
def PrintName(self):
print self.name
class B(A):
de
Python特色的序列解包、链式赋值、链式比
一、序列解包 序列解包(或可迭代对象解包):解包就是从序列中取出其中的元素的过程,将一个序列(或任何可迭代对象)解包,并将得到的值存储到一系列变量中。
一般情况下要解包的序列包含的元素个数必须与你在等号左边列出的目标个数相同,否则Python将引发异常。但如果要解包序列元素个数与左边变量数不同的情况下,可使用星号运算符(*)来收集多余的值,这样无需确保值和变量的个数相同,还可将带星号的变量放在任何位置。赋值语句的右边可以是任何类型的序列,但带星号的变量最终包含的总是一个列表。在变量和
Python简化类例:实现链式写法
'''
#Python简化类例五:实现链式写法
def ClassTest5():
'''链式写法只要是类语言都可以实写,个人比较喜欢,也就顺手尝试一下'''
def p() :pass
p.x=0
p.y=0
def o():pass
def printPos():
print("当前坐标是(%d, %d)"%(p.x,p.y))
def moveLeft():
p.x-=1
用Python实现链式调用的原理
具体代码: 利用完全动态的__getattr__,我们可以写出一个链式调用: class Chain(object): def __init__(self, path=''):
self._path = path
def __getattr__(self, path):
return Chain('%s/%s' % (self._path, path))
def __str__(self):
return self
神秘而强大的Python生成器精讲
一、 生成器(generator)概念 生成器是一个特殊的迭代器,它保存的是算法,每次调用next()或send()就计算出下一个元素的值,直到计算出最后一个元素,没有更多的元素时,抛出StopIteration。生成器有两种类型,一种是生成器表达式(又称为生成器推导),一种是生成器函数。 二、 生成器表达式 生成器表达式是通过一个Python表达式语句去计算一系列数据,但生成器定义的时候数据并没有生成,而是返回一个对象,这个对象只有在需要的时候才根据表达式计算当前需要返回的数据: 生成器表达
强大的Python生成器
Python的生成器是个很强大的东西,特别是在python3.0版本以后。以最简单的方式让大家快速理解生成器。 1、正常的写法 来看个例子,比如输出一个自定义长度的列表一般这么写: 这里传入的参数时10,所以会得到一个包含10个元素的列表: 那当我传入的是10W的时候,那生成的这个列表就很大了,也占内存,运行脚本也占cpu。 2、改良后写法 改良一下代码,把他写成一个迭代的类: 这里面self.b就记录了每次执行next方法的位置,知道每次是第几次执行next方法,所以执行保证了每次输出的是期
玩转Jetson Nano之安装pytorch
我一直以为Jetson Nano预装了torch,结果今天一import露怯了,那就安装一下吧。 其实一点都不难装,难的是需要翻墙而已。 wget https://nvidia.box.com/shared/static/j2dn48btaxosqp0zremqqm8pjelriyvs.whl -O torch-1.1.0-cp36-cp36m-linux_aarch64.whl sudo pip3 install torch-1.1.0-cp36-cp36m-linux_aarch64.
创建conda虚拟环境报错
RemoveError: ‘requests’ is a dependency of conda and cannot be removed from conda’s operating environment 已经安装有conda环境,在希望创建新的虚拟环境、克隆环境、安装包等操作时候,出现如标题的报错。 原因:'requests’包是用pip 安装的或者采用python setup.py install进行安装时候所引起,而如果再用canda 安装其他有关包时便会触发此错误,可以使用con
小猿圈SQL之UNION与UNION ALL的区别
有很多朋友对union和union all两者搞不明白,那两者的区别是什么呢?小猿圈加加详细说一下针对两者的区别,对这个有疑惑的朋友们,跟着小编往下走。 UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复 1、UNION 的语法如下: [SQL 语句 1] UNION [SQL 语句 2] 2、UNION ALL 的语法如下: [SQL 语句 1] UNION ALL [SQL 语句 2] 效率: UNION和UNION AL
小猿圈MySQL之字符串拼接
很多人用数据库喜欢用mysql,但是用mysql实现字符串的拼接很多人还没用过吧,小猿圈今天就为大家讲一课,让大家见识一下世面,用起来。 在Mysql 数据库中存在两种字符串连接操作.具体操作如下 1. CONCAT(string1,string2,…) 说明 : string1,string2代表字符串,concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL. select a.USERCODE,a.USERNAME, CONCAT(a.USERNAME , '('
小猿圈python之内置方法new
学习python的朋友们都知道python有很多内置方法,正因为有这些内置方法才让python学起来很容易,用起来很方便,小猿圈今天详细描述一个方法__new__,这个方法功能很强大的,一起来看一下吧。 class Dog(object):
def __new__(self):
print("i am new .")
def __init__(self):
print("i am init
小猿圈之初级运维工程师面试题
现在很多人走向运维之路,运维的发展前景也是很不错的,面试前应该做哪些准备呢?小猿圈加加总结了一些面试题,准备面试的朋友们可以做一下。 1、apache有几种工作模式,分别简述两种工作模式及其优缺点? apache主要有两种工作模式:prefork(apache的默认安装模式)和worker(可以在编译的时候添加–with-mpm=worker选项) prefork的特点是:(预派生) 1.这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销 2.可以防止意外的内存泄漏 3.在服务器负
小猿圈java之spring编码过滤器
SP页面和JAVA代码中使用了不同的字符集进行编码的时候就会出现表单提交的数据或者上传/下载中文名称文件出现乱码的问题,针对这个问题,小猿圈老师给出了解决方法,有这个问题的朋友们,过来看一下吧。 web.xml中增加spring编码过滤器: <!-- spring编码过滤器-->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframewor
小猿圈java之基本数据类型(内置数据类型)
学好java,基本的数据类型必须熟练,就好比想学好英文、单词和词汇必须要掌握一样,可见它的重要性,那小猿圈加加这篇就详解一下,希望能帮助大家。 变量就是申请内存来存储值。也就是说,当创建变量的时候,需要在内存中申请空间。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据。 因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。Java 的两大数据类型: 内置数据类型 引用数据类型 今天小猿圈讲一下内置数据类型: Java语言提供了八种基本类型。六种数字类
小猿圈之docker快速搭建http代理小技巧
docker现在被大家所喜爱,那怎么利用docker快速搭建http代理呢,小猿圈今天把这个小技巧传授给大家,一般那人可不告诉哦! 不多说,一行搞定: docker run -d -p 3128:3128 minimum2scp/squid 这就完了?这么简单吗? 没毛病,测试的时候用下面两行也就搞定: export http_proxy=http://127.0.0.1:3128
curl http://example.com/ 很简单就可以搞定,如果想用这个搭建http代理的,可以自己测
小猿圈Mysql之多表查询
Mysql多表查询刚学数据库的朋友们,感觉涉及到一个表还好说,多表的话就感觉有点复杂了,小猿圈这篇详解一下mysql数据库的多表查询,希望朋友们在我这学到别的文章学不到的东西。 多表查询 mysql支持的a是SQL99标准的连接查询,并不支持oracle公司的外连接查询, 但是支持oracle等值查询,不等值查询,自连接查询,子查询(只要不是外连接(+)都支持) oracle也支持SQL99标准的连接查询 内连接 --等值查询
select e.empno,e.ename,e.sal,d.d
小猿圈python之排序练习
排序在哪门语言都很普遍,今天分享一个经典的排序练习题的解法,用常规解法和简单解法说这个排序练习,感兴趣的同学来看一下,小猿圈加加详细给你说来。 问题:输入三个整数x,y,z,请把这三个数由小到大输出。 程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。 解法一:sort()方法 代码: l = []
for i in range(3):
x = int(raw_in
小猿圈Python之实现京东秒杀功能技巧
现在电商盛起,活动页面一个接着一个,一般都是抢购、秒杀,看着很刺激吧,这篇文章小猿圈加加就揭开这些秒杀功能的面纱,带你们看看实际的面貌,让我们学习一下代码吧。 #Python3.5
#coding:utf-8
#import scrapy
from selenium import webdriver
import time
import datetime
driver = webdriver.Firefox()
driver.get('https:www.jd.com/')
c
小猿圈之探究自学Java的放弃的原因
自学it是无趣的,往往很多自学的人都没坚持下来,真的是java难学吗?其实不然,导致他们放弃的外在因素致使其中的一小部分,自身的原因占很大一部分,小猿圈针对这个情况总结一下原因吧,看看你有没有中招。 目前来讲市场上需要的Java人员非常多,而且按照现在的势头,以后会需要更多的Java开发人员,理由是以后每个人公司都会有自己的网站,有自己的开发部,对于用户体验看的非常重要。所以Java程序员就会很吃香。随时时间的推移,企业对于Java开发者的要求也在不断提高,互联网公司注重效率,所以不会培养新人
今日推荐
周排行