python中的实例变量的一些理解

python中的实例变量不太同于java中的局部变量。在学python的时候,关于实例变量的使用,哪些地方可以调用它,弄得我头疼,今天终于有所领悟了;直接上代码:

  1. 在实例函数中定义实例变量
class Geen:
    def __init__(self):
        pass
    def fly1(self):
        self.width = 8
        self.height = 9
    def fly2(self):
        print(self.width)
        print(self.height)
c=Geen()
#c.fly1()
c.fly2()

这里会出错:

AttributeError: 'Geen' object has no attribute 'width'
  1. 在构造函数中定义实例变量的话,其他函数是可以直接调用该实例变量的

但是如果是在构造函数中定义实例变量的话,它又可以了,那就有点纳闷了

class Geen:
    def __init__(self):
        self.width = 8
        self.height = 9
    def fly1(self):
        pass
    def fly2(self):
        print(self.width)
        print(self.height)
c=Geen()
#c.fly1()
c.fly2()

输出的是:8 9

然后我就误以为只有在构造函数函数中定义的实例变量才可以用,其实我是错的,其实刚刚 1中的代码改下也可以用的:代码见下3:

class Geen:
    def __init__(self):
        pass
    def fly1(self):
        self.width = 8
        self.height = 9
    def fly2(self):
        print(self.width)
        print(self.height)
c=Geen()
c.fly1()
c.fly2()

输出也是8和9,这就是为什么1不能用的原因,只有你在实例函数中定义实例变量,其他函数调用的时候,要先调用含有定义实例函数先,再调用你的函数就可以了;其实就是个变量初始化问题,1就是程序运行的时候,你没调用实例函数先,程序会看不到的,要先调用才行。为什么在构造函数又可以呢?因为你定义类对象的时候会先调用构造函数。。。我真的是菜啊。记录一下吧,可以讲的有错,请各位大佬纠正!!!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Python ,函数是一段可以被调用的代码块,可以帮助你重复使用代码并将其封装在一起。函数可以带有参数,也可以返回值。 下面是一个简单的 Python 函数的例子,该函数接受两个数字作为参数并返回它们的和: ``` def add(x, y): return x + y result = add(3, 4) print(result) # 输出: 7 ``` 在这个例子,我们定义了一个函数 `add`,该函数接受两个参数 `x` 和 `y`。在函数体,我们使用了 `return` 语句将它们的和返回到调用函数的地方。然后我们调用了该函数并将结果赋值给变量 `result`。最后,我们使用 `print` 函数打印出 `result` 的值。 注意,在 Python ,函数定义是以 `def` 关键字开头的,然后是函数名称,括号内是参数列表,最后是冒号。函数体是以缩进的方式来组织的。 希望这个例子能帮助你理解 Python 的函数是如何工作的。 ### 回答2: 函数是一段被定义的可重复使用的代码块,用于实现特定的任务。通过使用函数,我们可以将程序分解为小块,提高代码复用性和可读性。以下是一个用Python实例代码来理解函数的例子: ```python # 定义一个简单的函数,用于计算两个数的和 def add_numbers(a, b): sum = a + b return sum # 调用函数并打印结果 result = add_numbers(5, 3) print(result) # 输出:8 # 定义一个带有默认参数的函数 def greet(name, greeting="Hello"): message = f"{greeting}, {name}!" return message # 调用函数并打印结果 greeting_message = greet("Alice") print(greeting_message) # 输出:Hello, Alice! # 通过关键字参数调用函数 greeting_message = greet(greeting="Hi", name="Bob") print(greeting_message) # 输出:Hi, Bob! ``` 在上面的代码,我们首先定义了一个名为`add_numbers`的函数来计算两个输入参数的和,并返回结果。然后,我们通过调用`add_numbers`函数并传入参数来计算并打印出结果。 之后,我们定义了另一个函数`greet`,它带有一个必需参数`name`和一个可选参数`greeting`,默认为"Hello"。在函数,我们创建了一个包含问候语的字符串,并将其作为结果返回。我们展示了不同的调用方式,一种是只传递必需参数`name`,另一种是通过关键字参数传递`greeting`和`name`,并打印出结果。 通过这个例子,我们可以看到函数的两个核心概念,即函数的定义和函数的调用。定义函数时我们可以指定参数和默认值,而调用函数时我们可以传递参数并接收函数的返回结果。这个例子帮助我们更好地理解了函数的基本概念和使用方法。 ### 回答3: 函数是Python一种重要的编程概念。通过函数,我们可以将一段代码块封装起来,并根据需要进行重复调用。下面是一个简单的例子: ``` def add_numbers(a, b): """这是一个用于计算两个数字之和的函数""" result = a + b return result number1 = 10 number2 = 20 sum = add_numbers(number1, number2) print("两个数字的和是:", sum) ``` 在这个例子,我们定义了一个名为add_numbers的函数,它接受两个参数a和b。函数体,我们将a和b相加,并将结果存储在一个变量result。然后,使用return语句将result作为函数的返回值。 在主程序,我们定义了两个数字number1和number2,并调用add_numbers函数,传入number1和number2作为实际参数。函数执行完毕后,会返回计算结果,并将结果赋值给变量sum。最后,通过print函数打印出计算结果。 这个例子就展示了函数的基本用法。通过定义函数,我们可以将一段代码块封装成一个功能单元,然后在不同的地方调用它。这样可以提高代码的复用性和可读性。 函数还有其他高级用法,比如函数可以有默认参数、可以返回多个值等。但是无论是简单的还是复杂的函数,理解函数的基本概念和用法都是非常重要的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值