萌新向Python數據分析及數據挖掘 第一章 Python基礎 (上)未排版
因word和博客編輯器格式不能完全對接,正在重新排版,2019年1月1日發出第一章完整版
本文將參考《Python編程 從入門到實踐》的講述順序和例子,加上自己的理解,讓大家快速了解Python的基礎用法,並將拓展內容的鏈接添加在相關內容之後,方便大家閱讀。
好了!我們開始第一章的學習。
第一章 Python基礎
python安裝以及環境搭建
python的安裝和環境變量的配置通過百度查詢即可解決,這裏不作贅述。
IDE的選擇:因為後期需要用來做數據分析,所以直接安裝Anaconda會是一個不錯的選擇
Anaconda詳細安裝使用教程
https://blog.csdn.net/program_developer/article/details/79677557
變量和簡單的數據類型
這裏可以想成Python是你的計算器,print(內容)的形式用來讓呈現顯示文字內容。
變量
變量可以這麽理解:你有個朋友叫做斯坦尼斯拉夫斯基,你和他很要好,天天基在一起,但是他的名字太長了,叫起來好煩,所以你叫他屎蛋,這個“屎蛋“,就是斯坦尼斯拉夫斯基的變量名稱,你叫他”屎蛋”或者斯坦尼斯拉夫斯基效果是一樣的,但是叫屎蛋比較方便。當然你可以把這個稱號放到別的東西身上,但是在Python的規則中,一個變量名只能對應一個實體,一個實體,可以有多個綽號。
將一條消息存儲到變量中,再將其打印出來。
- stan="Hello,Konstantin Stanislavski!" #將"Hello,Konstantin Stanislavski!"命名為stan
- print(stan) #打印stan,-----print(內容)的形式用來讓呈現顯示文字內容。
輸出:
Hello,Konstantin Stanislavski!
變量的命名規則
首字符必須是字母(大寫或小寫)或者一下下劃線(’_’)
名稱的其他部分可以由字母(大寫或小寫)、下劃線(‘ _ ’)或數字(0-9)組成
對大小寫敏感
有效變量名稱的例子有 k、__my_num、name_1 和 a4b5_c6
無效 標識符名稱的例子有 2board、this is me和my-num
變量的賦值: 變量名=值
字符串
字符串是由數字、字母、下劃線組成的一串字符,當作字符串的數字不能用於計算,就像員工ID號一樣,只是編碼,沒有計算意義。
字符串是不可變的,一旦創造了一個字符串,就不能再改變它。
【單引號(‘)】和【雙引號(")】兩者使用都是相同的,即‘hello‘ 等同 "hello"
【三引號(‘‘‘或""")】可以表示一個多行的字符串,在三引號中可以自由的使用單引號和雙引號
【轉義符】可以用 \‘ 來指示單引號——註意這個反斜杠,即‘What\‘s your phone number?‘。另一個表示這個特別的字符串的方法是"What‘s your phone number?",即用雙引號。在一個字符串中,行末的單獨一個反斜杠表示字符串在下一行繼續,而不是開始一個新的行。
【自然字符串】前綴r或R表示“自然字符串”,轉義失去意義,所見即所得。
【Unicode字符串】加前綴u或U, 如 u"this is an unicode string"
有時候字符串中的字母不符合我們強迫癥的需求,所以Python提供了一些方法來統一字母的大小寫。
- name=‘Eric‘
- print(name.lower()) #每個字母小寫
- print(name.upper()) #每個字母大寫
- print(name.title()) #首字母大寫
輸出:
eric
ERIC
Eric
有時候拿到的數據一些手殘或者其他原因導致字符串前後帶有空格,這種屈辱強迫癥是不能忍的,必須把這些空格給我砍掉。
數字
來了,計算器來了~!
4種類型的數:整數、長整數、浮點數和負數。主要運算有加()、減(-)、乘(*)、除(/)。另外,乘方使用兩個乘號表示,比如 3**2 ,即3的平方。
整數int:6、-1、070、-0520、-0x350、0x59等。
長整數long:5146561L、0132L、-0x19423L。長整型也可以使用小寫L,但是還是建議大寫L,避免與數字”1”混淆。Python使用”L”來顯示長整型。
浮點數float:0.0、14.50、44.8e12、60.1E-12等。
復數complex:3.5j、4e5J等。用a bj,或者complex(a,b)表示, 復數的實部a和虛部b都是浮點型。
使用 str()可以將非字符串值表示為字符串。
- print(53)
- print(10-2)
- print(2*4)
- print(16/2)
- print(2**3) #2的3次方
輸出:
8
8
8
8.0
8
關於這部分的官方文檔:
https://docs.python.org/3/tutorial/introduction.html#using-python-as-a-calculator
註釋
註釋用井號#。井號後面的都會被python忽略,通常用來標註解釋代碼。就是你要告訴別人你這是要幹啥,如果詳細點,還可以記上為啥要這樣做,方便後來者了解你的思路。
當前,大多數軟件都是合作編寫的,編寫者可能是同一家公司的多名員工,也可能是眾多致力於同一個開源項目的人員。訓練有素的程序員都希望代碼中包含註釋,因此最好從現在開始就在程序中添加描述性註釋。作為新手,最值得養成的習慣之一是,在代碼中編寫清晰、簡潔的註釋。
如果不確定是否要編寫註釋,就問問自己,找到合理的解決方案前,是否考慮了多個解決方案。如果答案是肯定的,就編寫註釋對的解決方案進行說明吧。相比回過頭去再添加註釋,刪除多余的註釋要容易得多。
列表簡介
列表是是處理一組有序項目的數據結構,即可以在一個列表中存儲一個序列的項目。列表中的元素包括在方括號([])中,每個元素之間用逗號分割。列表是可變的數據類型,可以添加、刪除或是搜索列表中的元素。
列表可以理解為你用鉛筆在筆記本裏記錄內容, 內容可以修改,每一行用逗號隔開。
訪問元素
訪問列表元素可以通過索引方括號的形式,記住,索引從0而不是1開始!。
- shoplist = [‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘] # 建立一個列表,讓他叫做shoplist (購物清單)
- print(shoplist)# 打印(購物清單)
- print(shoplist[0].title())#打印(購物清單的第一項的首字母大寫形式)
- print(‘i want a‘ ‘ ‘ shoplist[0])#打印(我要一個 購物清單的第一項)
運行結果:
[‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]
Apple
i want a apple
修改或添加元素
修改元素可以通過直接賦值的方法。
append() :將元素附加到列表末尾。#末尾添加一行筆記
insert() :在列表中指定位置添加新元素。#筆記本中指定位置添加一行筆記
del :刪除列表中指定位置元素。# 筆記本中指定位置擦掉一行筆記
pop():移除列表中的一個元素(默認最後一個元素),並且返回該元素的值。 #把筆記中一行撕出來拿著,默認撕最後一行
remove():刪除列表中第一個指定值的元素。# 筆記本中指定內容的一行筆記
- shoplist = [‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]# 建立一個列表,讓他叫做shoplist (購物清單)
- shoplist.append(‘duck‘)#在購物清單末尾添加一個“鴨子”
- print(shoplist)#打印購物清單
- shoplist.insert(0, ‘chick‘)#在購物清單首位插入一個“雞”
- print(shoplist)#打印購物清單
- del shoplist[1]#刪除購物筆記本中在序列1(第二個位置)的一行
- print(shoplist)#打印購物清單
- temp1 = shoplist.pop(0) #把購物清單中首行剪出來,叫做temp1(臨時1)
- print(temp1)#打印臨時1
- print(shoplist)#打印購物清單
- shoplist.remove(‘banana‘)#在購物清單中刪除第一個內容是“banana”的一行
- print(shoplist)#打印購物清單
一行代碼對比這幾個方法的區別
運行結果:
[‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘, ‘duck‘]
[‘chick’, ‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘, ‘duck‘]
[‘chick’, ‘mango‘, ‘carrot‘, ‘banana‘, ‘duck‘]
chick
[‘mango‘, ‘carrot‘, ‘banana‘, ‘duck‘]
[‘mango‘, ‘carrot‘, ‘duck‘]
組織列表
sort():對列表進行永久性排序。默認按照字母順序排列,相反順序的話可以傳遞參數reverse=True #把原筆記直接按字母順序排列
sorted():對列表進行臨時排序,不改變原本列表。 #復印一份原筆記,按順序排列
reverse():反轉列表元素排序。#反向排列筆記(沒有按特定規則重排,就是最後一個變成第一個)
len() :獲取列表長度。#告訴你目前記了多少行筆記了,從一開始
- shoplist = [‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]#建立一個列表,讓他叫做shoplist (購物清單)
- shoplist.sort(reverse=True)#把購物清單排序(倒序)
- print(shoplist)#打印購物清單
- shoplist = [‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]#建立一個列表,讓他叫做shoplist (購物清單)
- print(sorted(shoplist))#打印排序過的購物清單拷貝
- print(shoplist)#打印購物清單
- shoplist.reverse()#把購物清單順序顛倒
- print(shoplist)#打印購物清單
- len(shoplist)#看看購物清單有幾行
運行結果:
[‘mango‘, ‘carrot‘, ‘banana‘, ‘apple‘]
[‘apple‘, ‘banana‘, ‘carrot‘, ‘mango‘]
[‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]
[‘banana‘, ‘carrot‘, ‘mango‘, ‘apple‘]
4
-
操作列表
遍歷列表
利用for循環可以快速遍歷列表,不要忘記它的冒號!
- shoplist=[‘apple‘,‘mango‘,‘carrot‘,‘banana‘]#一個列表,讓他叫做shoplist (購物清單)
- for shop in shoplist: #凡是在購物清單裏面的,一個個抓出來執行下面的這句
- print(‘i want a ‘ shop.title()) # 打印 (我要 筆記裏面的一行)
運行結果:
i want a Apple
i want a Mango
i want a Carrot
i want a Banana
縮進
行首的空白(空格和制表符)決定行的縮進層次,同一層次的語句必須有相同的縮進。
不要混合使用制表符和空格來縮進,在每個縮進層次要麽使用單個制表符或 兩個或四個空格。
數值列表
range():生成指定步長的左閉右開區間的一系列數字。默認步長為1。 相當於中文的從1到10這樣的表達
list() :將參數轉化為列表。 #把別的東西抄到筆記本裏面來
min() :找出數字列表最小值。
max() :找出數字列表最大值。
sum() :求數字列表所有值相加的總和。
- nums = list(range(1,5))#建立一個從1-5 不包含5的列表 叫做nums ~numbers
- for num in nums:#凡是在nums單裏面的,一個個抓出來執行下面的這些
- print(num)#打印數字
- print(min(nums))#打印nums裏面最小的數字
- print(max(nums))#打印nums裏面最大的數字
- print(sum(nums))#打印nums裏面數字的和
運行結果:
1
2
3
4
1
4
10
列表解析可將for循環和創建新元素的代碼合並成一行,並自動附加新元素。
- nums = [num*2 for num in range(1,11)]# 把1-11但不包括11的整數都乘以2 寫進筆記本上,叫做nums
- print(nums) #打印nums
運行結果:
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
使用列表的一部分——切片
創建切片時,要指定切片的第一個元素和最後一個元素的索引,和range()一樣,區間為左閉右開。
如果沒有指定第一個索引,切片將從列表開頭開始。同理,如果沒有指定最後一個索引,切片將直到列表末尾結束。負數索引可以輸出離列表末尾相應距離的元素。
切片也可以作為列表遍歷。
同時省略起始和終止索引可以穿件包含整個列表的切片,相當於復制列表。
- nums = list(range(0,11))#把0-11但不包括11的整數 寫進筆記本上,叫做nums
- print(nums[0:5])#打印第0行到第5行
- print(nums[:6])#打印第0行到第6行
- Nums = nums[:] # 又把nums的全部命名為Nums
- print(Nums)#打印Nums
運行結果:
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
元組
元組不可以修改,使用圓括號標識。元組也可以用循環進行遍歷。我們還能給元組的變量賦值。
元組可以理解為用鋼筆寫的筆記,不可以隨意修改,添加內容,但是要註意,如果元祖的其中一行是一個可修改的東西,那這個東西還是可以修改的,就相當於鋼筆的筆記裏面,其中一行是鉛筆寫的便簽,那麽可以修改這個便簽的內容
- nums = (1, 2)
- print(nums)
- nums = (4, 2)
- for num in nums:
- print(num)
運行結果:
(1, 2)
4
2
萌新向Python數據分析及數據挖掘 第一章 Python基礎 (上)未排版