- 浏览: 7949325 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
一 字符串
1) 字符串的索引可以是负数,比如str="hello", str[-1]=o,
2) 分片 str="hello world" str[1:]返回ello world str[:-1],返回除-1位置前的所有字符,即hello wor
str[:],返回所有字符
3)分片中的第3个限制值,步长 st="123456789" st[1:-1:2] 则只显示2,3,6,8
4) 字符串转换
字符串转数字,用int(raw_input("xxxxx"))
5) join函数
a1=['a','b','c']
print "-".join(a1);
则用-将a,b,c串起来,型成a-b-c
6)split函数
a1="a-b-c"
a1.split("-")
7)strip,去掉首个字符空格 ltrip(去除左空格) RTRIP(去除右空格)
startswith,endswith,比较字符串是否以一个字符串开始和结束
#-*-coding:UTF-8 -*-
#Python模板
print "========欢迎使用图片上传系统========";
filename=raw_input("请输入需要上传的图片路径地址:");
if filename.endswith(".gif") or filename.endswith(".jpg"):
print "%s图片格式正确,正在上传中....."%filename;
else:
print "图片格式不正确,请上传GIF或者JPG格式图片";
9) find 函数
substring.find("t"); //从左往右查
substring.rfind("t"); //从右往左查
10) translate函数
只处理单个字符的替换
先转为一个元组,再进行转换为日期
import time;
import datetime;
print time.strftime("%Y年 %m月 %d日 %X",time.localtime());
t=time.strptime("2011-3-8","%Y-%m-%d");
y,m,d=t[0:3]
print datetime.datetime(y,m,d);
输出:2012年 02月 14日 14:29:26
2011-03-08 00:00:00
二 正则表达式
1)正则表达导入 import re;
例子:
m = re.match(r"^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-zA-Z]{2,}$", text);
if m:
........................................
三 面向对象
1)self,相当于java的this,比如 def getage(self):
2) python中新建对象不用new
3) 如果函数方法及属性的名称有两个下划线开始,为私有,否则为公有属性
4)私有的属性不能被实例化对象访问,但可以用实例化对象名._类名_私有属性名访问
比如class Fly:
self.__abc='xxxx'
fly=Fly()
fly._Fly__abc
5)数据属性
class ABC:
pass
data=ABC()
data.ddddd //直接添加属性,不需要预先定义
6) 静态方法
使用staticmethod或者@staticmethod
比如abc=staticmethod(getmethod) //可以把普通方法或者私有方法转为静态方法
7) 类方法和类实例方法
比如class mysql(Object):
def abc //类实例方法
.....
@classmethod
def test
.............
mysql1=mysql();
mysql1.abc
mysql.test (OK)
mysql1.test (ok)
类的内置方法
A 构造函数 __init__
B 析构函数 __del__
C __new__ 跟__init__
new是在创建对象时被调用,__init__创建完对象后才调用
D 还有如__setitem__,__getitem__等方法,为字典方法,还有__delitem__
E 当调用==比较对象时,即调用__cmp__方法,比较两个实例
9)方法的动态性
比如class A:
pass
def today:
a.yesterday=today //将为类A新方法yesterday.
10) 继承 class class_name(要继承的父类)
在子类中使用父类的构造函数
class father:
def __init__
....................
class son(father)
father.__init__
或者使用
super(son,self).__init__
11) python中没抽象类,但可以使用notimplementederror类来模拟抽象类,让其在实例化时异常
def abstract()
raise NotImplementedError("abstract")
class abc:
def __init__(self):
if self.__class__ is abc:
abstract()
..............
abc1=abc(); //不能实例化
12) 多继承
class aaa(父类1,父类2,父类3)
13) 类的命名空间
class mynamespace:
..
def ttt(self):
mynamespace1=mynamespace()
mynamespace1.ttt()
14) 检查一个类是否另外一个类的子类
print issubclass(子类,父类)
15)检查是否某个类的实例
print isinstance(实例名,类名)
四 新式类,从object或其他内置类型衍生的类,都叫新式类。
1)_slots__属性
python新模式的class,即从object继承下来的类有一个变量是__slots__,slots的作用是阻止在实例化类时为实例分配dict,默认情况下每个类都会有一个dict,通过__dict__访问,这个dict维护了这个实例的所有属性,举例如下
class base(object):
v = 1
def __init__(self):
pass
b = base()
print b.__dict__
b.x = 2
print b.__dict__
运行:
{}
{'x':2}
可见:实例的dict只保持实例的变量,对于类的属性是不保存的,类的属性包括变量和函数。由于每次实例化一个类都要分配一个新的dict,因此存在空间的浪费,因此有了slots,当定义了slots后,slots中定义的变量变成了类的描述符,相当于java,c++中的成员变量声明,类的实例只能拥有这些个变量,而不在有dict,因此也就不能在增加新的变量
class base(object):
__slots__ = ('y')
v = 1
def __init__(self):
pass
b = base()
print b.__dict__
b.x = 2 //error,不能增加新的变量
print b.__dict__
注意,如果类的成员变量与slots中的变量同名,
class base(object):
__slots=('y',)
y = 2
v = 1
def __init__(self):
pass
b = base()
print b.__dict__
b.x = 2
b.y = 3 //read only
print b.__dict__
目前的实现是该变量被设置为readonly!!!
又如:
#!/usr/bin/env python
#_*_ coding:utf-8 _*_
class test_slot(object):
__slots__ = "width", "height"
def width(self):
print "width"
class test(object):
def amethod(self):
print "amethod"
t=tst_slot()
t.abc='123' //出错,因为abc不在slots中规定的属性!
t.width='123' //正确。
2)__getattribute__ 检查类实例的每个属性的访问,当实例的属性无论是否找到与否都执行。
class a
def __getattribute__(self,name):
if name=='test' ................
a1=a()
a1.member
a1.test //因为有test属性,所以执行
3) 描述符:包含的有__get__(),__set__()__ 和__delete()__,将某种特殊类型的类的实例指派给另外一个类的属性。
具体见:
http://caterpillar.onlyfun.net/Gossip/Python/Descriptor.html
4) __getattr__方法:
如果某个属性在类中不存在,则调用__getattr__方法。首先在__dict__中找属性名,然后在实例的属性中
1) 字符串的索引可以是负数,比如str="hello", str[-1]=o,
2) 分片 str="hello world" str[1:]返回ello world str[:-1],返回除-1位置前的所有字符,即hello wor
str[:],返回所有字符
3)分片中的第3个限制值,步长 st="123456789" st[1:-1:2] 则只显示2,3,6,8
4) 字符串转换
字符串转数字,用int(raw_input("xxxxx"))
5) join函数
a1=['a','b','c']
print "-".join(a1);
则用-将a,b,c串起来,型成a-b-c
6)split函数
a1="a-b-c"
a1.split("-")
7)strip,去掉首个字符空格 ltrip(去除左空格) RTRIP(去除右空格)
startswith,endswith,比较字符串是否以一个字符串开始和结束
#-*-coding:UTF-8 -*-
#Python模板
print "========欢迎使用图片上传系统========";
filename=raw_input("请输入需要上传的图片路径地址:");
if filename.endswith(".gif") or filename.endswith(".jpg"):
print "%s图片格式正确,正在上传中....."%filename;
else:
print "图片格式不正确,请上传GIF或者JPG格式图片";
9) find 函数
substring.find("t"); //从左往右查
substring.rfind("t"); //从右往左查
10) translate函数
只处理单个字符的替换
先转为一个元组,再进行转换为日期
import time;
import datetime;
print time.strftime("%Y年 %m月 %d日 %X",time.localtime());
t=time.strptime("2011-3-8","%Y-%m-%d");
y,m,d=t[0:3]
print datetime.datetime(y,m,d);
输出:2012年 02月 14日 14:29:26
2011-03-08 00:00:00
二 正则表达式
1)正则表达导入 import re;
例子:
m = re.match(r"^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\.)+[a-zA-Z]{2,}$", text);
if m:
........................................
三 面向对象
1)self,相当于java的this,比如 def getage(self):
2) python中新建对象不用new
3) 如果函数方法及属性的名称有两个下划线开始,为私有,否则为公有属性
4)私有的属性不能被实例化对象访问,但可以用实例化对象名._类名_私有属性名访问
比如class Fly:
self.__abc='xxxx'
fly=Fly()
fly._Fly__abc
5)数据属性
class ABC:
pass
data=ABC()
data.ddddd //直接添加属性,不需要预先定义
6) 静态方法
使用staticmethod或者@staticmethod
比如abc=staticmethod(getmethod) //可以把普通方法或者私有方法转为静态方法
7) 类方法和类实例方法
比如class mysql(Object):
def abc //类实例方法
.....
@classmethod
def test
.............
mysql1=mysql();
mysql1.abc
mysql.test (OK)
mysql1.test (ok)
类的内置方法
A 构造函数 __init__
B 析构函数 __del__
C __new__ 跟__init__
new是在创建对象时被调用,__init__创建完对象后才调用
D 还有如__setitem__,__getitem__等方法,为字典方法,还有__delitem__
E 当调用==比较对象时,即调用__cmp__方法,比较两个实例
9)方法的动态性
比如class A:
pass
def today:
a.yesterday=today //将为类A新方法yesterday.
10) 继承 class class_name(要继承的父类)
在子类中使用父类的构造函数
class father:
def __init__
....................
class son(father)
father.__init__
或者使用
super(son,self).__init__
11) python中没抽象类,但可以使用notimplementederror类来模拟抽象类,让其在实例化时异常
def abstract()
raise NotImplementedError("abstract")
class abc:
def __init__(self):
if self.__class__ is abc:
abstract()
..............
abc1=abc(); //不能实例化
12) 多继承
class aaa(父类1,父类2,父类3)
13) 类的命名空间
class mynamespace:
..
def ttt(self):
mynamespace1=mynamespace()
mynamespace1.ttt()
14) 检查一个类是否另外一个类的子类
print issubclass(子类,父类)
15)检查是否某个类的实例
print isinstance(实例名,类名)
四 新式类,从object或其他内置类型衍生的类,都叫新式类。
1)_slots__属性
python新模式的class,即从object继承下来的类有一个变量是__slots__,slots的作用是阻止在实例化类时为实例分配dict,默认情况下每个类都会有一个dict,通过__dict__访问,这个dict维护了这个实例的所有属性,举例如下
class base(object):
v = 1
def __init__(self):
pass
b = base()
print b.__dict__
b.x = 2
print b.__dict__
运行:
{}
{'x':2}
可见:实例的dict只保持实例的变量,对于类的属性是不保存的,类的属性包括变量和函数。由于每次实例化一个类都要分配一个新的dict,因此存在空间的浪费,因此有了slots,当定义了slots后,slots中定义的变量变成了类的描述符,相当于java,c++中的成员变量声明,类的实例只能拥有这些个变量,而不在有dict,因此也就不能在增加新的变量
class base(object):
__slots__ = ('y')
v = 1
def __init__(self):
pass
b = base()
print b.__dict__
b.x = 2 //error,不能增加新的变量
print b.__dict__
注意,如果类的成员变量与slots中的变量同名,
class base(object):
__slots=('y',)
y = 2
v = 1
def __init__(self):
pass
b = base()
print b.__dict__
b.x = 2
b.y = 3 //read only
print b.__dict__
目前的实现是该变量被设置为readonly!!!
又如:
#!/usr/bin/env python
#_*_ coding:utf-8 _*_
class test_slot(object):
__slots__ = "width", "height"
def width(self):
print "width"
class test(object):
def amethod(self):
print "amethod"
t=tst_slot()
t.abc='123' //出错,因为abc不在slots中规定的属性!
t.width='123' //正确。
2)__getattribute__ 检查类实例的每个属性的访问,当实例的属性无论是否找到与否都执行。
class a
def __getattribute__(self,name):
if name=='test' ................
a1=a()
a1.member
a1.test //因为有test属性,所以执行
3) 描述符:包含的有__get__(),__set__()__ 和__delete()__,将某种特殊类型的类的实例指派给另外一个类的属性。
具体见:
http://caterpillar.onlyfun.net/Gossip/Python/Descriptor.html
4) __getattr__方法:
如果某个属性在类中不存在,则调用__getattr__方法。首先在__dict__中找属性名,然后在实例的属性中
发表评论
-
python 的requests小结
2018-05-06 18:48 1101GET 请求 >>> r = request ... -
PYTHON抓取公众号
2018-04-26 08:19 27941.基于搜狗微信搜索的微信公众号爬虫 a. 项目地址:htt ... -
KMN算法初学
2018-04-16 20:04 1852KMN算法,其实就是"人以类聚,物有群分“,可以参考 ... -
jupyter 指定默认的打开路径
2018-04-16 20:03 2432jupyter notebook是挺好用的,但是老打开默认 ... -
python 爬虫小结2
2018-04-08 19:08 7011 LXML是比beautisoup速度更快的解析,使用的是X ... -
python 爬虫小结1
2018-04-05 11:53 716python 爬虫小结1 1 正则匹配中注意的: impor ... -
python3 中jupyter开发工具的几个魔法命令
2018-03-28 20:10 9061 %run myscript/hello.py 可以执 ... -
python使用beutifulsoup来爬虫的基本套路
2018-03-26 23:19 1081使用python3,比如爬kugo的榜单: import ... -
python 2的一篇不错的讲解编码的文章
2017-12-16 23:05 824https://mp.weixin.qq.com/s/ImVH ... -
scrapy3在python2,python3共存下的使用
2017-12-06 09:51 1039因为安装了PYTHON2,PYTHON3,之前的SCRAPY ... -
(转)两句话轻松掌握python最难知识点——元类
2017-10-15 20:42 877https://segmentfault.com/a/1190 ... -
python的深复制和浅复制
2017-10-12 22:34 575附上一篇不错的说PYTHON深浅复制的文: http://ww ... -
python中常见字符串操作小结
2017-10-07 23:11 614#!/usr/bin/env python #-*- codi ... -
python要点1
2017-08-18 22:06 534python要点 1 2.7下安装PIP https ... -
python学习小结3
2012-02-21 14:46 3837一 文件 1)open 函数 o=op ... -
python学习小结1
2012-02-13 11:39 51121 使用idel新建立程序后,保存运行,CTRL+F5即可运行 ...
相关推荐
图表分类ppt
资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立
BDE_Installer_for_RAD_Studio_10.2_Tokyo.7z
箭头指向中心PPT模板素材
永磁同步电机MTPA控制仿真模型和矢量控制仿真模型,模型全部自己搭建,控制策略采用离散模型仿真,仿照真实微控制器的控制,该模型采用固定的电机参数计算出电流参考值,后期会开发出电机磁饱和交叉耦合变参数的仿真模型,图一为idiq电流真实值随负载的变化的控制波形,图二为MTPA和矢量控制的电流幅值的波形对比,该模型真实度极高,电流环转速环带宽可调,响应快慢可以自己设计。
五项说明关联关系PPT素材
图表分类ppt
突出显示强调关系PPT模板素材
springboot项目基于Spring Boot的民宿租赁系统的设计与实现,含有完整的源码和报告文档
MATLAB代码:基于数据驱动的中央空调系统可控潜力评估 关键词:数据驱动 中央空调 需求响应 可控潜力评估 编程语言:matlab平台 内容简介: 代码主要做的是住宅空调负荷的可调度潜力评估,因为住宅空调负荷是一种具有一定灵活性和可控性的需求响应资源,本代码首先评估单一客户的空调可控潜力,进而发展为大规模地区的空调的需求响应潜力以及规模的评估。 采用静态和动态模型参数估计的分段分析方法,深入分析了ACLs的消费行为,并针对不同时间尺度的需求响应问题,以成本效益为目标,优化空调负荷的需求响应行为。 最后以实际的算例数据,验证了所提出方法的准确性和鲁棒性,代码出图效果极好,而且研究的问题比较全面,适合在此基础上稍加修改形成自己的成果
量产汽车VCU控制策略模型及文档+2份 两个vcu模型 第一个模型为量产项目模型,纯电动车VCU控制策略模型,包含纯电动汽车完整控制策略模块,按autosar价格建模,可以进行代码生成,详细见图片。 第二个模型:包含相关模型设计说明文档
偏移容忍度谐振补偿网络方设计方法研究 simulink仿真实现。 磁耦合谐振式无线电能传输中,相控电容式补偿方法研究 simulink仿真实现
这个饮料销售数据集是研究饮料行业的宝贵资源,它模拟了真实的销售场景,涵盖了众多关键信息。数据集包含10个主要字段,分别是订单ID、客户ID、客户类型(B2B或B2C)、产品名称、产品类别、单价、购买数量、产品折扣、折扣后的总价、客户所在地区以及订单日期。这些字段共同构成了一个全面的销售数据框架,为多维度的分析提供了可能。 从客户类型来看,B2C客户占比64%,而B2B客户占36%,且B2B客户通常能获得折扣,这一特点为分析不同客户群体的销售策略和利润贡献提供了重要依据。 在价格方面,单价和总价的分布范围相当广泛,单价从0.32到超过100不等,总价的分布也呈现出类似的广泛性,这为探究价格与销售量之间的复杂关系、定价策略的有效性等关键问题提供了丰富的数据样本。 总体而言,这个数据集为饮料行业的市场分析、销售策略制定、客户细分研究、产品定价优化以及区域市场拓展等多方面研究提供了极具价值的数据基础。它能够帮助相关企业和研究人员深入洞察饮料销售的各个环节,从而做出更加科学、合理的决策,推动饮料行业的发展。
springboot项目基于Web的课程设计选题管理系统,含有完整的源码和报告文档
TMS WEB Cor0820(中文版).docx
电力系统调度 源荷不确定性matlab 程序语言:matlab+yalmip(可适用cplex或者gurobi作为求解器) 关键词:优化调度 源荷不确定性 模糊机会约束 碳交易 内容:参照考虑源荷两侧不确定性的含风电的低碳调度,引入模糊机会约束,程序包括储能、风光、火电机组及水电机组,解决了目标函数含有分类特征的约束问题、非线性约束 目标的线性转化问题,且考虑了机组的启停时间约束,目标函数考虑运行成本、弃风弃光和碳成本。 优势:有详细的资料,程序完整性好、模块化编程、注释逻辑分明、方便学习
springboot项目基于springboot的招聘系统的设计与实现,含有完整的源码和报告文档
几行简单判断闰年平年的代码
基于微信小程序的校园疫情防控管理平台设计与实现.docx
股票因子数据,包括了13411个研究分析股票的因子