一、可变对象与非可变对象想要理解浅拷贝与深拷贝就必须得先明白可变对象与非可变对象。可变对象有:list,dict,set不可变对象有:int,float,bool,str,tuple。两者区别:对于可变对象,其值改变是在原地址上操作,不会创建新的内存地址。对于不可变对象其值改变是直接创建新的内存地址。二、赋值操作符‘=’表示对象的引用。python里面的赋值操作符‘=’实际上是对象的引用,其并没有进行复制操作。如果如果赋值操作符右边的操作数是字面值,比如字
系统 2019-09-27 17:46:11 1979
安装SDK:pipinstallbaidu-aip如果在pycharm里也可以在setting----ProjectInterpreter---右边绿色加号,输入baidu,安装baidu-aip入门代码:先去百度AI开放平台注册一个账号,然后开通人脸识别,免费的http://ai.baidu.com/tech/face之后把得到的Apikeysecretkey填进去。fromaipimportAipFace"""你的APPIDAKSK"""APP_ID=
系统 2019-09-27 17:45:59 1979
在任何编程语言中,函数的应用主要出于以下两种情况:1.代码块重复,这时候必须考虑用到函数,降低程序的冗余度2.代码块复杂,这时候可以考虑用到函数,增强程序的可读性当流程足够繁杂时,就要考虑函数,及如何将函数组合在一起。在Python中做函数设计,主要考虑到函数大小、聚合性、耦合性三个方面,这三者应该归结于规划与设计的范畴。高内聚、低耦合则是任何语言函数设计的总体原则。1.如何将任务分解成更有针对性的函数从而导致了聚合性2.如何设计函数间的通信则又涉及到耦合
系统 2019-09-27 17:45:56 1979
在python的lib目录里有一个:this.py,它其实是隐藏着一首诗,源码如下:复制代码代码如下:s="""GurMrabsClguba,olGvzCrgrefOrnhgvshyvforggregunahtyl.Rkcyvpvgvforggregunavzcyvpvg.Fvzcyrvforggregunapbzcyrk.Pbzcyrkvforggregunapbzcyvpngrq.Syngvforggregunaarfgrq.Fcnefrvforggr
系统 2019-09-27 17:38:46 1979
如果某类里没有__init__方法函数,通过类名字创建的实例对象为空,切没有初始化;如果有此方法函数,通常作为类的第一个方法函数,有点像C++等语言里的构造函数。classCa:def__init__(self,v):#注意前后各两个下划线self.name=vdefpr(self):print"a--->",self.nameia=Ca("Jeapedu")#本质调用的是__init__方法函数ia.pr()Ca.pr(ia)输出结果a--->Jeape
系统 2019-09-27 17:38:41 1979
Pythonsocket网络编程初学python,前段时间买了两本书《python编程从入门到实践》《Python核心编程第三版》,第一本书主要讲的是一些基本语法和一些基本的使用方法,而第二本则深入很多,自己看来也是一知半解,刚好看到了这部分网络编程,依然有好多不太理解的地方,不过想来通过自己不断的摸索,不断地搜寻资料学习,早晚应该会变得通透吧.......这部分主要使用的模块就是socket模块,在这个模块中可以找到socket()函数,该函数用于创建套
系统 2019-09-27 17:38:34 1979
myPhoneBook2.py#!/usr/bin/python#-*-coding:utf-8-*-importreclassPhoneBook(object):'''这是一个电话簿脚本。该脚本能够实现AddContact:添加联系人信息ShowContact:查找姓名显示联系人SaveContacts:存储联系人到TXT文档(存储格式――姓名:号码/号码)LoadContacts:从txt文档中载入联系人'''def__init__(self):sel
系统 2019-09-27 17:38:30 1979
1、python多进程编程背景python中的多进程最大的好处就是充分利用多核cpu的资源,不像python中的多线程,受制于GIL的限制,从而只能进行cpu分配,在python的多进程中,适合于所有的场合,基本上能用多线程的,那么基本上就能用多进程。在进行多进程编程的时候,其实和多线程差不多,在多线程的包threading中,存在一个线程类Thread,在其中有三种方法来创建一个线程,启动线程,其实在多进程编程中,存在一个进程类Process,也可以使用
系统 2019-09-27 17:38:21 1979
我们都知道并发(不是并行)编程目前有四种方式,多进程,多线程,异步,和协程。多进程编程在python中有类似C的os.fork,当然还有更高层封装的multiprocessing标准库,在之前写过的python高可用程序设计方法中提供了类似nginx中masterprocess和workerprocess间信号处理的方式,保证了业务进程的退出可以被主进程感知。多线程编程python中有Thread和threading,在linux下所谓的线程,实际上是LW
系统 2019-09-27 17:38:17 1979
JSON编码支持的基本数据类型为None,bool,int,float和str,以及包含这些类型数据的lists,tuples和dictionaries。对于dictionaries,keys需要是字符串类型(字典中任何非字符串类型的key在编码时会先转换为字符串)。为了遵循JSON规范,你应该只编码Python的lists和dictionaries。而且,在web应用程序中,顶层对象被编码为一个字典是一个标准做法。JSON编码的格式对于Python语法而
系统 2019-09-27 17:38:14 1979