售前客服
即刻响应,有问必答售后客服
永久免费售后服务太阳大客户经理
15252125410
文章列表
带你了解Python中metaclass实现
目前,身边越来越多的朋友都再学习Python,今天就给大家分享一下有关Python中metaclass方式实现。 """1.类由type创建,创建类时,type的__init__方法自动执行,类() 执行type的 __call__方法(类的__new__方法,类的__init__方法)2.对象由类创建,创建对象时,类的__init__方法自动执行,对象()执行类的 __call__ 方法"""例子: class Foo: def __init__(self): pass def __call__(self, *args, **kwargs): pass obj = Foo()# 执行type的 __call__ 方法,调用 Foo类(是type的对象)的 __new__方法,用于创建对象,然后调用 Foo类(是type的对象)的 __init__方法,用于对对象初始化。 obj() # 执行Foo的 __call__ 方法 以上就是关于Python中metaclass方式实现的全部内容了,希望能够帮助到大家更好的学习Python。文章部分内容源于网络,联系侵删*
带你了解Python的控制语句
说到Python,相信大家都很熟悉,今天就给大家详细介绍下Python控制语句。 if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。 for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。 while语句,当条件为真时,循环运行语句块。 try语句,与except,finally配合使用处理在程序运行中出现的异常情况。 class语句,用于定义类型。 def语句,用于定义函数和类型的方法。 pass语句,表示此行为空,不运行任何操作。 assert语句,用于程序调试阶段时测试运行条件是否满足。 with语句,Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加密,然后在语句块运行退出后解密。 yield语句,在迭代器函数内使用,用于返回一个元素。自从Python 2.5版本以后。这个语句变成一个运算符。 raise语句,制造一个错误。 import语句,导入一个模块或包。 from import语句,从包导入模块或从模块导入某个对象。 import as语句,将导入的对象赋值给一个变量。 in语句,判断一个对象是否在一个字符串/列表/元组里。 以上就是关于Python控制语句的相关介绍了,希望能够给大家带来帮助。文章部分内容源于网络联系侵删*
python如何读写txt文件
今天给大家分享的时 python如何读写txt文件,主要有以下几种方式。一、读写模式:w:向文件中写入内容,w会清空原来文本内容a:向文件中追加内容r:从文件中读取内容wb:以二进制形式写入内容。rb:以二进制形式读文件内容ab:以二进制形式追加内容a+、r+、w+:混合形式,即可读可写二、读方法一: 方法二: 三、写方法一: 方法二: 以上就是关于python读写txt文件的相关方法了,希望能够给大家带来帮助。文章部分内容源于网络,联系侵删*
小白收藏 | 教你用 python绘制双y轴图形
今天用Python做个好玩的项目,利用Python绘制双y轴图形。 import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.font_manager import FontPropertiesimport datetime # 此设置为使图形能显示带特殊格式的字符plt.rcParams['axes.unicode_minus'] = False # 构建虚拟数据"""x轴为日期左y轴为y1,y2右y轴为 y1-y2 及其均值"""date = [(datetime.datetime.strptime("2019-12-08 00:00:00","%Y-%m-%d %H:%M:%S") + datetime.timedelta(days=i)).strftime("%Y-%m-%d%H:%M:%S")[:10] for i in range(300)]x = np.arange(300)x_ticks = [int(i) for i in np.linspace(0, (x.shape[0] - 1), 5)]y1 = np.random.randn(300) *2 + 75y2 = np.random.randn(300) *2 + 70# 设置字体font = FontProperties(fname="C:\Windows\Fonts\simsun.ttc", size=30)figure = plt.figure(figsize=[30, 16], dpi=72)ax1 = figure.add_subplot(111)fig1 = ax1.plot(x, y1, color="c", label="y1")fig2 = ax1.plot(x, y2, color="b", label="y2")plt.yticks(fontproperties=font)plt.xlabel("date", fontproperties=FontProperties(fname="C:\Windows\Fonts\simsun.ttc", size=45))plt.xticks(x_ticks, date, fontproperties=FontProperties(fname="C:\Windows\Fonts\simsun.ttc", size=30), rotation=15)ax1.set_ylim(40, 83)ax1.set_ylabel("y", fontproperties=FontProperties(fname="C:\Windows\Fonts\simsun.ttc", size=45))ax2 = ax1.twinx()fig3 = ax2.plot(x, y1-y2, color="m", label="y1-y2")fig4 = ax2.plot(x, [(y1-y2).mean()] * (x.shape[0]), color="g", linestyle="--", linewidth=5, label="mean of y1-y2")ax2.set_ylim(-5, 40)ax2.set_ylabel("y1-y2", fontproperties=FontProperties(fname="C:\Windows\Fonts\simsun.ttc", size=45))plt.yticks(fontproperties=font)# 显示均值ax2.text(x.shape[0], (y1-y2).mean() - 0.1, str((y1-y2).mean())[:4], fontdict={"size": 30, "color": "g"})# 设置图列legends = fig1 + fig2 + fig3 + fig4labels = [l.get_label() for l in legends]plt.legend(legends, labels, prop=font, loc=(0.8, 0.4))plt.show() 效果图: 大家在敲打的时候一定要仔细检查代码是否完整,以免画得奇形怪状。关于Python的有趣小项目,后续将持续更新,记得关注收藏哦~文章部分内容源于网络,联系侵删*
如何创建Python集合
集合是没有value的字典,集合的存储是无序的,今天就给大家分享一下如何创建Python集合。 # 集合的value不能重复s = {2, 3, 4, 5, 2, 4} print(s) # {2,3,4,5}# set()函数 s1 = set(range(6)) print(s1) # set([0, 1, 2, 3, 4, 5])s2 = set([1,2,3,5,6,4,3])print(s2) # set([1, 2, 3, 4, 5, 6])s3 = set((1,23,5,32,1))print(s3) # set([32, 1, 5, 23])s4 = set('python') print(s4) # set(['h', 'o', 'n', 'p', 't', 'y'])s5 = set({12,4,23,4,12}) print(s5) # set([12, 4, 23])# 定义集合s6 = set() 集合的常用操作s = {10, 20, 30, 40, 50} # 判断是否存在print(10 in s) # True print(70 in s) # False# 新增 s.add(80) print(s) # {10, 20, 30, 40, 50, 80} # 新增多个 s.update({200, 400}) print(s) # {10, 20,, 200, 30, 40, 50, 400, 80} # 删除 s.remove(10) print(s) # {20,, 200, 30, 40, 50, 400, 80} s.remove(900) # error: keyErrors.discard(900) # 如果有则删除900, 没有也不会报错s.pop() # 随机删除一个, 不能传参 s.clear() # 清空集合 集合间的关系 两个集合是否相等(判断集合中的元素是否完全相等)s1 = {10, 20, 30, 40}s2 = {20, 40, 10, 20} print(s1 == s2) # Trueprint(s1 != s2) # False 一个集合是否是另一个集合的子集,假如集合s1的元素里包括集合s2的全部元素,则s2是s1的子集.s1 = {10, 20, 30, 40}s2 = {20, 40} print(s2.issubset(s1)) # True 一个集合是否是另一个集合的超集,与上相反,假如集合s1的元素里包括集合s2的全部元素,则s1是s2的超集.s1 = {10, 20, 30, 40}s2 = {20, 40} print(s1.issuperset(s2)) # True 一个集合和另一个集合是否无交集,如果一个集合里某个元素,在另一个集合里也有存储,则两个集合有交集.s1 = {10, 20, 30, 40}s2 = {80, 60} print(s1.isdisjoint(s2)) # False 无交集 以上就是关于如何创建Python集合的相关介绍了,希望能够给大家带来帮助。文章部分内容源于网络,联系侵删*