python“静态”变量、实例变量与本地变量的声明示例
#代码知识 发布时间: 2026-01-12
前言

虽然各种编程语言之间大部分语法存在共通的地方,但是在一些细节的处理上还是千差万别
才接触Python不久(之前是学Java的),实在想吐槽一下语言之间编码格式上的不统一问题,比如Java用分号分隔代码块,Python用空格,这无形之中增加了编码人员的学习成本
作为初学人员,还是老老实实记录一下学习过程中的坑:)
1. “静态”变量的声明
这里的静态变量是借用Java中静态变量的概念(不知道Python中的具体概念是什么),指既可以通过类名直接进行访问,也可以通过类的实例进行访问的变量。这种变量的声明很简单,直接在类代码块中设置变量即可,不需要任何关键字
Java中这样声明的变量是实例变量,只能通过对象实例进行访问
class Test: # 这是一个“静态”变量 className = "Test"
2. 实例变量的声明
实例变量是指必须通过类的实例去访问的变量
实例变量的声明比较神奇,在任意的方法中,在变量名称前面加上“self.”,该变量就变成了实例变量。这样这个变量在其他的方法中也同样可以使用了(个人感觉有点奇葩啊有木有)
所以实例变量的声明有一点特别重要,如果该实例变量会做跨方法的使用,那么实例变量声明的方法一定要在实例变量使用的方法调用之前执行
def __init__(self): # 这是一个实例变量 self.hello = Hello()
3. 本地变量的声明
本地变量是仅在类的方法中使用的变量
声明方法也很简单,直接在类的方法中定义变量即可
def who(self): # 这是一个本地变量 name = "Cain" return name
最后是一个完整的使用示例:
一个hello类:
class Hello: def who(self): # 这是一个本地变量 name = "Cain" return name
一个Test类(其中会用到hello类):
# -*- coding:UTF-8 -*-
from hello import Hello
class Test:
# 这是一个“静态”变量
className = "Test"
def __init__(self):
# 这是一个实例变量
self.hello = Hello()
def sayName(self):
# 类的方法中访问实例变量
print("My name is " + self.hello.who())
if __name__ == "__main__":
test = Test()
test.sayName()
test1 = Test()
# 通过类名直接访问静态变量
print(Test.className)
# 通过实例名访问静态变量
print(test.className)
# 通过实例名访问实例变量
print(test.hello.who())
# 通过类名直接访问实例变量会报错!!!
# print(Test.hello.who())
总结
代码知识SEO上一篇 : 中国电信宽带免费提速接口:最高升级至500兆
下一篇 : c# 死锁和活锁的发生及避免
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!