python中定义实例方法

请给 Person 类增加一个私有属性 __score,表示分数,再增加一个实例方法 get_grade(),能根据 __score 的值分别返回 A-优秀, B-及格, C-不及格三档。

class Person(object):

def __init__(self, name, score):
self.name=name
self.__score=score
#good=A
#fine=B
#nonono=C

def get_grade(self):
if self.__score>=90:
return ‘A‘
if (self.__score<90) and (self.__score>=60):
return ‘B‘
if self.__score<60:
return ‘C‘

p1 = Person(‘Bob‘, 40)
p2 = Person(‘Alice‘, 65)
p3 = Person(‘Tim‘, 48)

print (p1.get_grade())
print (p2.get_grade())
print (p3.get_grade())

时间: 2024-12-07 01:12:01

python中定义实例方法的相关文章

python进阶三(面向对象编程基础)【3-3 python中定义实例方法】

python中定义实例方法 一个实例的私有属性就是以__开头的属性,无法被外部访问,那这些属性定义有什么用? 虽然私有属性无法从外部访问,但是,从类的内部是可以访问的.除了可以定义实例的属性外,还可以定义实例的方法. 实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和一个普通函数是完全一样的: 1 class Person(object): 2 3 def __init__(self, name): 4 self.__name = name 5

python中的实例方法、静态方法、类方法、类变量和实例变量

http://www.jb51.net/article/49402.htm 注:使用的是Python2.7. 一.实例方法 实例方法就是类的实例能够使用的方法.如下: 复制代码 代码如下: class Foo:    def __init__(self, name):        self.name = name    def hi(self):        print self.name if __name__ == '__main__':    foo01 = Foo('letian')

python进阶三(面向对象编程基础)【3-4 python中定义类方法】

python中定义类方法 和属性类似,方法也分实例方法和类方法. 在class中定义的全部是实例方法,实例方法第一个参数 self 是实例本身. 要在class中定义类方法,需要这么写: 1 class Person(object): 2 count = 0 3 @classmethod 4 def how_many(cls): 5 return cls.count 6 def __init__(self, name): 7 self.name = name 8 Person.count = P

Python中定义字符串和修改字符串的原理

   Python是用C语言开发的,在C语言中是没有字符串的概念,只有字符和字符数组,一般用字符数组表示字符串,所以在Python中定义一个字符串时,其实就是在内存中开辟一块空间, 例如: 定义一个字 符串string1=hello  --------->5个字符 字符数组['h','e','l','l','o'],其在内存中存储的位置为:['h','e','l','l','o'] 而如果想要修改该字符串为hellosb,在需要在内存中重新开辟一块数据空间为:['h','e','l','l','

python中定义函数和参数的传递问题

作者:達聞西链接:https://zhuanlan.zhihu.com/p/24162430来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 5.2.4 函数.生成器和类 还是从几个例子看起: def say_hello(): print('Hello!') def greetings(x='Good morning!'): print(x) say_hello() # Hello! greetings() # Good morning! greetings("Wh

在python中定义二维数组

发表于 http://liamchzh.0fees.net/?p=234&i=1 一次偶然的机会,发现python中list非常有意思. 先看一段代码 [py]array = [0, 0, 0]matrix = [array*3]print matrix## [[0,0,0,0,0,0,0,0,0]][/py] 这段代码其实没有新建一个二维数组 再看一段代码 [py]array = [0, 0, 0]matrix = [array] * 3print matrix## [[0, 0, 0], [

Python中的实例方法、类方法、静态方法和普通方法

为了辨析它们的差别,写了如下代码: 1 class C: 2 3 def self_method(self, a): 4 return a 5 6 @classmethod 7 def class_method(cls, a): 8 return a 9 10 @staticmethod 11 def static_method(a): 12 return a 13 14 def method(a): 15 return a 16 17 if __name__ == '__main__': 18

Python中什么是变量Python中定义字符串

在Python中,变量的概念基本上和初中代数的方程变量是一致的. 例如,对于方程式 y=x*x ,x就是变量.当x=2时,计算结果是4,当x=5时,计算结果是25. 只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型. 在Python程序中,变量是用一个变量名表示,变量名必须是大小写英文.数字和下划线(_)的组合,且不能用数字开头 例如 : 在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:  这种变量本身类型不固

python中的实例方法、静态方法和类方法

对于python中类的这三种方法,之前一直都不清楚其中的差别,最近阅读了<编写高质量代码 改善python程序的91个建议>,颇受启发,现在写出来分享下. 先看下面的一段代码 1 # !/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 class A: 5 name = "A class" 6 7 def instance_method(self): 8 print "this is instance fun&quo