python
文章平均质量分 68
Myordry
大自然的搬运工和雕刻工!
机器学习,深度学习等内容持续学习中!
python,java,scala等等持续学习中!
有整理笔记的习惯,已整理很多!会陆续搬运到此博客上,欢迎大家来访!
因为很多都是很久之前整理,参考了网上很多大佬的文章但没留网页链接,所以所呈内容如有侵权等问题,请私信我,会尽快回复您!
展开
-
Python-copy()、deepcopy()、字典类型的copy的区别及解释
各种之间的区分必须要涉及到python对于数据的存储方式。 有关copy()和deepcopy,先看下面两条结论,接下来大家可以带着这两条结论进行下面的分析: (1)寻常意义的复制就是深复制,即将被复制对象完全再复制一遍作为独立的新个体单独存在。所以改变原有被复制对象不会对已经复制出来的新对象产生影响。 (2)而shallow copy并不会产生一个独立的对象单独存在,他只...原创 2018-05-15 11:38:31 · 6948 阅读 · 2 评论 -
python 解包
所谓的解包(Unpacking)实际上可以看做是去掉()的元组或者是去掉{}的字典。 解包sequencep = (4,5)x,y = pprint(x)print(y)#x=4#y=5data = ["Alice",50,91.1,(2012,12,21)]name,shares,price,date = dataprint(name)print(date)#"Alice"#...原创 2018-07-21 16:50:27 · 290 阅读 · 0 评论 -
Python-copy()与deepcopy()区别
copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式:结论:(1)我们寻常意义的复制就是深复制,即将被复制对象完全再复制一遍作为独立的新个体单独存在。所以改变原有被复制对象不会对已经复制出来的新对象产生影响。(2)而浅复制并不会产生一个独立的对象单独存在,他只是将原有的数据块打上一个新标签,所以当其中一个标签被改变的时候,数据块就会发生变化,另一个标签...原创 2018-07-21 16:55:44 · 300 阅读 · 0 评论 -
Python中的元类(metaclass)
元类是什么?如何使用元类?类对象 在理解元类之前,你需要掌握Python里的类.Python中类的概念借鉴于Smalltalk,这显得有些奇特.在大多数语言中,类就是一组用来描述如何生成一个对象的代码段。在Python中这一点仍然成立:class ObjectCreator(object): passmy_object = ObjectCreator()print...原创 2018-07-21 17:34:02 · 215 阅读 · 0 评论 -
Python判断文件是否存在的三种方法
通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块。使用os模块os模块中的os.path.exists()方法用于检验文件是否存在。判断文件是否存在import osprint(os.path.exists...原创 2018-07-21 20:57:39 · 907 阅读 · 0 评论 -
Python中的三元运算符
语法如下:a if test else b根据test的布尔值来判断返回的是a还是b;如果test为真则返回a,反之则返回b.举例:print("True" if True else "False")# Trueprint("True" if False else "False")# False...原创 2018-07-21 20:58:40 · 468 阅读 · 0 评论 -
python中的枚举
当我们需要定义常量时,一个办法是用大写变量通过整数来定义,例如月份:JAN = 1FEB = 2MAR = 3...NOV = 11DEC = 12 甚至可以通过字典,或者建立一个类,通过属性名与属性值之间的对应实现枚举的功能,但是会有如下缺点:1.枚举值可以修改2.用类定义的话,这些枚举功能的类可以被实例化3.枚举值是否重复无法检查...原创 2018-07-21 21:00:33 · 2042 阅读 · 0 评论 -
Python中join函数和os.path.join
Python中有join和os.path.join()两个函数,具体作用如下:join:连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串os.path.join(): 将多个路径组合后返回函数说明:(1)join函数语法:‘sep’.join(seq)参数说明:sep:分隔符,可以为空。seq:要连接的元素序列、字符串、元组、字典等...原创 2018-07-21 21:29:28 · 356 阅读 · 0 评论 -
Python中的random模块
Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。random.random()random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0import randomprint(random.random())# 0.15265846707832142random.uniform()...原创 2018-07-21 22:09:03 · 234 阅读 · 0 评论 -
Python 中for...esle和while...else语法
Python中的for、while循环都有一个可选的else分支(类似if语句和try语句那样),在循环迭代正常完成之后执行。换句话说,如果我们不是除正常以外的其他方式退出循环,那么else分支将被执行。也就是在循环体内没有break语句、没有return语句,或者没有异常出现。 (1)break情况下面我们来尝试在循环中执行break退出:#首先定义一个幸运数字,这样条例比较...原创 2018-07-22 17:28:45 · 716 阅读 · 0 评论 -
python 静态方法 实例方法 类方法
Python其实有3种方法,即静态方法(staticmethod),类方法(classmethod)和实例方法,如下:def foo(x): print("executing foo(%s)"%(x))class A(object): def foo(self,x): print("executing foo(%s)" % (self.x)) @classmetho...原创 2018-07-23 18:48:07 · 347 阅读 · 0 评论 -
Python的函数参数传递后 参数可变与不可变问题
首先看下面的例子:a = 1def func(a): a=2func(a)print(a)##1 a = []def func(a): a.append(1)func(a)print(a)##[1]解释如下:类型是属于对象的,而不是变量。而对象有两种,“可更改”(mutable)与“不可更改”(immutable)对象。在python中,string...原创 2018-07-23 18:41:09 · 895 阅读 · 0 评论 -
python zip()函数
zip函数的原型为:zip([iterable, …])参数iterable为可迭代的对象,并且可以有多个参数。该函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。没有参数时,它返回一个空的列表。当没有参数的时候当只有一个参数的时候当多个参数长度不同...原创 2018-07-23 18:35:24 · 324 阅读 · 0 评论 -
python的各种推导式
推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。共有三种推导,在Python2和3中都有支持:l 列表(list)推导式l 字典(dict)推导式l 集合(set)推导式1.列表推导式(1)使用[]生成list基本格式:variable = [out_exp_res for out_exp in...原创 2018-06-12 08:27:27 · 768 阅读 · 0 评论 -
Python中的 迭代对象、迭代器、生成器
容器(container)、可迭代对象(iterable)、迭代器(iterator)、生成器(generator)以及列表/集合/字典推导式(list,set,dictcomprehension)均是python中重要的概念。本文主要对容器、可迭代对象、迭代器、生成器做详细的讲解。如有不足,欢迎指正。下图显示容器、可迭代对象、迭代器、生成器之间的关系,网上截图!!!1.容器(contai...原创 2018-06-13 09:53:36 · 218 阅读 · 0 评论 -
python装饰器详解(一)---基础知识
1. Python中的函数都是对象比如:def shout(word="yes"): return word.capitalize()+"!"print(shout())# 输出 : 'Yes!'作为一个对象,你可以把它赋值给任何变量scream = shoutprint(scream())# 输出 : 'Yes!' 我们没有加括号,我们并不是调用这个函数,我们只是把函数"shout"...原创 2018-06-14 15:34:59 · 390 阅读 · 0 评论 -
python装饰器详解(二)---实现装饰器
装饰器就是把其他函数作为参数的函数def my_shiny_new_decorator(a_function_to_decorate): # 在函数里面,装饰器在运行中定义函数: 包装. # 这个函数将被包装在原始函数的外面,所以可以在原始函数之前和之后执行其他代码.. def the_wrapper_around_the_original_function(): ...原创 2018-06-14 15:49:21 · 329 阅读 · 0 评论 -
python装饰器详解(三)---装饰器高级用法
1. 在装饰器函数里传入参数def a_decorator_passing_arguments(function_to_decorate): def a_wrapper_accepting_arguments(arg1,arg2): print("Igot args Look!",arg1,arg2) function_to_decorate(arg1,arg2)...原创 2018-06-14 16:18:34 · 560 阅读 · 0 评论 -
python装饰器详解(四)---把参数传递给装饰器
因为装饰器必须接收一个函数当做参数,所以不可以直接把被装饰函数的参数传递给装饰器.装饰器就是一个普通的函数,回顾def my_decorator(func): print("I am an ordinary function") def wrapper(): print("I am function returned by thedecorator") fu...原创 2018-06-14 16:45:14 · 6405 阅读 · 1 评论 -
Python 鸭子类型
“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。” 我们并不关心对象是什么类型,到底是不是鸭子,只关心行为。 比如在python中,有很多file-like的东西,比如StringIO,GzipFile,socket。它们有很多相同的方法,我们把它们当作文件使用。 又比如list.extend()方法中,我们并不关心它的参数是不是l...原创 2018-06-15 15:39:44 · 542 阅读 · 0 评论 -
python-单例模式
单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息。如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建...原创 2018-06-16 11:12:37 · 277 阅读 · 0 评论 -
python中getattr(),hasattr(),setattr()
getattr(),hasattr(),setattr()是python实现“自省”的三个重要方法,用来访问或者检查对象属性,这些方法可以用于任意对象,python中一切都是对象。(1)hasattr(obj, attr):这个方法用于检查obj是否有一个名为attr的值的属性,返回一个布尔值。(2)getattr(obj, attr):调用这个方法将返回obj中名为attr值的属性的值,...原创 2018-06-10 11:05:38 · 329 阅读 · 0 评论 -
Python 字符串操作总结
sequence类型都支持的一些通用操作: 成员检查:in、not in 'Py' in str 'python' not in str 连接:+ str_new = str1 + str2 复制:* str ...原创 2018-07-22 17:44:12 · 1044 阅读 · 0 评论