当前位置: 首页 > news >正文

Python语言学习 (四)1.1

经典类,新式类

经典类是指没有继承的,新式类是继承了的。现在基本是新式类。

#encoding=utf-8

#经典类
class Dog:
pass

#继承了object,为新式类
class DogNew(object):
pass

#可输出此类是什么类型的类
print type(Dog)
print type(DogNew)


class Heibei(Dog):
pass

class Bomei(DogNew):
pass

print type(Heibei)
print type(Bomei)

结果:

<type 'classobj'>
<type 'type'>
<type 'classobj'>
<type 'type'>

 

方法:是对类行为的封装

实例方法:self关键字,通过self访问实例属性,调用实例方法

特殊方法:编译器自动添加的方法,self关键字(比如init)

静态方法:@staticmethod (装饰器)

类方法:@classmethod(装饰器)

 

属性的可见性:

共有属性:在类中和类外使用的属性

内置属性:编译器自动添加的属性,比如__dict__

私有属性:只能在类内使用的属性,__,会被改名换姓,_,不会被改名,象征意义大于实际意义。

#encoding=utf-8
class Person(object):
pass

class Chinese(Person):
#定义类属性
nation = 'China'

def __init__(self, name, age, sex):
#定义实例属性
self.name = name
self._age = age
self.__sex = sex

zhangsan = Chinese('zhangsan', 18, 'male')
print zhangsan.name
print zhangsan._age
print zhangsan._Chinese__sex
#print zhangsan.__sex
print dir(Chinese)

结果:

zhangsan
18
male
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'nation']

 

转载于:https://www.cnblogs.com/TinaGao/p/5755183.html

相关文章:

  • Kubernetes监控——Heapster+InfluxDB+Grafana
  • RAC3——RAC原理开始
  • 一个Delphi的资源编辑器(支持SDK菜单资源编辑)
  • mysql备份还原
  • 静态默认路由 可以在网络边缘通过一个路由器端口访问每一个pc机
  • UWP WebView 禁用缩放
  • MFC 文件操作
  • 商朝子的破解教学第一章
  • Mybatis的连接池
  • Gvr SDK for Unity 分析(二)
  • sqlite编译
  • expect在需要交互脚本中的简单应用
  • 调用网页弹窗
  • python默认的是17位小数的精度,但是这里有一个问题,就是当我们的计算需要使用更高的精度(超过17位小数)的时候该怎么做呢?...
  • php5.6,curl上传的变化
  • Google 是如何开发 Web 框架的
  • java多线程
  • Linux各目录及每个目录的详细介绍
  • Next.js之基础概念(二)
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • springMvc学习笔记(2)
  • vagrant 添加本地 box 安装 laravel homestead
  • zookeeper系列(七)实战分布式命名服务
  • 复习Javascript专题(四):js中的深浅拷贝
  • 观察者模式实现非直接耦合
  • 基于axios的vue插件,让http请求更简单
  • 聊聊sentinel的DegradeSlot
  • 双管齐下,VMware的容器新战略
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #微信小程序(布局、渲染层基础知识)
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (1)常见O(n^2)排序算法解析
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (分布式缓存)Redis持久化
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET Core 2.1路线图
  • .Net Core 中间件验签
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET Standard 的管理策略
  • .NET委托:一个关于C#的睡前故事
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • @media screen 针对不同移动设备
  • @RequestParam详解
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • [04]Web前端进阶—JS伪数组
  • [Android] Upload package to device fails #2720
  • [AutoSar]状态管理(五)Dcm与BswM、EcuM的复位实现
  • [BJDCTF 2020]easy_md5
  • [BZOJ] 2044: 三维导弹拦截
  • [C++进阶篇]STL中vector的使用