如何用Python做点面向“对象”的东西?

前言

我说的当然是你们没有的那个对象。嘿嘿嘿。别问我你的程序为什么找不到object对象,不止是你的程序,还有你!(哈哈哈哈)

话说,一年的情人节到底有多少?问了度娘后,我惊呆了!

  • 1月14日:日记情人节,跨年夜小俩口一起度过!在烟火下许下新年心愿!不妨趁着这天,互赠足够纪录一整年恋爱情事的日记本,象征2人将携手走过未来一年,并留下更多美好回忆。(也不一定1月14日,反正马上要过年了,又要表示心意的时候到了。。。)
  • 2月14日:西方情人节,大家都知道,咋来的就不管了。
  • 3月14日:白色情人节,源自日本的「白色情人节」是2/14西洋情人节女孩送心仪男生巧克力或礼物后,男方可在3/14回礼表示谢意。
  • 4月14日:黑色情人节,这是为了孤家寡人或旷男怨女所设置的单身情人节,如在2/14没收到甜蜜小礼物,也没人可送,在这天大家可共聚一堂,彼此鼓励加油!(终于有个消停的月份了😂,属于单身汪的节日)
  • 5月14日:玫瑰情人节,5月是玫瑰发芽时节,许多情侣都会选在这天到郊外旅游
  • 6月14日:亲亲情人节,在这一天,情侣们不必害羞,可大大方方地用Kiss来表达彼此爱意。
  • 7月14日:银色情人节,在这天情侣们可互赠银制礼品、饰物,另也可带意中人回家给家人认识,或是介绍给所尊敬长辈的日子。
  • 8月14日:绿色情人节,情侣们可趁这天来趟凉爽而清新的森林之旅,尽情享受大自然的美丽绿世界。
  • 9月14日:相片情人节,这天通常都会举办大型的社交活动的日子,让单身一族可藉此机会看看现场有没有心仪的另一半。
  • 10月14日:葡萄酒情人节,美酒催情,享受欢愉的浪漫时刻!
  • 11月14日:橙色情人节,在昏暗的电影院里,看银幕上的男女主角大谈恋爱,男女朋友握着彼此的双手、爱情升温!
  • 12月14日:拥抱情人节,这世界并不完美,但有你伸手拥抱,缺憾会更少一点!

每个月14号都特么是情人节!还不算特殊纪念日,七夕,逢年过节之类的…这么多特殊节日,过节的时候如果不让你的超越妹妹感受到你的心意,那她可是会怨气满满的哦。

如果是呆在一起还好说,带出去看场电影,吃个饭,买个礼物,再掐个点来点土味情话什么的可能再合适不过了。

那要是异地呢?看电影吃饭什么的就实现不了了。送礼物,礼物没挑好,超越妹妹不喜欢,那人家也是会很生气的呢。除了礼物之外,可能还得需要条土味情话合集啊,空间朋友圈表个白啊,诸如此类常见套路。

俗气!!!咱今天搞点不一样的!!!就算是发圈,咱也搞个别人没见过的!!!

步入正题

很多人喜欢特殊节日掐点发空间或者是朋友圈表白啊之类的,无非就是晒点吃的,发点狗粮之类的。

那如何让我们的狗粮看起来更高级一点?😂

一、首先,你需要的还是一段文字,土味情话合集之类的自己准备,拷贝粘贴保存为.txt文件。实在是懒的,下面贴了个样。

余光是你,余生也是你,整个世界你在就好,余生只望岁月静好。

媳妇儿,世界那么大,在这浮躁腐朽的人群里,我最中意你。你是我满眼的春意盎然,也是我心间的绿水青山,一见你我便笑,你一笑我就心都融化。一想到未来的每个画面里都有你,我就觉得这样的人生才是完整的。我想,相爱在平凡的日子里,相爱在彼此的眼眸里,和你在一起,便觉得空气都是甜蜜。

媳妇儿,这是一个浪漫的夏季,虽然热提前到来,甚至有点儿热得过分,但是,你是那么的美丽,我是那么的想你,把与你所有的回忆,铭记心底,传统温馨又甜蜜,先说一声儿我爱你,再说一次我爱你!也许我不太会讨你欢心,但我真的很用心,也许我对你的爱表达得不够好,但是我会用行动爱你到天荒地老!

媳妇儿,以后的事儿别一个人扛着,任何时候,任何情况,只要你需要我,我立即赶来,尽我全力为你做任何事。

媳妇儿,我的心,有时很大,但是对于你和我,又好小好小,因为那里只有我和你。知不知道,你很重要⋯⋯我爱你,不是因为你是一个怎样的人,更多的是我喜欢与你一起时的感觉,与你在一起,我身上便有了责任,要一直陪着你,一直和你,在一起。

媳妇儿,整个世界你在就好,余生只望岁月静好。你好,我就啥都好。你是我爱过的第一个人,我怕自己做的不够好,总是惹你生气。晚上那会儿玩的游戏,我还想说,不是因为我喜欢的样子你都有,而是因为你有的样子我都喜欢。

媳妇儿,相遇,是春风十里,原来是你;相爱,是山长水阔,最后是你。喜欢你的———初识钟情,终于白首,眉眼如初,岁月如故。而我对于你,就是那———初于花雨,至于天荒,拥你则安,伴你即暖。一切都是那么美好。

媳妇儿,你的幸福是我最大的守望,你的笑容最令我沉醉,你的身旁是我最想驻足的地方,你的爱就是我最大的渴望。媳妇儿,我爱你,愿与你常相守,长相依,一生相伴,永不分离。

为了超越妹妹没那么容易看出来,可以再加些自己的东西,哈哈哈哈哈。

二、然后,你只需要一段不超过20行的代码,将此文本转化为词云。源码奉上。

import wordcloud    
import jieba
from scipy.misc import imread   #生成遮罩mask(词云的形状)
from PIL import Image

#获得作为遮罩的图片
mk=imread("mask.jpg")  #mask.jpg自己去百度找怎么好看怎么来!
#获取文本对象
f = open("loveyou.txt").read()  
#生成词云对象,大小为120*120,遮罩是mask.jpg,背景颜色是白色
w = wordcloud.WordCloud(font_path="msyh.ttc",width=120,height=120,mask=mk,background_color="white")

ls = jieba.lcut(f)
txt= " ".join(ls)
w.generate(txt)
#将词云导出到为图片文件
w.to_file("爱你.png")

应用jieba库,将文本分词。应用wordcloud库,生成词云。如果直接应用wordcloud库,生成的词云将是默认形状(充满图片的),默认字体以及颜色,这样并不好看。所以需要scipy库中的imread引入一个图片作为mask(遮罩),这样生成的词云将以这个形状展示。

三、词云成品展示
在这里插入图片描述

再配上一段你自己的文字,例如:在这里插入图片描述

岂不是秀天秀地秀空气,秀得头皮发麻嘛!!!网上好像有直接在线生成词云,但是那个哪有我们自己搞出来的有心意??哈哈哈哈哈,当然要自己亲手敲出来的代码生成的词云才能让超越妹妹感受到不一样的温暖嘛!!!

总结

  1. 应用jieba库、scipy库、PIL库、wordcloud库这几个常见库生成词云,主要是wordcloud词云库的应用,其他都是辅助的。
  2. jieba库对我们的土味情话合集文件.txt文件做分词,生成了列表后,重新做成我们的文本串,worldcloud库用此文本串直接生成词云。当然需要一些必要的设置,让我们的词云更好看。
  3. 代码可以直接用(当然用之前你得确保你安装好了这些库),自己准备mask.jpg以及土味情话.txt放至此.py源代码文件同目录下即可。

其实没用到什么技术,都是基础的东西,去年那会正好学python,想搞些不一样的,又想节省点精力继续学习python,于是乎抄起了之前某个时间写的长篇土味情话合集,拿来练手生成词云,送给了我的超越妹妹。她似乎没有察觉到字里行间的熟悉感,只是觉得,哇!Niubility?

2019年5月20日搞的小东西,简单分享下,帮助各位单身或者有对象人士解锁发圈新姿势。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 答:下面是一个Python面向对象编程的案例代码:class Student: def __init__(self, name, age): self.name = name self.age = age def get_name(self): return self.name def get_age(self): return self.age # 创建一个学生对象 zhangsan = Student("张三", 18) # 调用Student类的get_name和get_age方法 print("Name: ", zhangsan.get_name()) print("Age: ", zhangsan.get_age()) ### 回答2: 下面是一个使用Python面向对象编程的案例代码: ```python # 定义一个动物类 class Animal: def __init__(self, name, age): self.name = name self.age = age def eat(self): print(self.name + "正在吃饭。") def sleep(self): print(self.name + "正在睡觉。") # 定义一个狗类,继承自动物类 class Dog(Animal): def __init__(self, name, age, breed): super().__init__(name, age) self.breed = breed def bark(self): print("汪汪~") def eat(self): # 重写父类的eat方法 print(self.name + "正在啃骨头。") # 创建一个狗对象并使用 dog1 = Dog("小黑", 3, "哈士奇") dog1.sleep() # 输出:小黑正在睡觉。 dog1.bark() # 输出:汪汪~ dog1.eat() # 输出:小黑正在啃骨头。 ``` 以上代码中,我们首先定义了一个基类Animal,具有名字和年龄两个属性,还有吃和睡觉两个方法。然后我们定义了一个派生类Dog,继承自Animal,增加了一个品种属性,并且重写了父类的eat方法。最后我们创建了一个狗对象,调用了它的睡觉、叫和吃三个方法。 ### 回答3: 以下是一个简单的Python面向对象编程案例代码: ```python class Animal: def __init__(self, name, age): self.name = name self.age = age def eat(self): print(f"{self.name}正在吃东西。") def sleep(self): print(f"{self.name}正在睡觉。") class Dog(Animal): def __init__(self, name, age): super().__init__(name, age) def bark(self): print(f"{self.name}正在汪汪叫。") class Cat(Animal): def __init__(self, name, age): super().__init__(name, age) def meow(self): print(f"{self.name}正在喵喵叫。") # 创建一只名叫 Tom,3岁的狗 dog = Dog("Tom", 3) dog.eat() dog.sleep() dog.bark() # 创建一只名叫 Kitty,2岁的猫 cat = Cat("Kitty", 2) cat.eat() cat.sleep() cat.meow() ``` 以上代码定义了一个`Animal`类,包含了`name`和`age`属性,以及`eat`和`sleep`方法。`Dog`类和`Cat`类分别继承`Animal`类,定义了各自特有的方法`bark`和`meow`。通过创建`Dog`和`Cat`的实例,我们可以调用它们的属性和方法。 在这个案例中,我们创建了一只名字为Tom,3岁的狗,然后调用了它的`eat`,`sleep`和`bark`方法。另外,我们还创建了一只名字为Kitty,2岁的猫,调用了它的`eat`,`sleep`和`meow`方法。 通过面向对象的编程,我们可以更好地组织和管理代码,使其更加易读和易于维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值