python 第3天

简介:

class Hotdog:

    def __init__(self):  #初始化对象

        self.cooked_level = 0

        self.cooked_string ="Raw"

        self.condiments = [] #空数组

    def __str__(self):  #print(对象)

        msg = "hot dog"

        if len (self.condiments) > 0 :

            msg = msg + " with"

        for i in self.condiments:

            msg = msg +" "+ i + ","

        msg = msg.strip(",")

        msg = self.cooked_string + " "+msg + "."+str(self.cooked_level)

        return msg

    def cook (self,time):

        self.cooked_level = self.cooked_level + time

        if self.cooked_level > 8:

            self.cooked_string = "Charcoal"

        elif self.cooked_level > 5:

            self.cooked_string = "Well_down"

        elif self.cooked_level >=3:

            self.cooked_string = "Medium"

        else:

            self.cooked_string = "Raw"

    def addCondiment(self,condiments):

        self.condiments.append(condiments)

        

myDog = Hotdog()

print (myDog)


print ("Cooking hot dog for 4 minutes...")

myDog.cook(4)

print (myDog)

print ("Cooking hot dog for 3 minutes...")

myDog.cook(3)

print (myDog)

print ("Cooking hot dog for 10 minutes...")

myDog.cook(10)


myDog.cooked_level=3 # 这些对象的属性都可以更改,不用通过方法,python 没有提供隐藏数据的方法,不过可以自己搞定。

print (myDog)

print ("Now I'm going to add some stuff on my hot dog")

myDog.addCondiment("ketchup")

myDog.addCondiment("mustard")

print (myDog)


设置私有变量和私有方法可以用__开头

class Person:

    def __init__(self):

        self.__name = "jixiang"

        self.age = 22

    def __get_name(self):

        return self.__name

    def get_name(self):

        return self.__name

    def get_age(self):

        return self.age

    def change_name(self):

        self.__name = "malong"

        return self.__name

    def change_name1(self):

        self.__name = "jilong" #可以清楚的看到无论是私有属性还是私有方法在类内都可以使用。

        newname=self.__get_name()

        return newname


person = Person()

print (person.get_age())

#print (person.__get_name())  #无论是私有变量还是私有方法都无法访问。

#print (person.__name)


person.__name ="lilong" #这里虽然没有报错,但是你看下面,打印出来依然没有改变

print (person.get_name())


person.change_name()

print (person.get_name())


person.change_name1()

print (person.get_name())


下面进入多态 ,

封装继承多态是面向对象的重要内容。

多态



本文转自 神迹难觅 51CTO博客,原文链接:http://blog.51cto.com/ji123/1965156,如需转载请自行联系原作者

相关文章
|
6月前
|
人工智能 数据挖掘 数据库连接
什么是Python
一、什么是Python? Python是一种高级编程语言,由Guido van Rossum于1989年开发。它被设计成易于阅读和理解的语言,具有简洁的语法和清晰的代码结构。 Python具有以下特点: 1. 简单易学:Python语法简洁,易于学习和使用。它使用缩进来表示代码块,而不是使用大括号,使得代码更加清晰易读。 2. 面向对象:Python是一种面向对象的编程语言,支持封装、继承和多态等面向对象特性。 3. 动态类型:Python是一种动态类型语言,变量的类型在运行时确定。这使得代码编写更加灵活,减少了类型声明的繁琐。 4. 可移植性:Python可以在多个平台上运行,包括Windo
45 0
|
3月前
|
Python
Python喜羊羊
Python喜羊羊
40 0
|
10月前
|
数据采集 存储 数据挖掘
Python应用 | 我喜欢看什么美剧(一)
Python应用 | 我喜欢看什么美剧(一)
81 0
Python应用 | 我喜欢看什么美剧(一)
|
12月前
|
Python
【Python三体问题】
【Python三体问题】
116 0
【Python三体问题】
|
机器学习/深度学习 存储 人工智能
Python和C究竟选哪个?
如果说最近最火的语言和最古老的语言碰撞会产生什么样的火花呢?在刚刚上大学的小伙伴肯定是有这样的疑问,C语言作为比较古老和底层的语言,一般是作为大学生的必修课,也是计算机课程的第一课,而Python作为高级语言,随着这几年的机器学习、人工智能彻底火出圈了,外行的人也知道Python很牛,那么这最古老的语言和最火的语言之间的区别是什么呢?我们应该如何选择最适合自己的语言呢?
361 0
Python和C究竟选哪个?
|
Python
Python求梅森尼数
Python求梅森尼数
331 0
Python求梅森尼数
|
机器学习/深度学习 人工智能 运维
[Python]介绍
python特点 既然介绍python,我们肯定先要知道python相比其他语言到底有什么优点以及缺点。 优点:
225 0
[Python]介绍
|
SQL Java 关系型数据库
数据持久化技术(Python)的使用
- 传统数据库连接方式:mysql(PyMySQL) - ORM 模型:SQLAlchemy MyBatis、 Hibernate ## PyMySQL 安装: ``` pip install pymysql ``` ## 简单使用 利用 pymysql.connect 建立数据库连接并执行 SQL 命令(需要提前搭建好数据库): ``` import pymysql db =
|
运维 Java 程序员
为什么很多人都说 Python 简单?
python写业务是简单,学深了不容易。
141 0
|
Python
Python之%s%d%f
Python之%s%d%f
89 0
Python之%s%d%f