1. 認識python中的數據類型 - 字元串
字元串是Python中最常用的數據類型,我們一般使用引號來創建字元串,創建字元串很簡單,只要為變數分配一個值即可,後面 python入門教程 還會學到關於字元串的下標、切片、常用操作方法。
注意:控制台顯示結果為<class 'str'>,即數據類型是str(字元串)
以前我們只是簡單的用了一下字元串,比如最早學的過程中我們用了一個input()函數,它是用來接收用戶輸入的數據的,收到的數據的數據類型就是字元串。只要在Python開發環境當中,接收到的數據數據類型都是字元串類型,用戶輸入了數據就代表我們後期會使用到它,所以就要控制接收到的字元串數據,所以字元串是Python當中最常用的數據類型。
可能僅僅一個input說明不了什麼問題,後期會學到用Python語言來控制文件對的讀寫操作,在文件當中讀取寫入的數據類型都是字元串類型,所以字元串在文件這里也是常見的類型。可能將來要學習爬蟲,要從網頁中爬取到我們想要的數據,爬取對的數據的類型本身也是字元串類型,所以字元串類型數據來源是多方多面的,之所以數據能夠獲取來是代表我們的程序要去控制它,所以避免不了要學習字元串的一些常見操作。
1、一對引號字元串(單引號或雙引號)
2、三引號字元串
返回結果:
3、單引號、雙引號和三引號之間的區別
區別:三引號形式的字元串支持換行,並且不會添加額外的字元
如果想列印出 I』m Python這種格式的英文,怎麼做?兩種方法
執行結果:
2. 如何系統地自學Python你知道哪些相關的學習小技巧
Python即計算機高級編程語言,能夠簡單有效的面向對象編程,它的本質就是ABC語言的替代品,想要自學就要先學會編程,在基礎入門時,就需要對自己有一個清醒的認知,掌握編程語言,要能夠看得懂復雜的編程代碼,清楚自己學習編程的目標,朝著既定目標前進,嘗試收集一些相關資料,建立牢固的編程思維,在看到無法理解的代碼時,可以選擇輔助工具幫忙理解。
想要更好地學習Python編程技術,就像學生學習那樣進行刷題,鞏固所學知識,提高編程效率,遇到困難時,不輕言放棄,遇到程序錯誤和異常時,多查找原因,詢問前輩,積極動手實踐解決,總的來說,就是要多學多看多練,學習Python編程技術,從來都不是一蹴而就的,要努力堅持下去,最後,不要為了學習一門編程語言而去學習,從始至終不要忘記自己學習Python編程的目標。
3. 【Python】基礎總結
input("提示性信息")
如:
input("請輸入數字")
因為 Python 沒有特別人為規定數據類型,數據類型是由計算機進行判定,所以我們 input() 輸入的數據均默認作為字元串處理,而如果要輸入一些數字,著需要 eval() 評估函數對字元串進行評估,化為語句(數字)。
print(...)
默認空一行,如果想不空行,則
print(...., end = "")
特性:
進制:
特性:
浮點數間運算存在不確定尾數,不是 bug
如:0.1+0.3 → 0.4
0.1+0.2 → 0.30000000000000004
這是由於在計算機中一切數據都是化為二進制進行存儲的,而有的浮點數並不能完全化為相等的二進制數,只能無限趨近於二進制數。
如:0.1 →
解決方法:
四捨五入:
例如:z = 1.23e-4 + 5.6e+89j
z.real 獲得實部,z.imag 獲得虛部
三種類型存在一種逐漸「擴展」或「變寬」的關系:
整數 → 浮點數 → 復數
特點:
字元串有 2 類共 4 種表示方法:
擴展:
使用[]獲取字元串中一個或多個字元
使用[M:N:K]根據步長對字元串切片
{<參數序號>:<格式控制標記>}
> 右對齊
^ 居中對齊 | 槽設定的輸出寬度 | 數字的千位分隔符 | 浮點數小數精度 或 字元串最大輸出長度 | 整數類型
b , c , d , o , x , X
浮點數類型
e , E , f , % |
填充、對齊、寬度這三個一組,例如:
"{0:=^20}".format("PYTHON")
→ '=======PYTHON======='
"{0:*>20}".format("BIT")
→ '*****************BIT'
"{:10}".format("BIT")
'BIT '
剩下的三個一組,例如:
"{0:,.2f}".format(12345.6789)
→ ,345.68'
"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}x".format(425)
→ ,Σ,425,651,1a9,1A9'
"{0:e},{0:E},{0:f},{0:%}".format(3.14)
Ɖ.140000e+00,3.140000E+00,3.140000,314.000000%'
↓CloseCode↓
使用 raise 語句拋出一個指定的異常。
raise [Exception [, args [, traceback]]]
緊湊形式:適用於簡單表達式的二分支結構
<表達式1> if <條件> else <表達式2>
例如:
↓CloseCode↓
↓CloseCode↓
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
由條件控制的循環運行方式
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
↓CloseCode↓
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
↓CloseCode↓
可選參數例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
可變參數例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
在函數定義中,經常會碰到 *args(arguments) 和作為參數 **kwargs(keyword arguments)。
(事實上在函數中,和才是必要的,args 和 kwargs 可以用其他名稱代替)
*args 是指不定數量的非鍵值對參數。
**kwargs 是指不定數量的鍵值對參數。
*args 作為作為元組匹配沒有指定參數名的參數。而 **kwargs 作為字典,匹配指定了參數名的參數。
*args 必須位於 **kwargs 之前。
args( 通常緊跟一個標識符,你會看到a或者args都是標識符)是python用於接收或者傳遞任意基於位置的參數的語法。當你接收到一個用這種語法描敘參數時(比如你在函數def語句中對函數簽名使用了星號語法),python會將此標識符綁定到一個元祖,該元祖包含了所有基於位置的隱士的接收到的參數。當你用這種語法傳遞參數時,標識符可以被綁定到任何可迭代對象(事實上,它也可以是人和表達式,並不必須是一個標識符),只要這個表達式的結果是一個可迭代的對象就行。
**kwds(標識符可以是任意的,通常k或者kwds表示)是python用於接收或者傳遞任意基於位置的參數的語法。(python有時候會將命名參數稱為關鍵字參數,他們其實並不是關鍵字--只是用他們來給關鍵字命名,比如pass,for或者yield,還有很多,不幸的是,這種讓人疑惑的術語目前仍是這門語言極其文化根深蒂固的一個組成部分。)當你接收到用這種語法描敘的一個參數時(比如你在函數的def語句中對函數簽名使用了雙星號語法)python會將標識符綁定到一個字典,該字典包含了所有接收到的隱士的命名參數。當你用這種語法傳遞參數時,標識符只能被綁定到字典(我ID號I它也可以是表達式,不一定是一個標識符,只要這個表達式的結果是一個字典即可)。
當你在定義或調用一個函數的時候,必須確保a和k在其他所有參數之後。如果這兩者同時出現,要將k放在a之後。
lambda函數返回函數名作為結果
↓CloseCode↓
例如:
↓CloseCode↓
運行結果:
↓CloseCode↓
謹慎使用lambda函數
4. 一文搞懂python數據類型和結構
每次python從入門到精通都是從頭開始看,做這個學習筆記主要是為了讓自己可以省去學習數據類型和結構那幾章的時間,所以「偷懶」可以促進生產力發展......
分別是: 整數型、浮點型、復數、常量、布爾型、字元串 。其中復數基本不會使用到,可以不用太關注
分別是 列表、字典、集合和元組 ,其中最常見並且工作中經常使用到的就是列表和欄位,其他兩個不常見。
02、字典
列表之外,字典可能是python中用的也比較多的數據結構了,由於字典的底層應用哈希映射,所以要求字典的所有key必須是不可變元素(可哈希對象),增刪改查操作一般都能實現O(1)復雜度,是低復雜度的必備數據結構。
03、集合
集合(set)是一個無序的不重復元素序列。
可以使用大括弧 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典。
集合操作可能最常見於用於對列表去重,它的最大特性是各元素僅保留1次,底層也是應用了哈希函數,所以在集合中查找元素一般也可實現O(1)復雜度,同時集合的嵌套元素也要求是不可變類型(可哈希對象)
add:在集合中增加一個元素,如果元素已存在,則無實際操作
pop:不接受任何參數,堪稱是最神秘的操作,不同於列表的從尾端刪除、字典的指定鍵刪除,集合的pop操作看似是"隨機"刪除。但實際上是按照加入集合的先後順序,刪除"最早"加入的元素
除了與列表和字典中類似的增刪改操作外,集合還支持數學概念下的集合操作,如交集、並集、差集等。
04、元組
如果說列表、字典和集合都有其各自擅長應用場景的話,那麼元組可能是最沒有存在感的數據結構:它介面有限、功能單一,而且是不可變類型。一般而言,用元組解決的問題都可以用列表實現。但使用用元組時,更多在於暗示該序列為不可變類型。當然,當元組內嵌套子列表時實際上是可以對嵌套的子列表進行更改操作的。
https://github.com/zqkyy/py_basic_structure
有問題可以私信我,歡迎交流!
5. Python其實很簡單 第五章 基本數據類型
編程的目的就是為了處理信息,信息則是由各種不同類型的數據表示的,對數據的進一步處理也會使信息更加豐富和有效。
5.1變數
前面已經提到過「變數」這屬語,下面再進一步解釋一下。
在程序運行時,必須把數據導入計算機的存儲單元中,但存儲單元的命名是用二進制數表示的,晦澀難懂。為了方便起見,可以給存儲單元起上一個通俗易懂的名字,即 變數名 。
變數的生命周期和程序的運行周期是相同的,一個程序運行解釋,所佔用的存儲空間也就隨之釋放,用變數名表示的數據所佔用的這個存儲單元也就空閑了。
變數名的命名規則:
由字母、數字、下劃線構成,必須由字母開頭。
不能包含-、*、?、#、、;、/、、@、%、$、空格等特殊字元。
最好使用有含義的英文單詞或漢語拼音。
最好採用小寫字母。
不能使用保留字(已被Python語言系統本身賦予特定意義的單詞)。Python的保留字如下表所示。
Python保留字列表
Python是區分大小寫的,雖然可以將一個英文單詞通過字母大小寫不同而作為不同變數的變數名,但從程序可讀性的角度看,的確不可取。
Python是一種動態類型的語言,變數的類型由變數的值決定。換而言之,給變數賦何種類型的值,變數就是該值的類型。給變數賦值可以通過賦值號(=)來實現。如:
>>> myvar=100
>>> type(myvar)
>>> myvar='tom'
>>> type(myvar)
在這個例子中,變數myvar首先賦值為100,顯而易見,100是個整數,通過type()這個函數檢測,變數myvar的類型為整數類型(int);接下來變數myvar賦值為『tom』,通過type()這個函數檢測,變數myvar的類型改變為字元串類型(str)。
不僅可以給一個變數賦值為常量,也可以賦值為另一個變數。如:
>>> a=100
>>> b=a
>>> b
100
在這個例子中,「b=a」的實際意義是,變數b和變數a指向同一個存儲單元,既然是同一個存儲單元,變數b和變數a本質上就是完全相同的,這就好比一個人除了本名之外,還有其他的名字,如筆名、昵稱、乳名等等,雖然本質一樣,但是可以在不同場合使用。
5.2關於Python的常量問題
在大多數語言中都有常量這個概念,但是Python卻沒有。其實仔細想想也好像沒有設置常量的必要,只要一個變數的值不發生變化,即不給變數重新賦值,它的值當然不會變化,它便是個常量。
5.3基本數據類型
5.3.1整數型和浮點數
整數型(integer),可以是正整數、負整數和0,可以是十進制、八進制、二進制等。
浮點數(float),由整數部分和小數部分組成,主要用於處理包括小數的數。浮點數也可以用科學計數法表示。
5.3.2 字元串類型
字元串類型是由一系列的字母或者其他符號組成的數據序列,通常用單引號、雙引號或三引號括起來。
用單引號和雙引號括起來的字元串只能放在同一行,用三引號括起來的字元串可以分布在連續多行上。如:
name='我的名字叫王小明'
old="今年6歲"
introce='''我想說: 我是中國娃
愛講普通話
要學習寫標準的漢字'''
print(name)
print(old)
print(introce)
運行結果為:我的名字叫王小明
今年6歲
我想說: 我是中國娃
愛講普通話
要學習寫標準的漢字
不管是哪一種引號形式,括起來的部分是一個整體,包括空格和換行符都屬於字元串的一部分。
為了保證特殊的輸出效果,Python中的字元串支持轉義字元,可使用反斜杠「」對一些特殊字元進行轉義。常用的轉義字元如下:
續行符
換行符
空
水平製表符
」 雙引號
』 單引號
一個反斜杠
f 換頁
其中,續行符(「」)用於當一個字元串在一行寫不下時用續行符進行連接,但通常更多的採用小括弧「()」即可。
如:
第一種方法採用續行符(「」):
>>> str="A thousand wishes, a thousand plans and
a thousand resolutions are better than one action!"
>>> print(str)
A thousand wishes, a thousand plans and a thousand resolutions are better than one action!
第二種方法採用小括弧():
>>> str=("A thousand wishes, a thousand plans and "
"a thousand resolutions are better than one action!")
>>> print(str)
A thousand wishes, a thousand plans and a thousand resolutions are better than one action!
下面舉例說明換行符(「 」)的用法:
>>> str=" 登鸛雀樓 白日依山盡, 黃河入海流。 欲窮千里目, 更上一層樓。 "
>>> print(str)
登鸛雀樓
白日依山盡,
黃河入海流。
欲窮千里目,
更上一層樓。
下面舉例說明使用轉義字元輸出雙引號(「)的方法:
>>> str="王之渙的詩《登鸛雀樓》中這樣寫道:" 白日依山盡,黃河入海流。欲窮千里目,更上一層樓。""
>>> print(str)
王之渙的詩《登鸛雀樓》中這樣寫道:" 白日依山盡,黃河入海流。欲窮千里目,更上一層樓。"
>>>
5.3.3布爾類型
布爾類型用來表示邏輯值,所謂邏輯判斷的結果,不外乎「真」或「假」兩種情況。在Python中「真」用True表示,「假」用False表示。如果布爾類型的變數參與算數運算,則True被當作1,False被當作0。
如:
>>> result=True
>>> print(result)
True
>>> print(result+1)
2
>>> result=False
>>> print(result)
False
>>> print(result+1)
1
5.3.4類型強制轉換
Python是一種弱數據類型語言,可以通過給變數重新賦值的方法改變數據類型。但有時為了強制改變數據類型,就要使用類型轉換函數來改變。
譬如,為了從鍵盤讀入成績的數據,可以用float()函數將input()語句讀入的字元串轉換為浮點數,再賦值給變數score。
>>> score=input("請輸入您的成績:")
請輸入您的成績:96.5 (從鍵盤輸入96.5)
為了計算成績比及格線高了多少分,使用下面的命令,發現出現了錯誤提示如下:
>>> score-60
Traceback (most recent call last):
File " ", line 1, in
score-60
TypeError: unsupported operand type(s) for -: 'str' and 'int'
這是屬於類型錯誤,原因是從鍵盤讀入的成績值(96.5)並非數值類型,不能參與算數運算。用type()函數可以進一步查詢變數score的數據類型。
>>> type(score)
使用float()函數進行強制轉換後,就可以解決上述問題:
>>> score=float(input("請輸入您的成績:"))
請輸入您的成績:96.5
>>> score=float(score)
>>> type(score)
>>> score-60
36.5
下表列舉了一些常用的類型轉換函數:
6. python基礎教程-數據類型詳解
python提供了多種的數據類型,用來存放數據。其中數據類型中又包括:字元串,布爾類型,整數,浮點數,數字,列表,元組,字典,日期。
1、字元串
a='this is string'print aa="this is string"print aa='''this is stringthis is stringthis is string'''print a
布爾類型
常見的用於循環判斷中
整數
a=int(80.9741)print a
浮點數
a= float(80.974)print a
字元類型的轉換
int(x [,base]) 將x轉換為一個整數
float(x ) 將x轉換到一個浮點數
complex(real [,imag]) 創建一個復數
str(x) 將對象x轉換為字元串
repr(x) 將對象x轉換為表達式字元串
eval(str) 用來計算在字元串中的有效Python表達式,並返回一個對象
tuple(s) 將序列s轉換為一個元組
list(s) 將序列s轉換為一個列表
chr(x) 將一個整數轉換為一個字元
unichr(x) 將一個整數轉換為Unicode字元
ord(x) 將一個字元轉換為它的整數值
hex(x) 將一個整數轉換為一個十六進制字元串
oct(x) 將一個整數轉換為一個八進制字元串
列表
L1 = [1,2,3]print L1L2 = ['abc']print L2L3 = ["a","b","c"]print L3L = list("Python")print Lprint L[0]print L[3]print L[-1]
Python的元組與列表類似,不同之處在於元組的元素不能修改;元組使用小括弧(),列表使用方括弧[];元組創建很簡單,只需要在括弧中添加元素,並使用逗號(,)隔開即可,例如:
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
字典(dictionary)是除列表之外python中最靈活的內置數據結構類型。列表是有序的對象結合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
字典由鍵和對應的值組成。字典也被稱作關聯數組或哈希表。基本語法如下:
dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'};
時間日期
import time, datetime;localtime = time.localtime(time.time())today = datetime.date.today()print "Local current time :", today
7. 如何用Python高效地學習數據結構
所謂數據結構,是指相互之間存在一種或多種特定關系的數據類型的集合。
Python在數據分析領域中,最常用的數據結構,莫過於DataFrame了,今天我們就介紹如何高效地學習DataFrame這種數據結構。
要學習好一種東西,最好給自己找一個目標,達到了這個目標,我們就是學好了。一般,我在學習一門新的語言的數據結構的時候,一般要求自己達到以下五個要求:
第一個問題:概念,這種數據結構的概念是什麼呢?
第二個問題:定義,如何定義這種數據結構呢?
第三個問題:限制,使用這種數據結構,有什麼限制呢?
第四個問題:訪問,訪問這種數據結構內的數據的方式是什麼呢?
第五個問題:修改,如何對這種數據結構進行增加元素、刪除元素以及修改元素呢?
8. python可以做數據分析,好處是什麼呢怎麼學習
鏈接:https://pan..com/s/1FJZAznKSbwv-X52AM7uSfg
煉數成金:Python數據分析。Python是一種面向對象、直譯式計算機程序設計語言。也是一種功能強大而完善的通用型語言,已經具有十多年的發展歷史,成熟且穩定。Python 具有腳本語言中最豐富和強大的類庫,足以支持絕大多數日常應用。 Python語法簡捷而清晰,具有豐富和強大的類庫。它常被昵稱為膠水語言,它能夠很輕松的把用其他語言製作的各種模塊(尤其是C/C++)輕松地聯結在一起。
課程將從Python的基本使用方法開始,一步步講解,從ETL到各種數據分析方法的使用,並結合實例,讓學員能從中借鑒學習。
課程目錄:
Python基礎
Python的概覽——Python的基本介紹、安裝與基本語法、變數類型與運算符
了解Python流程式控制制——條件、循環語句與其他語句
常用函數——函數的定義與使用方法、主要內置函數的介紹
.....