做网站工作室名字安徽二建标准

news/2025/10/1 15:45:36/文章来源:
做网站工作室名字,安徽二建标准,怀集县住房和城乡规划建设网站,网站软文发多了会影响参考链接#xff1a; Python中的私有变量 我们这里就直奔主题#xff0c;不做基础铺垫#xff0c;默认你有一些Python类的基础#xff0c;大家在看这篇博客的时候#xff0c;如果基础知识忘了#xff0c;可以去菜鸟教程 从一个简单的类开始 class A(): #定义一…参考链接 Python中的私有变量 我们这里就直奔主题不做基础铺垫默认你有一些Python类的基础大家在看这篇博客的时候如果基础知识忘了可以去菜鸟教程  从一个简单的类开始  class A():       #定义一个类 A a      100  #公有变量 _b    200  #公有变量 __c    300  #私有变量 __d__ 400  #公有变量 a A()     #实例化一个对象a当然可以取另外一个名字b print(a.a,a._b,a.__c,a.__d__)   #打印四个变量的值 运行结果 Traceback (most recent call last): File “c:\users\12090\desktop\a.py”, line 7, in  print(a.a,a._b,a.__c,a.d) AttributeError: ‘A’ object has no attribute ‘__c’  运行结果提示__c不能访问这里的错误信息并没有指出__c是私有变量在类外不能访问 我们程序这样改动   通过成员函数间接访问私有变量  aA,和aA()的区别  我们把第8行改造一下 去掉括号就像这样   a A会成功生成对象a而且通过对象a可以正确访问到公有变量a_bd。但是在调用函数print_c(的时候出问题错误提示 TypeError: print_c() missing 1 required positional argument: ‘self’ 提示缺少参数怎么解决这个问题呢 显示传递一个类或者对象进去  那么aA,和aA()有什么区别呢 区别是 如果是aA,则不会调用类中的构造函数 如果是aA()则会调用构造函数  A()会调用构造函数  我们来做一个实验 python中的构造函数名是系统规定的init添加后如下  class A():       #定义一个类 A a      100  #公有变量 _b    200  #公有变量 __c    300  #私有变量 __d__ 400  #公有变量 def __init__(self):   #构造函数定义 print(calling __init__....) def print_c(self):  #通过成员函数访问私有变量 return self.__c a A          #不会调用构造函数 print(a.a,a._b,a.print_c(a),a.__d__) b A()        #会调用构造函数    print(b.a,b._b,b.print_c(),b.__d__) 运行结果  当我们通过A()这种形式构造对象的时候会显示调用构造函数__init__。 当我们通过A这种形式构造对象的时候不会调用构造函数。  构造函数构造了什么  “构造”这个词是一个动词就是要造一个东西那么造什么呢其实我们上面的例子可能让初学者有点不明所以所以接下来我们让构造函数做点有意义的事情程序如下  class A():       #定义一个类 A a      100  #公有变量 _b    200  #公有变量 __c    300  #私有变量 __d__ 400  #公有变量 def __init__(self,a,b,c,d):   #通过构造函数给公有变量或者私有变量重新赋值 print(构造前:,self.a,self._b,self.__c,self.__d__) self.a a self._b b self.__c c self.__d__ d print(构造后:,self.a,self._b,self.__c,self.__d__) def print_c(self):  #通过成员函数访问私有变量 return self.__c a A(1000,2000,3000,4000)          #通过传值构造对象 运行结果  这个例子就证明了构造函数的作用  python中 self的作用  self这个单词是自己自我的意思它代表对象本身其实你可以换一个单词也可以比如you   照样可以运行 甚至一个地方用self一个地方用you也可以   self的实际意义  我们一般使用selfpython系统也默认是self但是self的作用远不止单词意思这么简单 比如我们去掉self   运行起来好像也没问题但是这里的a,_b,__c,d构造函数里面并不是公有变量中的a,_b,__c,d。怎么见得呢 我们把第七行打开  运行结果出错 Traceback (most recent call last): File “c:\users\12090\desktop\a.py”, line 13, in  a A(1000,2000,3000,4000) #调用构造函数 File “c:\users\12090\desktop\a.py”, line 7, in init print(‘构造前:’,a,_b,__c,d) UnboundLocalError: local variable ‘_b’ referenced before assignment  错误原因是本地变量_b没有引用这个local是本地的意思也就是在构造函数__init__函数作用范围内。那么第7行的a为什么没有报错呢因为a用的是参数里面的a并不是公有变量中a。 所以第12行的打印结果其实打印的是局部变量也就是说在构造函数里面我们定义了一套与公有变量同名的变量在这种情况下局部变量优先。 所以self其实非常有作用必须通过self来显示指定公有变量不然会当作局部变量。 我们还可以进一步说明这个问题  进一步证明  结论  Python类中公有变量和私有变量定义一般定义在类名下面构造函数上面比如这样 class A: 公有变量 私有变量 def init(): 。。。 其中私有变量需要有前缀下划线__ 如果成员函数(包括构造函数)中出现了与公有变量(私有变量)同名的变量则python系统会屏蔽公有变量和私有变量把改变量当成局部变量。如果要在成员函数(包括构造函数)使用公有变量和私有变量必须通过self显示指定就像这样 class A: a 100 _b 200 __c 300 def init(self,a,b,c): self.a a #使用公有变量a _b b #屏蔽了公有变量_b重新定义了一个局部变量_b self.__c c #使用私有变量__c

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923984.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

强连通,Tarjan,缩点

在本文中,我们用 \(f(x,y)=1\) 来表示 \(x\) 可以到达点 \(y\),用 \(g(x,y)=1\) 表示 \(f(x,y)=1\) 且 \(f(y,x)=1\)。 I、强连通 对于图 \(U\) 上的任意两点 \(x\) 和 \(y\),如果有 \(g(x,y)=1\),那么称 \(x,y\) …

实用指南:K8s日志架构:Sidecar容器实践指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

做网站时量宽度的尺子工具thinkphp做的网站源码

目录结构 全局文件 1.app.json 文件 用来对微信小程序进行全局配置,决定页面文件的路径、窗口表现、设置网络超时时间、设置多 tab 等。文件内容为一个 JSON 对象。 1.1 page用于指定小程序由哪些页面组成,每一项都对应一个页面的 路径(含文…

企业网站建设综合实训心得wordpress安装系统

http://home.cnblogs.com/blog/转载于:https://www.cnblogs.com/yanyanhappy/archive/2012/09/07/2675050.html

彩票网站自己可以做吗wordpress加密页面访问

文章目录 一、 Zookeeper常用命令1. zk服务命令2. zk客户端命令 二、HBASE常见运维命令1. 集群启动关闭2. 扩容增加regionserver3. 下线regionserver ing 一、 Zookeeper常用命令 例如:ZOOKEEPER_HOME:/opt/zk/zookeeper 1. zk服务命令 1. 启动ZK服务…

Python方案--交互式VR教育应用开发

Python方案--交互式VR教育应用开发pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&…

纯Qt代码实现onvif协议设备端/onvif设备模拟器/onvif虚拟监控设备/桌面转onvif

一、前言说明 在视频监控系统的开发中,ONVIF(Open Network Video Interface Forum)作为行业标准协议,被广泛应用于设备与平台之间的互联互通。通常我们认为,ONVIF 协议的设备端实现应运行在摄像头等嵌入式下位机上…

高中教做网站的软件表格制作教程 步骤

可能是明月好久没有使用境外服务器挂载境外的云盘缘故吧,今天一个代维客户需要他的Linux服务器挂载谷歌云盘好进行云备份,本来是个很简单的事儿,没想到在rclone连接谷歌云盘的时候卡壳了,可是把明月给难为坏了,搜索到的简体中文教程倒是很多,但没有一个提到这个“坑”,最…

OI 笑传 #13

zatto今天是思维题大手子。 CF2130B 左转这个东西很烦,把它规约掉。 由于是一定要到 \(n\) 的,因此左转之后必须要右转,考虑单位元,也就是左走一格之后往右走一格是怎么个事。也就是多加一倍这两个格子里的数。 考…

*补*““逆元求组合数”(费马小定理

组合数快速求法 #include <bits/stdc++.h> #define ll long long #define MAXN 1010 using namespace std; namespace SHuxinn{ll pri[MAXN];ll ni[MAXN];ll ans1 , ans2;ll pow(ll a , ll b){ll ans = 1 , base…

C# WPF中Binding的 Source属性和ElementName属性有什么区别

好的,这是一个WPF数据绑定中非常核心和常见的问题。Source 和 ElementName 都是用来设置绑定源(即数据的来源)的属性,但它们的应用场景和灵活性有显著区别。 下面通过一个对比表格和详细解释来说明它们的区别。 核…

Typora to Obsidian 迁移助手 (Typora-to-Obsidian-Migration-Helper)

一个交互式的、基于状态机模式的 Python 脚本,旨在帮助用户安全、高效地将 Typora 笔记库迁移至 Obsidian。它将多个繁琐的手动步骤整合为一个自动化的、可控的流程。本脚本基于历史文章中模块程序组合而成,能够实现…

网站怎么做关键词搜索网站建设 无法打开asp

发送报文处理 增加一个功能码映射关系 //功能码映射关系public readonly Dictionary<string, byte> ReadFuncCodes = new Dictionary<string, byte>();<

二七网站建设网站分析与优化

每当MyBatis设置PreparedStatement的参数或从ResultSet中检索值时&#xff0c;都会使用TypeHandler以适合Java类型的方式来检索值。下表描述了默认的TypeHandlers。 自MyBatis 3.4.5版本起&#xff0c;默认支持JSR-310&#xff08;日期和时间API&#xff09;。 Type HandlerJ…

台州网站建设技术支持网站上的3d产品展示怎么做

目录 一、压力的方向(FORCE) 1、为正的情况 2、为负的情况 二、压强的方向(PRESSURE)

深入解析:【APK安全】敏感数据泄漏风险与防御指南

深入解析:【APK安全】敏感数据泄漏风险与防御指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas"…

大型网站建设与维护过程学做家常菜的网站有哪些

1、过期删除策略 1.1、介绍 Redis 是可以对 key 设置过期时间的&#xff0c;因此需要有相应的机制将已过期的键值对删除&#xff0c;而做这个工作的就是过期键值删除策略。 每当我们对一个 key 设置了过期时间时&#xff0c;Redis 会把该 key 带上过期时间存储到一个过期字典…

网站设置密码最近韩国电影片

标题&#xff1a;递增三元组 给定三个整数数组 A [A1, A2, … AN], B [B1, B2, … BN], C [C1, C2, … CN]&#xff0c; 请你统计有多少个三元组(i, j, k) 满足&#xff1a; 1 < i, j, k < NAi < Bj < Ck 【输入格式】 第一行包含一个整数N。 第二行包含N个整…

详细介绍:开源 java android app 开发(十七)封库--混淆源码

详细介绍:开源 java android app 开发(十七)封库--混淆源码2025-10-01 15:05 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !impor…

Meta基础设施演进与AI技术革命

本文详细介绍了Meta从传统社交网络基础设施向AI驱动架构的演进历程,涵盖分布式系统构建、GPU集群扩展、自研芯片开发、散热解决方案等关键技术挑战与创新突破。Meta基础设施演进与AI时代 在过去的21年里,Meta从连接美…