Python学习笔记008_类_对象

# 对象 = 属性 + 方法
>>> # Python中的类名约定以大写字母开始
>>> # tt = Turtle() 这就是创建类实例的方法,其它语言用new ,它是不需要的
>>>
>>> # Python中的self就相当于Java中的this

>>> # self ,一般都放在方法的第一个参数中这是默认的要求

class Ball:
    def setName(self,name):
        self.name=name
    def kick(self):
        print("我叫%s,谁踢我,找死啊..." %self.name)

a = Ball() # 不需要用new关键字,注意和其它语言的区别
a.setName("阿黄")
b = Ball()
b.setName("黄红义")

a.kick()
我叫阿黄,谁踢我,找死啊...
b.kick()
我叫黄红义,谁踢我,找死啊...
   

>>>
>>> # Python的魔法方法,它是被Python在特殊的时候自动调用的
>>> # 这些魔法方法有一个特点,就是被双下划线包围
>>> # 比如 __init__(self)
>>> # __init__(self,param1,param2,...) ,是构造方法,实例化对象时自动被调用
>>>

class Ball:
    def __init__(self,name):
        self.name = name
    def kick(self):
        print("我叫%s,谁踢我,找死啊..." %self.name)

b = Ball(‘土豆‘)
b.kick()
我叫土豆,谁踢我,找死啊...

>>>

>>># 在Python中定义私有变量或者函数,只需要在名字前加两个下划线"__"

>>> class Person:
    __name = ‘猪八戒‘

>>> p = Person()
>>> p.__name
Traceback (most recent call last):
  File "<pyshell#45>", line 1, in <module>
    p.__name
AttributeError: ‘Person‘ object has no attribute ‘__name‘

>>>

>>># 实际上,Python是将 __开头的私有属性和方法的名称改编成了 _类名__变量名
>>> # 从这一点可以看出,Python的私有化是伪私有

>>> class Person:
    __name = ‘猪八戒‘
    def getName(self):
        return self.__name

>>> p = Person()
>>> p.getName()
‘猪八戒‘
>>>
>>> p._Person__name
‘猪八戒‘
时间: 2024-10-23 02:39:29

Python学习笔记008_类_对象的相关文章

Python学习心得:类与对象

教材:<简明Python教程> Python面向对象: 如shell这种面向过程的程序都是通过"操作数据的函数"或者"语句块"来设计函数. python的程序(面向对象): 类是一个"class"类型,对象是类中的一个实例. 类的属性包括了:域和方法.(即变量和函数) 属于一个对象或类的变量被称为域,一个定义在类中的函数,叫做类的方法. 类使用关键字"class"来创建.域和方法放在同一个缩进块中. 1.域有两种:

python学习笔记1-元类__metaclass__

type 其实就是元类,type 是python 背后创建所有对象的元类 python 中的类的创建规则: 假设创建Foo 这个类 class Foo(Bar): def __init__(): pass Foo中有__metaclass__这个属性吗?如果有,Python会在内存中通过__metaclass__创建一个名字为Foo的类对象,他是一个类,但是本身类就是对象,一个python文件模块也属于一个对象. 如果Python没有找到__metaclass__,它会继续在Bar(父类)中寻找

学习笔记——Java类和对象

今天学习了Java的类和对象的相关知识,由于Java面向对象的编程的思想和C++几乎一样,所以需要更多的关注Java的一些不同之处. 1.类 1.1 在类这一块,除了基本的成员变量,成员方法,构造函数等外,需要掌握三种权限修饰符的区别,并会合理使用(private限制了权限只在本类,protected限定了权限只在包内). 1.2 静态常量.变量.方法:static修饰.我们可以使用“类名.静态类成员”来调用,如: public class StaticTest{ static double P

python学习笔记(七) 类和pygame实现打飞机游戏

python中类声明如下: class Student(object): def __init__(self, name, score): self.name = name self.score = score def printinfo(self): print('name is %s, score is %d'%(self.name, self.score)) Student类有两个成员变量,name和score,类的成员函数第一个参数都为self,用来实现成员变量的赋值,__init__是

Java学习笔记1——类和对象

面向对象 对象:万物皆对象 面向对象 类:模子,属性+方法,类是对象的类型,是具有相同属性和方法的一组对象的集合 对象属性:对象拥有的各种特征,"对象有什么" 对象方法:对象执行的操作,"对象能干什么" 类与对象的关系/区别:类是抽象的,仅仅是模版:对象是看得到,摸得着的具体实体.例如:'手机'类,对象为iPhone6,Lumia920 Java中的类 定义类:Java程序都以类class为组织单元 创建一个对象 //1.定义一个类 public class Tel

Java学习笔记-3.类与对象

一.面向对象程序设计 1.概念:   OOA:面向对象的分析,将现实世界进行抽象的分析 OOD:面向对象的设计 OOP:面向对象的程序 2.面向对象的特点: (1)封装性:一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体,对象的私有属性只能由对象的行为来修改和读取 二是尽可能隐藏对象的内部细节,与外界的联系只能够通过外部接口来实现 (2)继承性:特殊类的对象拥有其一般类的属性和行为 (3)多态性:指同一个实体同时具有多种形式,体现在不同的对象可以根据相同的消息产生各自不同的动作 二.

Objective-C学习笔记______类和对象的使用

// // main.m // 类和对象 // // Created by apple on 15/5/30. // Copyright (c) 2015年 apple. All rights reserved. // #import <Foundation/Foundation.h> @interface Computer : NSObject //定义电脑这么一个类 { @public NSString *namec; //定义一个NSString类型名为namec的指针,用于指向一个字符

Python学习笔记7:函数对象及函数对象作参数

一.lambda函数 例如: fun1 = lambda x,y: x + y print fun1(3,4) 输出:7 lambda生成一个函数对象.该函数参数为x,y,返回值为x+y.函数对象赋给func. func的调用与正常函数无异. 上面的代码等价于: def fun2(x, y): return x + y 二.函数作为参数 函数可以作为一个对象,进行参数传递. 例如: fun = lambda x ,y : x+y def runFun(fun, a, b): print fun(

Java面向对象学习笔记 -- 1(类、对象、构造器)

1. 类 1)是同类型东西的概念,是对现实生活中事物的描述,映射到Java中描述就是class定义的类. 2)其实定义类,就是在描述事物,就是在定义属性(变量)和方法(函数). 3)类中可以声明:属性,方法,构造器: 属性就是实例变量,用于声明对象的结构的,在创建对象时候分配内存,每个对象有一份! 实例变量(对象属性)在堆中分配,并作用于整个类中,实例变量有默认值,不初始化也能参与运算. 4)类与类之间的关系: ① 关联:一个类作为另一个类的成员变量 public class A { pulic