Python 初学(三)

每日一篇,关于Python基础的认识。

今天学了些python基础语法的类相关内容,class 和java中的class类似,继承多态在python中同样是有的。

目前在学习python的过程中,让人感到郁闷的就是这个Tab和空格这个缩进距离这个东西,莫名其妙的一直报错。。。最后在pycharm中重新配置了下,算是搞定了,因为很多格式不一样,导致的。就是麻烦了点

先说说类:class (object)   (class、object小写)

object,所有的类最终都会继承的类。。。类似java Object。代码都是相通的。。。在这里不言而喻的体现了出来

# __init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,
# 就可以把各种属性绑定到self,因为self就指向创建的实例本身。有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传
# 入与__init__方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去:
class Student(object):
    def __init__(self, name, score):
        self.name = name
        self.score = score

    def get_grade(self):
        if self.score >= 90:
            return 'A'
        elif self.score >= 60:
            return 'B'
        else:
            return 'C'
# 示例
lisa = Student('Lisa 成绩 =', 99)
bart = Student('Bart 成绩 =', 59)
eee = Student('liuliu 成绩 =',60)
print(lisa.name, lisa.get_grade())
print(bart.name,bart.get_grade())
print(eee.name,eee.get_grade())
# 上述代码的思想,总感觉类似于java中get/set javabean写法,只是更精简,具体还没摸得太清楚

# 扩展
# 如果在 def __init__ 方法中吧 self.name修改成===》self.__name   则私有化,不可被外部直接调用,类似于java中的private属性

# 测试
# 请把下面的Student对象的gender字段对外隐藏起来,用get_gender()和set_gender()代替,并检查参数有效性:
class People(object):
    def __init__(self, name, age):
        self.name = name
        self.__age = age

    def get_gender(self):
        if self.__age == 15:
            print('哈哈哈')
        elif self.__age == 16:
            print('嘘嘘嘘')

luce = People('111',12)
#print('年龄:'+luce.__age)  #反例证明不可直接调用  报错
print('name:'+luce.name)  #可直接调用

在说说 继承和多态吧,这个看下面的代码就可以看懂,跟JAVA 类似

# 拿上面的例子来做吧
class Student2(Student):
    pass
sssss=Student2('xxx',90)
print(sssss.get_grade())  # 这里调用的是Student的里面的get_grade函数

接下来 ,说一下如何去获取 对象的类型信息 type()函数

print(type(123))
print(type(False))
print(type('==='))
print(type("12---"))

最后提一下这个,实例属性和类属性 ,基本上就是赋值的一个过程,体会一下,没什么难度

class Students(object):
    score = 20

sr=Students
print(sr.score)
print(Students.score)
sr.score=30
print(sr.score)
print(Students.score)
Students.score=40
print(sr.score)
print(Students.score)

学习python已经不知不觉4天了,基本的思想基本上有了,python目前在我看来,就是精简,效率。跟java上的语法区别还是蛮大的,但是路数基本一样

加油!20180703 下午


猜你喜欢

转载自blog.csdn.net/mapeifan/article/details/80901913