1.私有类:

class My:
def test(self):
self.__password = 123456
def say(self):
print('password',self.__password)
def __set_password(self):
self.__password = 7890
def update(self):
self.__set_password() m = My()
m.test()
m.say()
m.update()
m.say() 2.类:
class My:  #经典类
pass class My2(object): #新式类
pass class My3(): #新式类
pass country = 'China' class Person:
def __init__(self,name):
print('开始了',name)
self.name = name # 实例变量
self.age = 18
# 人的名字是 马小
self.data = '哈哈哈'
self.addr = '南京' def cry(self,size):
print('%s在%s哭。年龄是%s'%(size,self.name,self.age))
self.size = '大哭'
self.date = '20190106'
def say(self):
print('我叫%s,我住在%s.'%(self.name,self.addr))
print(self.size)
print('Jin天的日期',self.date)
self.help()
def help(self):
print(self.date)
mcb = Person('马小')
cq = Person('陈大')
mcb.grilfriend = cq #
print('马小的女朋友',mcb.grilfriend.name)
mcb.grilfriend.cry('大')
# mcb = Person('马小')
# mcb.addr = '北京'
# mcb.cry('大') #cry(mcb,大)
# mcb.say()
#
# def car(self,car_name): #
# self.car_name = car_name
# #函数里面给mcb加了一个变量
#
# car(mcb,'奔驰')#把mcb这个实例传给了self,self指的就是mcb这个实例
#
# print(mcb.car_name) # cq = Person('陈大')
# cq.cry('大') #cry(cq,大)
# print('cq....name',cq.name)
# print('cq....name',cq.age) # print('mcb的内存地址',id(mcb))
# print('mcb....name',mcb.name)
# print('mcb....age',mcb.age)
# print(mcb.data) # def abc(self,name):
# print(self)
# print(name)
# abc(111,'马小')
3.类变量
class Car:
wheel = 4 #类变量
def __init__(self,color,p):
self.color = color #实例变量
self.p = p def help(self):
print('汽车有%s个轮子'%self.wheel)
print('汽车的颜色是%s'%self.color)
print('牌子%s'%self.p)
print('='*10)
self.haha()
self.check_wheel() @classmethod
def check_wheel(cls):
print('cls的内存地址',id(cls))
print(cls.wheel)
cls.haha() @classmethod
def haha(cls):
print('哈哈哈')
cls.help2() @staticmethod
def help2():
print('这个类的作用是造汽车,它里面有xxx方法') @property
def yesterday(self):
import datetime
res = datetime.date.today() + datetime.timedelta(-1)
return str(res) def tom(self):
import datetime
res = datetime.date.today() + datetime.timedelta(1)
return str(res) Car.help2()
mcb = Car('赤橙黄绿青蓝紫','马春波')
print(mcb.yesterday) print(mcb.tom()) # mcb.wheel = 28
# mcb.haha()
# mcb.help()
# mcb.help2()
# # print('Car的内存地址',id(Car))
# Car.check_wheel() # Car.wheel= 19
# print(Car.wheel) #
# benc = Car('黑色','奔驰')
# benc.help()
#
# bmw = Car('白色','宝马')
# bmw.help()
												

python基础(16)私有类,类,类变量的更多相关文章

  1. python基础——实例属性和类属性

    python基础——实例属性和类属性 由于Python是动态语言,根据类创建的实例可以任意绑定属性. 给实例绑定属性的方法是通过实例变量,或者通过self变量: class Student(objec ...

  2. 十六. Python基础(16)--内置函数-2

    十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...

  3. 2015/9/20 Python基础(16):类和实例

    面向对象编程编程的发展已经从简单控制流中按步的指令序列进入到更有组织的方式中,依靠代码块可以形成命名子程序和完成既定的功能.结构化的或过程性编程可以让我们把程序组织成逻辑快,以便重复或重用.创造程序的 ...

  4. python基础教程总结6——类

    1. 如何定义一个类 在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法. 类是对现实世界中一些事物的封装,定义一个类可以采用下面的方式来定义: class  ...

  5. python基础(三)——类的研究

    class Employee: //定义类 以冒号结束 '所有员工的基类' //帮助信息 empCount = 0 def __init__(self, name, salary): //调用时初始化 ...

  6. Python基础(9)——类

    类的语法 类的定义 class Dog(object): print("hello,I am a dog!") d = Dog() #实例化这个类, #此时的d就是类Dog的实例化 ...

  7. python基础教程:定义类创建实例

    类的定义 在Python中,类通过class关键字定义,类名以大写字母开头 >>>class Person(object): #所有的类都是从object类继承 pass #pass ...

  8. python基础知识4——collection类——计数器,有序字典,默认字典,可命名元组,双向队列

    1.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能  Counter 我们从中挑选一些相对常用的方法来举例: 在上面的例子 ...

  9. [python基础]关于包,类,模块的那些事儿

    转载请注明出处:http://www.cnblogs.com/codefish/p/5032753.html 在理解python的包,类,模块之前,我一直是将他类比为dll,C#的类,命名空间的这种参 ...

  10. Python基础(九) type元类

    python元类:type()    元类是python高阶语法. 合理的使用可以减少大量重复性的代码. 元类实际上做了以下三方面的工作: 干涉创建类的过程 修改类 返回修改之后的类 为什么使用元类? ...

随机推荐

  1. analyse idoc by creation date

    t-code ZMM0127 infoset: ZMM_IDOC_READ_01 go to code: AUTHORITY-CHECK OBJECT 'S_IDOCMONI'ID 'ACTVT' F ...

  2. Lua学习之加载其他lua文件

    Lua 中提供了模块的概念,模块类似一个封装库或者 C++ 中的一个类,可以将公用的部分提到一个文件中,以 API 的形式供其他 lua 文件调用. Lua 中的模块其实就是包含变量.函数等已知元素组 ...

  3. python3下同时取得exe、zip和chm下载地址

    from selenium import webdriverimport osimport timeimport re cur_path=os.getcwd() #得到程序的当前目录str_file= ...

  4. centos7 网卡识别为eth0 eth1

    使网卡识别为 eth0 方法一.安装系统是,net.ifnames=0 biosdevname=0 方法二.(没有测试): 修改网卡配置文件中的 DEVICE= 参数的关于 eth0 [root@an ...

  5. 属性控件CMFCPropertyGridCtrl简单用法

    这是我的原创! 用一堆的编辑框下拉框做配置界面,很是繁琐,还要对齐排版……用这个属性控件 CMFCPropertyGridCtrl 就可以统一风格了. //初始化 CMFCPropertyGridCt ...

  6. Java JDK动态代理解析

    动态代理虽不常自己实现,但在Spring或MyBatis中都有重要应用.动态代理的意义在于生成一个占位(又称代理对象),来代理真实对象,从而控制真实对象的访问.Spring常JDK和CGLIB动态代理 ...

  7. python3编码

    一.字符编码 1.什么实字符编码:将人识别的字符转换成计算机能识别的01,而转换的过程或者规则就是字符编码表. 而这种字符编码表表示了一种对应关系. 2.常用的字符编码表有:ascii.unicode ...

  8. 函数(一.return)

    #return的用法:#return用于退出函数,选择性的返回一个表达式.def test1(a,b): total = a+b return total print(total) def test2 ...

  9. git commit命令

    git commit 主要是将暂存区里的改动提交到本地的版本库.每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id. commit-id在版 ...

  10. React Native: unable to load scripts from assets 'index.android.bundle' on real device

    问题:重新建了一个项目后,运行react-native run-android报: unable to load scripts from assets 'index.android.bundle' ...