今天面试被问了一个问题:python函数传参是传值还是传递引用?虽然我知道是传递引用,但是不能深入理解,所以回来就做了一些测试加深理解。1. 当参数是不可变对象时def test(b):
    print("对参数b进行操作前")
    print("参数的id:",id(b))
    b += 2
    print("对参数b进行操作后")
    print("参数的id:",id(b            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-31 21:17:13
                            
                                20阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Python 类的方法不传 self 的讨论
在 Python 编程中,类是对现实世界的模拟,而方法则是类中定义的一些操作。每当我们在类中定义一个方法时,通常都会在方法的参数列表中包含 `self`。`self` 代表类的实例,允许方法访问实例的属性和其他方法。然而,有时我们会遇到一些不需要 `self` 的方法,尤其是静态方法或类方法。本文将深入探讨这些方法以及它们与 `self` 的关系            
                
         
            
            
            
            类中不仅可以有 methods,还可以有变量,这些变量称为类属性,例如如下代码中 Book 类的 TYPES 即为类属性。类中的方法分为3类:1. 实例方法 instance method不使用装饰器 类中的所有方法,如果第一个参数是 self,就是 instance method, self 是创建的类实例,实例方法与实例即对象相关。 (self 可以改成别的名称,但使用 self 是conve            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-04 18:59:39
                            
                                223阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 理解 Python 中的 self 关键字
## 1. 引言
在 Python 的面向对象编程(OOP)中,`self` 是一个非常重要的概念。它在类方法中扮演着指向实例的角色,让你能够访问对象的属性和方法。对于刚入行的开发者,理解 `self` 的运作机制是学习 Python OOP 的基础。
## 2. 如何理解和使用 self
### 2.1 整体流程
为帮助你更好地理解 `s            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-09-12 06:44:47
                            
                                35阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            类:class NovaApi():    def __init__(self):        self.ip = controller_ip        self.port = nova_port        self.http_protocol = http_protocol        self.endpoint = '{}://{}:{}'.format(self.http_pro            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-28 15:05:18
                            
                                483阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Python 中定义方法不包含 self 的探讨
在面向对象编程 (OOP) 中,Python 提供了一种方便的方法来处理对象及其行为。通常,我们在定义类的方法时,会在方法的参数列表中包含一个 `self` 参数,代表类的实例。但是,有时我们希望定一个不包含 `self` 的方法,这就引出了本篇文章的主题。
## 什么是 self?
在 Python 中,`self` 是一个约定俗成的名            
                
         
            
            
            
            # Python 类方法没有 self 的理解与应用
在 Python 中,类和实例是面向对象编程的基本概念。通常,我们会使用 `self` 关键字在实例方法中引用对象的属性和其他方法。然而,当我们需要定义类方法时,使用 `cls` 作为第一参数来代替 `self`,并且没有 `self` 关键字。本文将通过示例和说明,帮助大家理解类方法的定义与使用。
## 一、类方法的概念
类方法是一个绑            
                
         
            
            
            
            我使用的Python版本为3.7,没有装配环境的同学可以到下方链接查看教程。本期内容依旧是高阶函数的内容,接上期。函数闭包Python允许在函数中定义函数,内部函数无法在外部函数之外被调用,类似Java的内部类。需要注意的一点是,内部函数调用外部函数的属性时,采用的是引用传值,这可能会带来一些问题:def func():
    res = []
    for x in range(1, 4):            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-21 01:54:32
                            
                                65阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何在 Python 中实现不使用 `self` 的类方法
在 Python 中,类方法通常需要使用 `self` 参数来引用实例本身。然而,我们也可以定义一种特殊的类方法,称为“静态方法”,它不需要访问类的实例或类本身。在这篇文章中,我们将介绍如何使用装饰器 `@staticmethod` 来实现不加 `self` 的类方法。
## 实现流程
下面是实现这一功能的步骤:
| 步骤 |            
                
         
            
            
            
            python对象Python 中,一切皆对象。每个对象由:标识(identity)、类型(type)、value(值)组成。标识用于唯一标识对象,通常应用于对象在计算机内存地址。使用内置函数id(obj)可返回对象obj的标识。同时要注意类型是属于对象的,而不是变量。而对象有两种,“可更改”(mutable)与“不可更改”(immutable)对象。在python中,strings, tuples            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-16 14:40:38
                            
                                96阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## 如何在Python类函数中不传递self获取类
在Python中,类的方法通常需要一个`self`参数,表示类的实例。但是,有时我们可能想要创建一个类方法,而无需传递实例本身。这时,我们可以使用装饰器`@classmethod`和`@staticmethod`来实现这一点。本文将详细讲解如何实现这一功能,并通过具体示例来帮助你理解。
### 整体流程
为了更好地理解这个过程,我们将整体            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-08-22 04:43:19
                            
                                47阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            python中的self   首先,对于python,只有针对类来说的self才有意义,所以python中的self,说的即是python类中的self。以下我将结合python类的相关概念叙述,必须明确的是,self只能用在python类的方法(即函数)中。在我看来,python的类有三个相关概念:属性(即变量)、方法(即函数)、继承。1.属性(即变量)(1)如果变            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-01 18:57:31
                            
                                63阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            class Box(object):
    def __init__(this, boxname, size, color):
        this.boxname = boxname
        this.size = size
        this.color = color  # self就是用于存储对象属性的集合,就算没有属性self也是必备的,代表类的实例,而非类。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-04 10:34:38
                            
                                280阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            特殊参数self的作用:self会接收实例化过程中传入的数据,当实例对象创建后,实例便会代替 self,在代码中运行。self代表的是类的实例本身,方便数据的流转。对此,我们需要记住两点:第一点:只要在类中用def创建方法时,就必须把第一个参数位置留给 self,并在调用方法时忽略它(不用给self传参)。第二点:当在类的方法内部想调用类属性或其他方法时,就要采用self.属性名或self.方法名            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-03 20:26:16
                            
                                217阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何实现“python类方法的self去掉”
## 介绍
作为一名经验丰富的开发者,我将教你如何实现“python类方法的self去掉”。在学习过程中,我们需要了解整个流程,并逐步实践每个步骤的代码。
## 整个流程
以下是整个流程的步骤,我们将通过这些步骤一步步实现“python类方法的self去掉”。
| 步骤 | 描述 |
| --- | --- |
| 1 | 创建一个Pytho            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-19 04:35:10
                            
                                114阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 理解 iOS 类方法中的 `self`
在 iOS 开发中,理解 `self` 的使用至关重要。它不仅影响对象的引用,还影响类方法的实现。在这篇文章中,我们将讲解如何实现 iOS 类方法中的 `self`,并通过实际的代码示例来帮助你更好地理解。
## 整体流程
我们可以将实现 iOS 类方法 `self` 的过程分为以下几个步骤:
| 步骤 | 内容说明 |
|------|----            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-10-10 05:15:54
                            
                                28阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在 iOS 开发中,类方法中的 `self` 相比于实例方法中的 `self` 具有不同的语义,这往往导致开发者对其使用产生困惑。本文将围绕这一问题,从不同角度剖析 iOS 类方法中的 `self`,并提供详细的解决方案和示例。
## 背景描述
在 iOS 开发中,`self` 是一个非常重要的关键词。它不仅代表当前实例对象,还在类方法中代表当前类。在处理类方法时,许多新手开发者可能会混淆 `            
                
         
            
            
            
            1、Python中self的含义self,英文单词意思很明显,表示自己,本身。此处有几种潜在含义:1.这里的自己,指的是,实例Instance本身。2.同时, 由于说到“自己”这个词,都是和相对而言的“其他”而说的;而此处的其他,指的是,类Class,和其他变量,比如局部变量,全局变量等。此处的self,是个对象(Object),是当前类的实例。因此,对应的self.valueName 和 sel            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-14 22:04:22
                            
                                54阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 学习实现 iOS 类方法 `self`
在 iOS 开发中,类方法与实例方法是非常重要的概念。今天,我们将一起深入探讨如何在 Objective-C 中使用 `self` 关键字来实现类方法。本文将通过一个结构化的流程来帮助你理解这一过程。
## 流程概述
为了让你更清楚地理解整个过程,我们将其划分为以下几个步骤:
| 步骤 | 描述            
                
         
            
            
            
                    对于python学者来说,这个self肯定不陌生,每次使用都是像固定格式似的,知道是那么写,但是这个self到底是什么呢?首先了解一下概念和在python中的使用,再看它在odoo中的使用。一、基本概念普通函数、类方法  python中的函数都知道,在面向对象中,我们将类中定义的函数            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-10 11:14:20
                            
                                40阅读