python3理解寫程式碼與基本型別(3)
3.1 什麼是程式碼 什麼是寫程式碼
程式碼是現實世界事物在計算機世界中的對映
寫程式碼是將現實世界中的事物用計算機語言來描述
程式碼和寫程式碼就像畫家畫畫,攝影師拍照
如果我們需要在一個世界中描述另外一個世界裡面的一些事物,我們就需要一些基本的元素和素材,在計算機世界的語言中,我們的素材就是基本資料型別,無論程式碼多複雜,都是由基本資料型別再加上我們的邏輯思維構成的。
3.2 數字:整形與浮點型
Number:數字型別 這是一個大的分類,它包括整數、小數等等
整數:int
浮點數:float
整數在其他語言中包括short、int、long
在Python中沒有short,long之分,只用int
浮點數在其他語言包括單精度(float)和雙精度(double),雙精度比單精度表示的精度高
在Python中沒有單精度、雙精度之分,只有一種float,它就是其他語言中的double
利用type()檢視其型別:
>>> type(1) <class 'int'> //整形 >>> type(-1) <class 'int'> >>> type(1.1) <class 'float'> //浮點型 >>> type(1.111111111111111111) <class 'float'> >>> type(1 + 0.1) <class 'float'> >>> type(1 + 1) <class 'int'> >>> type(1 + 1.0) <class 'float'> // 2.0屬於float型別 >>> type(1 * 1) <class 'int'> >>> type(1 * 1.0) <class 'float'> >>> type(2 / 2) <class 'float'> //兩個int用單斜槓“/”相除,結果是float型別 >>> type(2 // 2) <class 'int'> //兩個int用雙斜槓“//”相除,結果是int型別
3.3 10、2、8、16進位制
>>> 1 / 2
0.5 //用雙斜槓相除,結果是int型別
>>> 1 // 2
0 //雙斜槓是整除,只保留整數部分
10進位制:滿10進1
2進位制:滿2進1
8進位制:滿8進1
16進位制:滿16進1
3.4 各進位制的表示與轉換
進位制的表示:
>>> 0b10 2 //Python中用0b表示2進位制,回車預設轉換10進位制 >>> 0b11 3 >>> 0o10 8 //Python中用0o表示8進位制 >>> 0o11 9 >>> 0x10 16 //Python中用0x表示16進位制 >>> 0x1F 31 >>> 11 11 //Python中10進位制就是10進位制,沒有特殊的符號
各進位制間的轉換:
其他進位制向二進位制轉換用bin()
>>> bin(10)
'0b1010' //10進位制轉換成2進位制
>>> bin(0o7)
'0b111' //8進位制轉換成2進位制
>>> bin(0xE)
'0b1110' //16進位制轉換成2進位制
其他進位制向十進位制轉換用int()
>>> int(0b111)
7 //2進位制轉換成10進位制
>>> int(0o77)
63 //8進位制轉換成10進位制
其他進位制向十六進位制轉換用hex()
>>> hex(888)
'0x378' //10進位制轉換成16進位制
>>> hex(0o777)
'0x1ff' //8進位制轉換成16進位制
其他進位制向八進位制轉換用oct()
>>> oct(0b111)
'0o7' //2進位制轉換成8進位制
>>> oct(0x777)
'0o3567' //16進位制轉換成8進位制
3.5 數字:布林型別與複數
bool:真(True)、假(False)
complex:複數
>>>True
True
>>>False
False
提示:True和False的首字母要大寫
驗證True和False是布林型別
>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>
驗證布林型別在數字大分類中:
>>>int(True)
1
>>>int(False)
0
反證:
>>>bool(1)
True
>>>bool(0)
False
是不是隻有1表示True,0表示False?
答案:不是
驗證:
1.數字情況
>>>bool(2)
True
>>>bool(2.2)
True
>>>bool(-1.1)
True
>>>bool(0)
False
結論:非0表示真,0表示假
2.字串情況
>>>bool("abc")
True
>>>bool("")
False
3.列表情況
>>>bool([1,2,3])
True
>>>bool([])
False
4.其他情況
>>>bool({1,2,3})
True
>>>bool({})
False
結論:非空表示真,空表示假
特殊情況:
>>>bool(None)
False
複數表示:
>>> 36j
36j
3.6 字串:單引號與雙引號
str:字串
表示字串的方法有單引號、雙引號、三引號
>>> 'hello world'
'hello world' //單引號
>>> "hello world"
'hello world' //雙引號
型別的區分
‘1’≠1
驗證:
>>> type(1)
<class 'int'> //1是int
>>> type('1')
<class 'str'> //'1'是str
python中只能用英文的符號
字串為什麼有單引號、雙引號的表示方法?
因為引號表示字串時必須要成對出現,而有的字串中含有單引號或者雙引號
例如:
>>>"let's go"
"let's go"
>>>'let"s go'
"let"s go" //兩個單引號中間加上雙引號是沒有問題的
若都是單引號:
如果文字中含有單引號,而你又想用單引號表示字串,就用轉義字元吧~
>>>'let\'s go'
"let's go" //反斜槓 \ 為轉義字元
PS:此處不推薦用轉義字元, 因為麻煩且不美觀~
3.7 多行字串
python建議每行最多展示79個字元,可用三引號換行,三個單引號與三個雙引號皆可
>>> '''hello world
hello world
hello world
'''
'hello world\nhello world\nhello world\n' // \n為回車
>>> """hello world\n hello world"""
'hello world\n hello world'
用print()函式能夠看到轉義字元轉譯之後的格式:
>>> print( """hello world\nhello world""")
hello world
hello world
>>> """hello
world"""
'hello\nworld'
>>> 'hello\
world' //加上反斜槓進行換行(單引號/雙引號的換行方式)
'helloworld'
3.8 轉義字元
轉義字元:是一種特殊的字元,是無法“看見“的字元或與語言本身語法有衝突的字元
\n 換行
’ 單引號
\t 橫向製表符(八個空格)
\n 換行,游標在下一行開頭
\r 換行,游標在上一行開頭
不是同一個概念
>>> print('hello \\n world')
hello \n world
>>> print('c:\\north\\west')
c:\north\west
3.9 原始字串
字串前面加上r或者R變為原始字串,所見即所得
>>> print(r'c:\north\west')
c:\north\west
3.10 字串運算一
拼接:+
>>> "hello" + "world"
'helloworld'
重複:*
>>> "hello" * 3
'hellohellohello' //只能和數字相乘
擷取任意字元:[int]
>>> "hello world"[0]
'h' //下標序號從0開始
>>> "hello world"[3]
'l'
>>> "hello world"[-1]
'd' //正數代表獲取字元序號,負數代表從末尾數n次得到的字元
>>> "hello world"[-3]
'r'
3.11 字串運算二
擷取一組字元:[起點:終點的後一位]
>>> "hello world"[0:5]
'hello'
>>> "hello world"[0:-1]
'hello worl' //負數表示步長,步長就是一個長度,表示從字串的末尾往前數1個字元~
>>> "hello world"[2:-3]
'llo wo'
3.12 字串運算三
輸入數字大於其最大值則定義為其最大值
>>> "hello world"[6:30]
'world'
用兩種方式擷取"hello world"中的“world"
用正數擷取:
>>> "hello world"[6:11]
'world'
用負數擷取:
>>> "hello world"[6:]
'world' //從第6個字元擷取到末尾
[int:]代表著擷取到最後:
>>> "hello world"[6:]
'world'
[:int]代表著從開始開始擷取:
>>> "hello world"[:-5]
'hello '
[負數:]代表從倒數位開始擷取到最後:
>>> "hello world"[-4:]
'orld'
相關推薦
python3理解寫程式碼與基本型別(3)
3.1 什麼是程式碼 什麼是寫程式碼 程式碼是現實世界事物在計算機世界中的對映 寫程式碼是將現實世界中的事物用計算機語言來描述 程式碼和寫程式碼就像畫家畫畫,攝影師拍照 如果我們需要在一個世界中描述另外一個世界裡面的一些事物,我們就需要一些基本的元素和素材,在計
三、Git入門與基本使用(3)
hang roc rebase change cti http 直接 out watermark 11、分離頭指針情況下的註意事項 所謂分離頭指針,即在git切換到某一commit時,沒有綁定在分支或者tag上,此時如果在該commit下進行了文件修改,並且提交c
Squid代理服務器的了解與基本配置(一)
使用 poll() 處理 nologin fec 隱藏 了解 情況下 chown 前言Squid(Squid cache,簡稱Squid)是Linux系統中最常用的一款開源代理服務軟件,可以很好地實現HTTP和FTP,以及DNS查詢、SSL等應用的緩存代理,功能十分強大。搭
LVS負載均衡群集的了解與基本配置(一)
企業 比例 請求 process 綜合 三層 多臺 nas 路由 前言:今天要給大家介紹的是LVS群集,在企業中應用非常廣泛,是為了實現負載均衡,提高服務器的工作效率,當其中有服務器發生故障的時候也不會影響客戶的訪問。 一、群集技術概述1、群集的含義來源於英文單詞‘Clus
webpack安裝與基本配置(一)
webpack安裝與基本配置(一) 1.假設你已經有了一個需要打包的專案,那麼我們開始以下操作 2.在src目錄下新建一個webpack的配置檔案叫做webpack.config.js 說明: 這個檔名可以修改,但是跟
Python運維開發:運算子與資料型別(二)
python物件的相關術語: python程式中儲存的所有資料都是圍繞物件這個概念展開的: 程式中儲存的所有資料都是物件 每個物件都有一個身份、一個型別和一個值 例如,school='MaGe Linux'會以'MaGe Linux'建立一個字串物件,其身份是指向它在記憶體中所處位
django之ORM介紹與基本用法(一)
一、ORM介紹 1.什麼是ORM ORM 全拼Object-Relation Mapping. 中文意為 物件-關係對映. 在MVC/MVT設計模式中的Model模組中都包括ORM 2.ORM優勢 (1)只需要面
C++變數和基本型別(二)基本內建型別
變數 型別說明符 + 型別修飾符 + 變數名的形式 進行宣告一個變數。 int* intPointer; C++中的物件就是能儲存資料並有一定資料結構型別的記憶體空間。int型別也是物件。物件指的是可以被修改的資料,值指的是隻讀型別。
Spark2.1.0模型設計與基本架構(上)
隨著近十年網際網路的迅猛發展,越來越多的人融入了網際網路——利用搜索引擎查詢詞條或問題;社交圈子從現實搬到了Facebook、Twitter、微信等社交平臺上;女孩子們現在少了逛街,多了在各大電商平臺上的購買;喜歡棋牌的人能夠在對戰平臺上找到世界各地的玩家對弈。在國內隨著網民數量的持續增加,造成網際網路公
Spark2.1.0模型設計與基本架構(下)
閱讀提示:讀者如果對Spark的背景知識不是很瞭解的話,建議首先閱讀《SPARK2.1.0模型設計與基本架構(上)》一文。 Spark模型設計 1. Spark程式設計模型 正如Hadoop在介紹MapReduce程式設計模型時選擇word count的例子,並且使用圖形來說明一樣,筆者對於Spark程式設計
C++ 學習筆記 變數和基本型別(一)
C++ 學習筆記 一、變數和基本型別概述 型別是所有程式的基礎。型別告訴我們資料代表什麼意思以及可以對資料執行哪些操作。 c++基本型別: 字元型 整型 浮點型 c++ 還提供了可用於自定義資料型別的機制,標準庫正式利用了這些機制定義了許多更復雜的型別,比如可變長字串string 和vector等。此外,
寫程式碼的小女孩(轉)
天冷極了,下著雪,又快黑了。這是NOIP的前夜。在這又冷又黑的晚上,一個衣衫破爛的小女孩在機房敲著程式碼。她從班裡逃出來的時候還拿著一本算導,但是有什麼用呢?那是一本很破舊的書——那麼大,一向是她媽媽墊桌角的。她默寫SPFA的時候,年級主任突然衝進機房,嚇得她把
深入理解JS原型與原型鏈(一)
一. 普通物件與函式物件 JavaScript 中,萬物皆物件!但物件也是有區別的。分為普通物件和函式物件,Object 、Function 是 JS 自帶的函式物件。下面舉例說明 var o1 = {}; var o2 =new Object(); var o3 = new f1
深入理解JS原型與原型鏈(二)
四. proto JS 在建立物件(不論是普通物件還是函式物件)的時候,都有一個叫做__proto__ 的內建屬性,用於指向建立它的建構函式的原型物件。 物件 person1 有一個 __proto__屬性,建立它的建構函式是 Person,建構函式的原型物件是 Person.proto
深入理解JS原型與原型鏈(三)
七. 函式物件 (複習一下前面的知識點) 所有函式物件的proto都指向Function.prototype,它是一個空函式(Empty function) Number.__proto__ === Function.prototype // true Number.constru
Ceph 學習——OSD讀寫流程與原始碼分析(一)
直接上圖: 同樣當前最新的版本,和之前的版本有所不同,有一些模組簡化了,類的名字也改了。先介紹圖中涉及的相關的類,然後在對類中具體函式主要呼叫流程進行分析。 OSD 模組主要的類 盜圖:其中ReplicatedPG 在最新的版本中
python變數與資料型別(一)
python的資料型別有幾種: 整數:如1,2,3,4這種 浮點數:12.2。只要有小數點的都認為是浮點數,如果寫成12. 也認為是浮點數。浮點數預設是沒有大小限制的,但是如果太大的 話就會變成inf,無限大的意思。 字串:用''或“”來擴起
c++ primer 筆記第二章變數和基本型別(二)
2.4 const限定符 const定義的變數不能改變,因此const變數必須初始化。可以使用表示式初始化。 預設狀態下const物件僅在檔案內有效。 可以在宣告和定義都加extern。 練習2.26 (a) 不合法,未初始化 (b) 合法 (c) 合法 (d) 不合
第九回:品味型別---值型別與引用型別(中)-規則無邊
本文將介紹以下內容: 型別的基本概念 值型別深入 引用型別深入 值型別與引用型別的比較及應用 1. 引言 上回[第八回:品味型別---值型別與引用型別(上)-記憶體有理]的釋出,受到大家的不少關注,我們從記憶體的角度瞭解了值型別和引用型別的所以然,留下的任務當然是
jQuery 之 選擇器與事件型別(二)
hover() hover()方法用於模擬游標懸停事件.當滑鼠移動到元素上時,會觸發指定的第一個函式(mouseenter);當滑鼠移出這個元素時,會觸發指定的第二個函式(mouseleave)。 例項 $("#p1").hover(function(){ alert("You entered p1!")