python 类 探索
类实例化和调用方法
class test():def __init__(self):pass # 如果不写对象初始化的属性,必须带一个pass,或者直接去掉__init__def SUM(self, a, b):return a+bdef alter_SUM(self, a, b):a, b = b, a return self.SUM(a, b) test1 = test() print(test1.alter_SUM(1,3))""" 4 """
注意: 类中所有的method都要在入参中添加
self
,并且在method相互引用的时候,需要在method名字前面加上self
下面的写法是不行的,在类里面不能有方法的相互嵌套,否则报错未定义:
class test():def __init__(self):pass # 如果不写对象初始化的属性,必须带一个pass,或者直接去掉__init__def SUM(self, a, b):return a+b+add1(a, b)def add_1(a, b):return 1 test1 = test() print(test1.SUM(1,3))""" NameError: name 'add1' is not defined """
方法嵌套
def print_func():a = 1print(a) print_func() print(a)""" NameError: name 'a' is not defined """
错误的原因:a属于局部变量,稍微修改一下就可以了:
def print_func():global aa = 1print(a) print_func() print(a)""" 1 1 """
嵌套方法的正确操作:
def print_func():a = 1def add():nonlocal a # 不能使用global哦, global是用来在函数或其他局部作用域中使用全局变量, 而nonlocal是为了申明外部嵌套函数内的变量a+=1return areturn add() print(print_func())""" 2 """
python 类 探索相关推荐
- 【Python数据结构】 抽象数据类型 Python类机制和异常
这篇是<数据结构与算法Python语言描述>的笔记,但是大头在Python类机制和面向对象编程的说明上面.我也不知道该放什么分类了..总之之前也没怎么认真接触过基于类而不是独立函数的Pyt ...
- python 类的使用(5)之类装饰器(类的装饰器和类作为装饰器)
在阅读博客中,发现了类装饰器的存在,由于之前就在写类相关的专栏,这次就赶紧补上之前的内容啦.类装饰器这个词是有歧义的,因为类本身可以作为装饰器,一个类也可以被函数装饰器所装饰.今天就简单介绍一下这两种 ...
- python 类中定义类_Python中的动态类定义
python 类中定义类 Here's a neat Python trick you might just find useful one day. Let's look at how you ca ...
- python 类 公有属性、私有属性、公有方法、私有方法
python 类 公有属性.私有属性.公有方法.私有方法 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Int ...
- 在python中定义类时、运算符重载_自定义 Python 类中的运算符和函数重载(上)...
如果你对 Python 中的str对象使用过 + 或 * 运算符,你一定注意到了它的操作与 int 或 float 类型的区别: 你可能想知道同一内置运算符或函数如何对不同类对象进行不同操作的.这分别 ...
- python类中的属性分为类属性和实例属性两种_python中类和实例如何绑定属性与方法示例详解...
前言 python类与实例的方法的调用中觉得云里雾里,思考之后将自己的想法记录下,一来加深自己理解,巩固自己记忆,而来帮助一些想要学习python的朋友理解这门抽象的语言,由于Python是动态语言, ...
- python类对象和实例对象
类对象支持两种操作:属性引用和实例化. 属性引用 使用 Python 中所有属性引用所使用的标准语法: obj.name. 有效的属性名称是类对象被创建时存在于类命名空间中的所有名称. 因此,如果类定 ...
- python定义私有变量的方法_Python怎么修改私有属性 如何访问python类中的私有方法...
python 类为什么不能定义私有属性和方法 因为b.name[0] = 'zhang'修改的是类属性,类属性是全局的,所有的实例共享,如果想私有化,可以添加 def __init__( self ) ...
- python类定义的讲解_python类定义的讲解
Python中的类属性和对象属性的区别详解 类属性: class Employee(object): emCount=0 def __init__(self,name,salary): self.na ...
最新文章
- php内容管理器是什么原因,有什么好的php内容管理后台吗?打算试水接单的大三狗提问...
- 将本地代码同步到远程github上
- C语言题目——三子棋游戏
- 【webshell分析】PHP大马分析
- 查看linux系统版本命令
- Unmapped Spring configuration files found.
- 计算机换算单位 gb,gb和mb的换算-KB,MB,GB之间的换算关系
- 已设定选项 ‘readonly‘ (请加 ! 强制执行)
- 初识Kinect之一
- luogu P3324 [SDOI2015]星际战争
- note-PythonCookbook-第十一章 网络与WEB编程
- UIImageView绘制圆形图片
- Python基于Django航空飞机票预定网站设计
- 使用cropper插件实现图片的裁剪和预览
- 如何修改wincc服务器画面,关于OS站的wincc画面修改的问题-工业支持中心-西门子中国...
- Relevance Vector Machine (RVM)简介
- Istio-PilotDiscovery服务的启动
- 黄金斗士原生android,联想黄金斗士S8对比红米Note视频评测
- 手机支持linux,看看你的手机是否支持Ubuntu Touch?
- 曾宝仪和机器人_41岁曾宝仪和男友林明谦如老夫老妻 差点与黄子佼狭路相逢(图) - 中华娱乐网...