python資料型別與c++,java資料型別區別
最近開始學習Python,都說最好的學習方式就是比較。從今天開始,用部落格來記錄Python和之前學習的C++、Java語言的區別,看看這是否是一個學習新語言的好途徑。
C++的支援的基本資料型別:bool、char、wchar_t、short、int、long、long long、float、double、long double;其中 char、wchar_t、short、int、long、long long可以通過unsigned修飾符修飾
C++中各種基本資料型別佔用的儲存空間,是依照機器來定的,c++中僅定義了各個資料型別佔用的最小儲存空間:
bool - 未定義最小儲存空間
char/unsigned char - 1個位元組
wchar_t/unsigned wchar_t - 2個位元組
short/unsigned short - 2個位元組
int/unsigned int - 2個位元組
long/unsigned long - 4個位元組
float - 單精度浮點數,6位有效數字(一般是4個位元組)
double - 雙精度浮點數,10位有效數字(一般是8個位元組)
long double - 擴充套件精度浮點數,10位有效數字(一般是12個位元組)
Java支援的基本資料型別:boolean、char、byte、short、int、long、float、double,不支援unsigned修飾符,資料型別都是帶符號的
Java中各種資料型別佔用的儲存空間,是規定好了的,並不因為機器的不同而不同。JAVA定義的各種資料型別支援的儲存空間如下:
boolean - 1位
byte - 1個位元組
char - 2個位元組
short - 2個位元組
int - 4個位元組
long - 8個位元組
float - 4個位元組
double - 8個位元組
Python支援的基本資料型別:bool型別、整型、浮點型、字串、列表、元組、集合、字典;資料型別不存在unsigned一說,都是帶符號的
Python中各種資料型別佔用的儲存空間,並沒有任何規定,完全取決於賦值的資料;所以,和C++和Java不同,python中可以表達任意大的數值
Java和C++的對比
JAVA和C++的一個大的區別是,java中資料型別的大小是固定的,這個是因為java是跨平臺的語言,顯然,如果資料型別長度都不一致,就無法實現跨平臺了。另一個區別是,JAVA的資料型別沒有C++豐富,既沒有long long、long double這種資料型別,也不支援unsigned一說。此外,在JAVA中char型別是2個位元組的,一次性解決了C++中char和wchar_t的問題
Python和JAVA/C++的對比
從上面的基本資訊可以看出來,python和C++以及Java的區別非常大,它並沒有int、long等這類定義資料型別的關鍵字,其次,它也沒有規定各個資料型別的儲存空間大小。這是因為和C++、JAVA都是靜態強型別語句不同,python是一種動態強型別語言,它不是依靠在編碼時通過關鍵字來指定變數的型別,而是通過在執行時,計算變數的取值,自動為變數選擇合適的資料型別。所以,python同樣有各種資料型別的概念,卻沒有關鍵字去定義。【所謂強型別語言,指的是一個變數的資料型別一旦被定義了(無論是靜態型別語言的通過關鍵字顯示定義,還是動態語言的自動匹配),那麼該變數的資料型別就不能被改變,除非是有強制的型別轉換髮生】
而Python中各個資料型別,並不需要定義其儲存空間,也是這個原因。Python會根據變數的取值,自動為其分配儲存空間,數值1和數值1000000000000000,對於python而言,都是整型資料,儲存佔用的空間顯然不一樣。
Python和其他兩種語言的不同之處還在於,Python本身提供了內建的複雜資料型別:字串、列表、元組、集合和字典。Python中的複雜資料型別,在JAVA和C++中都有其他的方式實現,在後面的文章中會詳細對比這幾種資料型別的差別。
轉載地址《http://galaxyflower.blog.51cto.com/9006676/1441780》
相關推薦
python資料型別與c++,java資料型別區別
最近開始學習Python,都說最好的學習方式就是比較。從今天開始,用部落格來記錄Python和之前學習的C++、Java語言的區別,看看這是否是一個學習新語言的好途徑。 C++的支援的基本資料型別:bool、char、wchar_t、short、int、lon
C++面試常見題目1_C++與C,Java的區別
new/delete是C++的運算子,malloc/free是C/C++語言的標準庫函式。 new無需顯式地指出所需記憶體的尺寸,編譯器會根據型別資訊自行計算。而malloc則需要顯式地指出所需記憶體的尺寸。 new操作符記憶體分配成功時,返回的是物件型別的指標,型別嚴格與物件匹配,無須進行型別轉換。而m
JAVA與C當中基本資料型別和基本運算子的區別
JAVA當中的資料型別 大部分跟C都一樣 ,都是相通的。不過JAVA當中有一個String型別的,這個就相當於字串了,比起C當中要用字元型陣列來實現字串要方便很多。 boolean型別
java與C語言的資料型別對應
Java和C資料型別的對應表如下: Java 型別 C 型別 原生表現 boolean int 32位整數 (可定製) byte char 8位整數
redis常見資料型別操作命令,Java中使用Jedis操作Redis
redis常見資料型別操作命令 可參考地址:Http://redisdoc.com/ Java中使用Jedis操作Redis: https://www.cnblogs.com/liuling/p/2014-4-19-04.html redis鍵(key)
買什麼資料結構與演算法,這裡有:動態圖解十大經典排序演算法(含JAVA程式碼實現)
上篇的動圖資料結構反響不錯,這次來個動圖排序演算法大全。資料結構與演算法,齊了。 幾張動態圖捋清Java常用資料結構及其設計原理 本文將採取動態圖+文字描述+正確的java程式碼實現來講解以下十大排序演算法: 氣泡排序 選擇排序 插入排序 希爾排序
C#,基礎資料型別,變數,常量
1.C#是什麼? C#是微軟公司推出的一種語法簡潔,型別安全的面向物件的程式語言。開發人員可以通過它編寫在.NET Framework 上執行的各種安全可靠的應用程式。能夠開發桌面應用程式以及WEB程式。 C#的基礎資料型別 資料型別
java基礎知識之變數與常量及java資料型別
java中的變數於常量及資料型別 Java中的變數與常量 變數定義的注意事項 java中的資料型別 自動型別提升 強制型別轉化 Java中的變數與常量 變數定義的注意事項 1.
超過 C++、壓制 Java 與 C,Python 拔得 TIOBE 年度程式語言!
作者 | 屠敏 出品 | CSDN(ID:CSDNNews) 如同兩個月前,TIOBE 程式語言社群於官網預料的那般,2018 年的年度程式語言終將在一眾老牌程式語言如 Java、C、C++、Python、Visual Basic .NET 中誕生。近日,T
資料視覺化 三步走(一):資料採集與儲存,利用python爬蟲框架scrapy爬取網路資料並存儲
前言 最近在研究python爬蟲,突然想寫部落格了,那就寫點東西吧。給自己定個小目標,做一個完整的簡單的資料視覺化的小專案,把整個相關技術鏈串聯起來,目的就是為了能夠對這塊有個系統的認識,具體設計思路如下: 1. 利用python爬蟲框架scr
Java資料型別與MySql中的資料型別對映
mysql資料庫 JDBC 對照 型別名稱 顯示長度 資料庫型別 JAVA型別 JDBC型別索引(int) 描述 VARCHAR L+
python與C,在寫程序時踩過的坑!
dex 自動 臨時 字符串 ict 不同 size 初始化 存儲 1. python與C有很多相似之處, 其一就是指針的大量應用, 因此在使用臨時變量保存數據, 並將臨時變量傳遞給其他變量時需要創建內存; 例如,在C中, char *temp 每次獲取到不同的
C# SQl通過對檢視資料二次查詢,統計資料
問題描述: 原資料---------需要在原檢視資料中,統計出每個Device_Num裝置號下面的交易的總額和分別統計出微信支付寶的交易總額。 解決:從上圖資料沒辦法使用直接查詢出要求的資料。 .1.首
Python的安裝與應用(大資料實驗一)
實驗名稱 Python的安裝與應用 專 業 軟體工程 姓 名 學 &
【Java】 大話資料結構(17) 排序演算法(4) (歸併排序) 資料結構與演算法合集 資料結構與演算法合集
本文根據《大話資料結構》一書,實現了Java版的堆排序。 更多:資料結構與演算法合集 基本概念 歸併排序:將n個記錄的序列看出n個有序的子序列,每個子序列長度為1,然後不斷兩兩排序歸併,直到得到長度為n的有序序列為止。 歸併方法:每次在兩個子序列中找到較小的那一個賦值給合併序列(通過指標進行操
【Java】 歸併排序的非遞迴實現 資料結構與演算法合集 資料結構與演算法合集
歸併排序可以採用遞迴方法(見:歸併排序),但遞迴方法會消耗深度位O(longn)的棧空間,使用歸併排序時,應該儘量使用非遞迴方法。本文實現了java版的非遞迴歸併排序。 更多:資料結構與演算法合集 思路分析 遞迴排序的核心是merge(int[] arr, int start, int mid,
Python中os.path和os.makedirs的運用(判斷檔案或資料夾是否存在,建立資料夾)
import os import numpy as np data = np.array([1, 2, 3]) if not os.path.exists("./data/"): print("# path not exists") os.makedirs("./data/")
laravel中的資料遷移表結構,欄位型別,定義整理
laravel中的資料遷移表結構,欄位型別,定義整理 /* 表引擎 */ $table->engine = 'InnoDB'; /* 類型別 */ // - 數字 $table->bigInteger('id'); $t
【Java】 大話資料結構(18) 排序演算法(5) (直接插入排序) 資料結構與演算法合集 資料結構與演算法合集
本文根據《大話資料結構》一書,實現了Java版的直接插入排序。 更多:資料結構與演算法合集 基本概念 直接插入排序思路:類似撲克牌的排序過程,從左到右依次遍歷,如果遇到一個數小於前一個數,則將該數插入到左邊所有比自己大的數之前,也就是說,將該數前面的所有更大的數字都後移一位,空出來的位置放入該數。
地圖poi資料下載與統計,全國地圖poi資料分類
全國地圖poi資料分類 1,美食,0 2,酒店賓館,0 3,休閒娛樂,0 4,生活服務,0 5,銀行金融,0 6,醫療保健,0 7,旅遊服務,0 8,運動健身,0 9,購物,0 10,汽車,0 11,教育學校,0 12,建築房產,0 13,電信郵政,0 14,交通運輸,0 15,文化場館,0 1