day18(2020.2.25):虚拟开发环境 类和对象

虚拟开发环境

虚拟开发环境是指定的开发环境,该环境是物理环境的虚拟,内有复制的python和第三方库,开发时的虚拟环境在部署时也要安装相应版本的Python和第三方库。

创建

python安装时会自动创建一个virtualEnv,也可以安装第三方的workon;
创建方法:mkvirtualenv env_base2 – python=“路径” (指定python版本,会将其复制到env_base2环境中)
退出方法:deactivate
进入方法:workon env_base2

部署

  1. 查看并导出第三方模块清单:
    pip freeze > requirement.txt
  2. 安装所需第三方模块:
    pip install -r requirement.txt

类和对象

面向对象是一种软件开发方法,将项目分成不同对象,适合大型开发,其开发效率高,但运行效率不如面向过程。最难的是面向对象分析,七八千行一万行左右代码量才能有面向对象思维

面向对象方法的概念主要有类和对象,类是一种抽象,有选择地忽略和抽取特征。类是一种模板,是一种自定义的数据类型,它不占内存;对象由类定义,是类的实例化,它占内存。

定义类

class GirlFriend:
    # 构造方法用于初始化,赋一个对象初始值,self的调用属于魔术方法,由系统自动调用
    def __init__(self,height,face,age):
        # 定义对象属性
        self.height = height
        self.age = age
        self.face = face
    # 方法都有一个默认参数self,不用我们赋值
    # 方法属于类,类外找不到方法
    # 方法只通过对象来调用,函数则不然
    def love(self):
        # 一个方法调用另外一个方
        self.cook()
        # 引用属性
        print(self.age)
        print("人家会很疼人的")


    def cook(self):
        print("武汉热干面")
        return self

实例化

# 实例化对象会自动调用构造函数
girl = GirlFriend(1.6,7,21)

调用属性和方法

# 调用对象属性
print(girl.age)
#调用对象方法
girl.cook()  # cook(girl) 谁调用方法,self就是谁

# 如果一个方法返回了self,则可以连续下一个方法,连续调用
# 如cook()方法返回了self,girl.cook().love()相当于girl.cook()后再执行girl.love()
# res = girl.cook()
# res.love()  
girl.cook().love()  

函数和方法的异同:

  • 相同:两者语法基本一样
  • 相异:
    1. 方法参数带有self,函数不带self参数
    2. 函数是独立的,方法属于其类,类的外部不能调用
    3. 函数与方法属于不同命名空间,可以重名
    4. 函数可以直接调用,但方法只能通过类或对象调用
    5. 如果一个方法返回self,则可以连续执行下一个方法
    6. 类内的方法调用另一个方法以self代表该对象:self.cook()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值