前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 面向对象1

python 面向对象1

作者头像
火星娃统计
发布2020-12-11 15:26:08
3750
发布2020-12-11 15:26:08
举报
文章被收录于专栏:火星娃统计

python 面向对象1

概述

人总应该热爱点什么

模块、类、对象

Object Oriented Programming(OOP) 这个词是python 中面向对象的概念 面向对象是通过类的方式来实现,也就是class。 在说类之前,想想模块的的概念,之前的文章中提到,我们经常会导入一个模块,比如numpy模块、pandas模块,其实模块类似于一个字典,不知道字典的话,回去看看之前的文章,我们在提取字典中的内容的时候,一般使用如下的方式

代码语言:javascript
复制
name={"wo":"sunqi"}
print(name["wo"])
代码语言:javascript
复制
sunqi

现在想想模块,在使用numpy中一般是import numpy as np 现在我们自己建立一个模块,名字叫做sss.py,将这个文件保存在你目前的工作目录下,文件内的内容如下

代码语言:javascript
复制
def name():
    print("sunqi")

一旦建立了这个文件,那么我们就可以在新的py文件中,通过import进行导入

代码语言:javascript
复制
import sss
sss.name()
代码语言:javascript
复制
sunqi

这种是模块方式的应用,同时我们也可以在sss文件中加入其它的内容,不止于函数,比如变量

代码语言:javascript
复制
def name():
    print("sunqi")
shuo = "life is hard"
代码语言:javascript
复制
# 也可以使用这种方式导入模块中的内容
import sss
sss.name()
print(sss.said)
代码语言:javascript
复制
sunqi
life is hard

其实上述的内容都是实现的一个东西,无论是字典还是模块都是从关键字中提取想要的值

类其实是模块的一种方式

class整合一组函数和数据,通过组合一组数据和函数,并通过点。来进行访问 那么对于上述的例子就可以通过下面的方式进行

代码语言:javascript
复制
class sss(object):
    def __init__(self):
        self.said = "life is hard"
    def name(self):
        print("sunqi")

这个类包含了俩个部分,其中一个是init部分,一个是函数部分,使用类,相比较模块来说,它具有一定的复制性,也就是可以根据这一个类生成无数个对象,在调用这个类之前,需要了解一个词叫做实例化,当实例化一个类的时候,得到的东西就是对象

代码语言:javascript
复制
thing = sss()
thing.name()
print(thing.said)
代码语言:javascript
复制
sunqi
life is hard

一个简单的例子

代码语言:javascript
复制
# 建立类
class food(object):
    def __init__(self,xihuan):
        self.xihuan = xihuan
    def i_like_food(self):
        for f in self.xihuan:
            print(f)
# 实例化类
shuiguo = food(["apple","banana"])
# 实例化类
drink = food(["guozhi","pijiu"])
# 调用实例化函数
shuiguo.i_like_food()

drink.i_like_food()
代码语言:javascript
复制
apple
banana
guozhi
pijiu

面向对象中的一些术语

类(class):告诉 Python 创建一个新类型的东西

对象(object):实实在在的对象,但是不能结婚

def :你如何在类里面定义一个函数

self :被访问的对象的一个变量

继承(inheritance):于一个类能从另一个类那里继承它的特征的概念

组合(composition) :一个类可以由其他一些类构成

属性(attribute) :就是变量

结束语

面向对象,先从对象开始

love&peace

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 火星娃统计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • python 面向对象1
    • 概述
      • 模块、类、对象
        • 类其实是模块的一种方式
        • 一个简单的例子
      • 结束语
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档