动态

python类和实例动态添加属性和方法

匿名 (未验证) 提交于 2019-12-02 22:51:30
from types import MethodType # python 是一门动态类型的语言,所以他可以给类和实例动态添加属性和方法# 但是注意:给实例动态添加的方法只对该实例有效,对其他实例无效# 但是给类添加的方法对该类生成的实例都有效class Student(object): passs=Student()s.name="zrs" # 给类添加动态属性s.age=22print(s.name)print(s.age)def set_age(self,age): self.age=age return self.age# 第一个参数是需要添加的方法,第二个参数是实例名s.set_age=MethodType(set_age,s) # 使用该函数可以给类添加或者实例添加方法print(s.set_age(25))def set_name(self,name): self.name=name# 给类动态添加方法Student.set_name=set_names1=Student()s1.name="zhognrongshun"s1.age=22s1.set_name("666")print(s1.name)# 动态语言可以动态添加属性和方法是好事# 但是有时候必须限制实例添加属性的时候怎么办了?class Student2(object): __slots__ = (

Python之函数(二)函数的动态参数

匿名 (未验证) 提交于 2019-12-02 22:51:30
动态位置参数(*args 备注 args可以随意改,不是固定的) def func ( a , b ,* args ):# * args 是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合 print ( a , b , args )# args 接受 多个参数存储类型为元组 func ( 1 , 2 , 3 , 4 , 5 ) #结果为: 1 2 (3,4,5) def func ( a , b ,* args ):#* args 是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合 print ( a , b , args ) func ( 1 , 2 , 3 ) #结果为: 1 2 3 def func ( a , b ,* args ):#* args 是万能(接受任意多个)的位置参数 *在函数定义的时候叫做聚合 print ( a , b ,* args )# * 打散 func ( 1 , 2 , 3 , 4 ) #结果为 1 2 3 4 #优先级: 位置参数 >动态位置参数 > 默认参数 def func ( a , b ,* args , c = 1 , d = 2 ): print ( a , b , c , d ,* args ) func ( 1 , 2 , 3 , 4 , c = 4 )#如果要修改默认参数 必须参数名一致 否则改不了

变量的存储和作用域

北城以北 提交于 2019-12-02 22:44:01
初始化和赋值的区别是什么? 初始化:声明变量的时候同时赋值,声明的时候会划出新的内存区域,同时 赋值: 变量的储存方式:静态储存和动态储存. 静态存储:变量定义的时候,分配了一定的内存单元,在整个程序中,内存单元都不变.只能初始化一次,可以多次赋值,静态存储变量不初始化则初始为0. 动态存储:程序执行过程中才分配内存单元,使用完后就释放,如形参.函数的形式参数就是动态存储方式,声明函数的时候不给它分配内存单元.调用的时候传入实参,就分配内存单元,然后函数执行完后,就释放内存.动态存储变量若不初始化,则初始值为一个随机数. 怎么声明变量的存储方式? 全局变量包括全局变量和静态全局变量,都是静态存储,因此未初始值未0,静态局部变量是静态存储,只有动态局部变量是动态存储. 加上static前缀就是静态存储变量,如 static int a = 0; 不加static前缀默认就是动态存储变量,如 int b = 1; (如果是全局变量则于是静态存储.) 内存存储空间的分配: 动态存储区域:即存储用动态存储方式的变量的内存区域,如函数形参,没有加static前缀的局部变量(即动态局部变量),函数返回地址 静态存储区域:即存储用静态存储方式的变量的内存区域,如全局变量,静态全局变量.(没有动态全局变量) 程序区:存放程序语句. 变量的作用域:局部和全局. 全局变量:在所有函数外定义(包含主函数

Ajax介绍

空扰寡人 提交于 2019-12-02 22:27:09
前端相关的技术点: html(html5) 主要用来实现页面的排版布局 css(css3) 主要用来实现页面的样式美化 JavaScript(jQuery) 主要用来实现前端功能特效 采用上面的这些技术开发的页面和前端特效脚本需要放到服务器才能够对外提供服务,才能够让互联网上的网友看到。 客户端与服务器 本质上都是计算机,只不过样子不同,配置不同,应用场景不同(安装的应用软件不同) 客户端主要用于普通上网用户 服务器主要给上网用户提供后台服务 网络相关概念 IP地址(唯一的确定互联网上的一台计算机) 域名 IP地址的别名,方便记忆 DNS 用于维护IP地址与域名的关系 端口 用来确定计算机上的网络应用程序 通信协议理解 通信双方约定的规则 http/https 超为本传输协议 ftp 文件传输协议 smpt/pop3 邮件收发协议 ...... 搭建服务器环境 wamp集成环境介绍 windows 操作系统 Apache 提供静态资源服务(html页面、js文件、css文件、图片。。。) MySQL 数据库 php 编程语言,可以用来开发网站 wamp的安装配置 参见详细文档 网站 网站由一系列页面组成(页面由js、css、图片、html标签。。。所有的这些文件都被称为资源) 静态网站 就是提前写好的html页面(包括图片、媒体文件。。。静态资源文件),并且部署到服务器上

vue中图片动态加载

女生的网名这么多〃 提交于 2019-12-02 22:22:05
assets: 在项目编译的过程中会被webpack处理解析为模块依赖,只支持相对路径的形式,如< img src=”./logo.png”>和background:url(./logo.png),”./logo.png”是相对资源路径,将有webpack解析为模块依赖 用js动态加载assets或者本文件的图片出现404的状态码 var html = '<div class="nodata"><img src="../../../../assets/images/nodata.png" /></div>'; _document.getElementById("PartyActivity").innerHTML = html; 原因:在webpack中会将图片图片来当做模块来用,因为是动态加载的,所以url-loader将无法解析图片地址,然后npm run dev 或者npm run build之后导致路径没有被加工【被webpack解析到的路径都会被解析为/static/img/[filename].png,完整地址为localhost:8080/static/img/[filename].png】 解决办法: data() { return { imgsrc: require("../../../../assets/images/nodata.png"),/

【先更!!】爬虫之动态网站~~爬图片辣(也是我的第二个python爬虫emmmm

匿名 (未验证) 提交于 2019-12-02 22:11:45
1. urllib库是python内置的,无需我们额外安装,只要安装了Python就可以使用。 2. requests库:这是一个很强大的第三方库,很好用呐~所以我们用它来获取网页的HTML信息。 在cmd中使用如下指令安装requests 或者 requests的官方中文教程地址: http://docs.python-requests.org/zh_CN/latest/user/quickstart.html 感兴趣的宝贝儿可以去看看 3.BeautifulSoup库:一款优秀的HTML/XML解析库,用来做爬虫,不用考虑编码,很强大很好用 安装方法和requests类似,同样官方中文教程: https://beautifulsoup.readthedocs.io/zh_CN/latest/ 4.Fidder工具:这是一个用来抓包的软件,能够截获所有的HTTP通讯。一般网站都会有反爬机制,我们用这个软件来分析网页,或者在爬取动态网站时,也要用这个软件来分析网页,找到他的JavaScript脚本!!......等 下载地址: https://www.telerik.com/fiddler 用的话,也蛮简单哒! 在安装之后需要改下配置:tools--->options--->https,不然的话,抓到的好多网页都显示加密! 爬虫的辅助工具还有很多,而在这块,我们暂时只用到了这几个