python中封裝是什么意思_Python中數據封裝是什么?

封裝——“隱藏一切可以隱藏的實現細節,只向外界暴露(提供)簡單的編程接口”。

在上節的 Student 類中,每個實例就擁有各自的 name 和 age 這些數據。我們可以通過函數來訪問這些數據,比如打印一個學生的年齡:

>>> def print_age(std):

... print('%s: %s' % (std.name, std.age))

...>>> print_age(stu1)

小白菜: 21

但是,既然Student實例本身就擁有這些數據,要訪問這些數據,就沒有必要從外面的函數去訪問,可以直接在Student類的內部定義訪問數據的函數,這樣,就把“數據”給封裝起來了。這些封裝數據的函數是和

Student類本身是關聯起來的,我們稱之為類的方法:

class Student(object): def __init__(self, name, age):

self.name = name

self.age = age def print_age(self):

print('%s: %s' % (self.name, self.age))

這樣一來,我們從外部看Student類,就只需要知道,創建實例需要給出name和age,而如何打印,都是在Student類的內部定義的,這些數據和邏輯被“封裝”起來了,調用很容易,但卻不用知道內部實現的細節。

免責聲明:內容和圖片源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394430.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394430.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394430.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jieba庫的使用

jieba庫的使用: jieba庫是一款優秀的 Python 第三方中文分詞庫,jieba 支持三種分詞模式:精確模式、全模式和搜索引擎模式,下面是三種模式的特點。 精確模式:試圖將語句最精確的切分,不存在冗余數據,適合做文…

Go語言實現HashSet

set.go // set project set.go package settype Set interface {Add(e interface{}) boolRemove(e interface{})Clear()Contains(e interface{}) boolLen() intSame(other Set) boolElements() []interface{}String() string }// 將集合other添加到集合one中 func AddSet(one S…

c#控件彈幕效果_C# Form 實現桌面彈幕

使用C# Form 簡單的實現了彈幕效果1.創建一個Form 設置2.添加一個計時器3. 代碼using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Drawing.Text;using System.Linq;using System.Text;using S…

Makefile中怎么使用Shell if判斷

/********************************************************************** Makefile中怎么使用Shell if判斷* 說明:* 譬如可能會在Makfile中需要判斷文件、文件夾的存在,使用shell語法* 輸出一些信息,等等。** …

我如何使用React和Typescript在freeCodeCamp中構建天氣應用

by Kelvin Mai通過凱文麥 我如何使用React和Typescript在freeCodeCamp中構建天氣應用 (How I built the weather app in freeCodeCamp using React and Typescript) So I finally decided to come back to freeCodeCamp and try to finish out my Front End Development Certi…

mysql結果集相減_MySQL_(Java)使用JDBC向數據庫發起查詢請求

課程相關鏈接:JDBC編程和MySQL數據庫課程源代碼在文章末尾~Java Database Connectivity簡單來說就是使用Java里面提供的一些類和方法,利用程序鏈接數據庫,進行增刪改查操作。這個過程就叫做JDBC編程接下來我們便分五步通過JDBC對MySQL中的數據…

在雙系統(Windows與Ubuntu)下刪除Ubuntu啟動項

問題概述:因為在自己學習Linux的時候,按照網上的教程錯誤的刪除了Ubuntu的一個內核驅動,導致Ubuntu不能啟動。我想到的辦法是重新安裝系統,重裝系統的第一步便是將Ubuntu從電腦中卸載。該筆記是有關如何刪除Ubuntu啟動項的。 使用…

iangularjs 模板_2018-web前端的自我介紹-優秀word范文 (5頁)

本文部分內容來自網絡整理,本司不為其真實性負責,如有異議或侵權請及時聯系,本司將立即刪除!本文為word格式,下載后可方便編輯和修改!web前端的自我介紹篇一:個人總結的web前端面試題1、自我介紹…

Teradata QueryGrid整合最佳分析技術 拓展客戶選擇空間

ZDNET至頂網CIO與應用頻道 05月11日 北京消息: 為持續幫助企業克服數據散布在不同分析系統的困難,全球領先的大數據分析和營銷應用服務供應商Teradata天睿公司宣布對Teradata QueryGrid 進行重要技術升級。此次升級新增并強化六項QueryGrid技術&#xf…

神舟筆記本bios_海爾雷神(藍天)神舟戰神游戲本風扇狂轉掉電大寫燈狂閃維修實例...

昨天收到一臺網友寄過來的海爾雷神游戲本。說到這個游戲本品牌,其實有幾個品牌的筆記本,它們的主板和模具是一模一樣的,也就是我們看到的品牌log不一樣而已。比如神舟的戰神 ,機械師,機械革命,麥本本等等。…

Oracle 學習----:查看當前時間與Sqlserver語句不一樣了

oracle:select sysdate from dual sqlserver: select getdate() ---------------------試試這個---------------------------------------------------------- insert into OracleTab values(sysdate) insert into SqlserverTab values(getdate())轉載于:https://www.cnblogs…

react發送和接收請求_React行為編程簡介:請求,等待和阻止

react發送和接收請求by Luca Matteis盧卡馬蒂斯(Luca Matteis) React行為編程簡介:請求,等待和阻止 (An intro to Behavioral Programming with React: request, wait, and block) Behavioral Programming (BP) is a paradigm coined in the 2012 artic…

leetcode96. 不同的二叉搜索樹(動態規劃)

給定一個整數 n,求以 1 … n 為節點組成的二叉搜索樹有多少種? 解題思路 *數組含義:dp[i] i個節點的不同組成結構 狀態轉移:任取節點為根節點,遍歷左右子樹可能出現的個數,dp[i]dp[left]dp[right] 初始化&#xff1a…

“康園圈--互聯網+校園平臺“項目之成果展示及項目總結

一、總體效果(ipad端截圖) 網站前臺頁面網站后臺管理臺頁面二、前臺訪問鏈接(用pc訪問效果最佳):http://www.liangzhilin.cn:9100/kangyuanquan/ (為保證數據安全,后臺管理鏈接不對外公開&#…

ajax jq 圖片上傳請求頭_Jquery ajaxsubmit上傳圖片實現代碼

這是數月前的事情了,場景是這樣的: 在進行圖片上傳的時,我發現開發人員使用的上傳圖片方式是Iframe 傳統的 http post 來處理的。而且未建立統一上傳函數。于是將代碼改造了。心想來個ajax異步上傳圖片吧,這技術應該很老套了。于…

這個免費的交互式課程在一小時內學習JavaScript

JavaScript is the most popular programming language on the web. You can use it to create websites, servers, games and even native apps. So no wonder it’s such a valuable skill in today’s job market.JavaScript是網絡上最流行的編程語言。 您可以使用它來創建網…

java中二進制怎么說_面試:說說Java中的 volatile 關鍵詞?

volatile 這個關鍵字可能很多朋友都聽說過,或許也都用過。在 Java 5 之前,它是一個備受爭議的關鍵字,因為在程序中使用它往往會導致出人意料的結果。在 Java 5之后,volatile 關鍵字才得以重獲生機。volatile 關鍵字雖然從字面上理…

類的詳解

面向對象是一種編程方式,此編程方式的實現是基于對類和對象的使用。類是一個模板,模板中包裝了多個“函數”供使用(可以講多函數中公用的變量封裝到對象中)。對象,根據模板創建的實例(即對象)&a…

leetcode279. 完全平方數(動態規劃)

給定正整數 n,找到若干個完全平方數(比如 1, 4, 9, 16, …)使得它們的和等于 n。你需要讓組成和的完全平方數的個數最少。 示例 1: 輸入: n 12 輸出: 3 解釋: 12 4 4 4. 解題思路 數組含義:dp[i]數字i對應組成和的完全平方…

什么情況不能辦理房產抵押貸款 房產抵押貸能貸多少?

所謂房產抵押貸款是指以自己或親友的房產作為抵押物向貸款機構申請貸款,款項可用于企業經營、買房、買車、裝修及其他用途的融資方式。但是有些情況是規定不能申請房產抵押貸款的,而且貸款的數額是有限的,不是想貸多少就多少。那么&#xff0…