1. 程式人生 > >python3理解寫程式碼與基本型別(3)

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!")