python徵程3.0(python對象)

来源:http://www.cnblogs.com/yjds/archive/2016/09/20/5888511.html
-Advertisement-
Play Games

1.python使用對象模型來存儲數據。構造任何類型的值都是一個對象。”儘管python被當成一種面向對象的腳本的編程語言“,但你完全能夠寫出不使用任何類和實例的腳本。 python對象都擁有三個特性:(1)身份、(2)類型、(3)值、 (1)身份:每個對象都有一個唯一的身份來標識自己。可以使用內建 ...


1.python使用對象模型來存儲數據。構造任何類型的值都是一個對象。”儘管python被當成一種面向對象的腳本的編程語言“,但你完全能夠寫出不使用任何類和實例的腳本。

python對象都擁有三個特性:(1)身份、(2)類型、(3)值、

(1)身份:每個對象都有一個唯一的身份來標識自己。可以使用內建函數 id()得到。

(2)類型:對象的類型,決定了該對象可以保存的類型值。

(3)值:對象表示的數據項。

2.標準類型。

數字(分為幾個子類型,中有三個是整形)

Integer (整形)

Boolean(布爾型)

long Integer (長整型)

complex number(複數型)

string (字元串)

list (列表)

dictionary (字典)

tuple (元組)

3.其他內建類型。

類型對象和type()類型對象。

註:None沒有什麼可用的屬性,他的布爾值總是false。

4.內部類型。

代碼

跟蹤記錄

切片

省略

5.代碼對象。

(1)幀對象。

幀對象包含python解釋器在運行時所需要的所有信息。

(2)跟蹤記錄對象。

當代碼出錯,python會直接直接引發異常,並退出。

6.標準類型操作符。

(1)對象值比較。

>>>print([3,4]==[4,3])
False
>>>print([3,4]==[3,4])
True

 

我們會從註意到比較操作是針對對象的值進行的,也就是比較的是對象的值,而不是對象本身。

(2)對象身份比較。

作為對值比較的補充,Python也支持對像本身的比較。對象可以被賦值到另一個變數(通過引用)。

因為每個變數都指向同一個(共用的)數據對象,只要任何一個引用發生改變,該對象的其他引用也會隨即發生改變。

例1:foo1和foo2指向相同的對象。

foo1=foo2=4.3

從值的角度看,這條語句只是一個多重賦值,將4.3這個值賦給了foo1和foo2這兩個變數。

不過他還有另一層含義。事實是一個值為4.3的數字對象被創建,然後這個對象的引用被賦值給foo1和foo2,結果就是foo1和foo2指向同一個對象。

例2:foo1和foo2指向相同的對象

foo1=4.3

foo2=foo1

例3:foo1和foo2指向不同的對象。

foo1=4.3

foo2=1.3+3.0

註意:整型對象和字元串對象是不可變對象,所以python會高效的緩存他們。

>>>a=1,b=1
>>>id(a)
8402824
>>>id(b)
8402824
>>>
>>>c=1.0
>>>id(c)
8651220
>>>d=1.0
>>>id(d)
8651204

 

 7.布爾類型。

布爾邏輯操作符and,or,和not都是python關鍵字。

 

>>>x,y=3.1415926,-1024
>>>x<5.0
True
>>>not(x<5.0)
False
>>>(x<5.0) or (x>2.71828)
True
>>>(x<5.0) and (y>2.71828)
False
>>>not (x is y)
True

8.標準類型內建函數。

(1)type():接受一個對象作為它的參數,並返回它的類型。(返回值是一個類型對象)

>>>type(4)
<type,'int'>
>>>
>>>type("hello world")
<type,'string'>
>>>
>>>type(type(4))
<type,'type'>

 

(2)cmp():用以比較兩個對象,obj1和obj2。如果obj1<obj2則返回一個負整型。若obj1>obj2則返回一個正整形。若obj1=obj2則返回0。他的行為非常類似於c語言中的strcmp()函數,比較在對象之間進行,不管對象是不是用戶自定義的對象。

>>>a,b=-4,12
>>>cmp(a,b)
-1
>>>cmp(b,a)
1
>>>b=-4
>>>cmp(a,b)
0

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 想法:將屏幕截圖作為程式背景圖,在之上彈出提示視窗,選擇確定後進行定時圖片隨機位置顯示。(支持ESC鍵退出) 需要添加的控制項:Timer 需要修改的Form1屬性為下圖紅色區域: 資源文件的添加:添加->新建項->資源文件 ESC鍵退出程式: 在Form1.Designer.cs中增加 this.K ...
  • 相同點: 1、都可以被繼承 2、都不能被實例化 3、都可以包含方法聲明 4、派生類必須實現未實現的方法 區別: 1、抽象基類可以定義欄位、屬性、方法實現。介面只能定義屬性、索引器、事件、和方法聲明,不能包含欄位。 2、抽象類是一個不完整的類,需要進一步細化,而介面是一個行為規範。微軟的自定義介面總是 ...
  • 1.出現invalid signature 如果是微信web開發著工具出現的話,那麼可以用手機試試看,是不是有問題。 2.出現支付一閃而過 一般是授權問題,需要在微信支付-開發配置-測試授權目錄裡面添加授權目錄(註意是區分大小寫的,精確到Controller就行了,也就是二級目錄) 2.Redire ...
  • 使用jQuery調用WebApi有時會遇到跨域的問題,今天介紹一種可以簡單解決跨域問題的方法。 當我們跨域請求WebAPI的時候會提示以下信息: XMLHttpRequest cannot load http://localhost:9641/api/news/GetData. No 'Access ...
  • 0 Asp.Net Core 項目實戰之許可權管理系統(0) 無中生有 1 Asp.Net Core 項目實戰之許可權管理系統(1) 使用AdminLTE搭建前端 2 Asp.Net Core 項目實戰之許可權管理系統(2) 功能及實體設計 3 Asp.Net Core 項目實戰之許可權管理系統(3) 通過 ...
  • 一、Paramiko模塊 1.Paramiko安裝 Python的目錄下有個Scripts目錄,cd到這個目錄用這裡面的pip命令(如果添加的環境變數可以在cmd直接輸入命令):pip install paramiko。如果pip版本低會有提示,python -m pip install --upg ...
  • ➠更多技術乾貨請戳:聽雲博客 基本術語定義 1.系統棧(system stack)是一個記憶體區,位於進程地址空間的末端。 2.在將數據壓棧時,棧是自頂向下增長的,該記憶體區用於函數的局部變數提供記憶體。它也支持在調用函數時傳遞參數。 3.如果調用了嵌套的過程,棧會自上而下增長,並接受新的活動記錄(act ...
  • 題意:已知有n個城市,某歌手每月進行一場演唱會,共持續c個月,可連續兩個月在同一個城市。城市間的路費已給出,且已知每個城市在第k(1<=k<=c)個月舉辦演唱會的所得利潤,求最終的最大利潤。 分析:第i個月在第j個城市舉辦演唱會,最終可得最大利潤,由此可得狀態轉移方程:dp[i][j] = max( ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...