1. 程式人生 > >萌新向Python數據分析及數據挖掘 第一章 Python基礎 (上)未排版

萌新向Python數據分析及數據挖掘 第一章 Python基礎 (上)未排版

以及 true 轉義 解析 混淆 sin 首字母 多少 文檔

因word和博客編輯器格式不能完全對接,正在重新排版,2019年1月1日發出第一章完整版

本文將參考《Python編程 從入門到實踐》的講述順序和例子,加上自己的理解,讓大家快速了解Python的基礎用法,並將拓展內容的鏈接添加在相關內容之後,方便大家閱讀

好了!我們開始第一章的學習。

第一章 Python

python安裝以及環境搭建


python的安裝和環境變量的配置通過百度查詢即可解決,這裏不作贅述。
IDE的選擇:因為後期需要用來做數據分析,所以直接安裝Anaconda會是一個不錯的選

Anaconda詳細安裝使用教

https://blog.csdn.net/program_developer/article/details/79677557

變量和簡單的數據類

這裏可以想成Python是你的計算器,print(內容)的形式用來讓呈現顯示文字內容

變量可以這麽理解你有個朋友叫做斯坦尼斯拉夫斯基,你和他很要好,天天基在一起,但是他的名字太長了,叫起來好煩,所以你叫他屎蛋,這個“屎蛋“,就是斯坦尼斯拉夫斯基的變量名稱,你叫他”屎蛋”或者斯坦尼斯拉夫斯基效果是一樣的,但是叫屎蛋比較方便。當然你可以把這個稱號放到別的東西身上,但是在Python的規則中,一個變量名只能對應一個實體,一個實體,可以有多個綽號

將一條消息存儲到變量中,再將其打印出來

  1. stan="Hello,Konstantin Stanislavski!" #將"Hello,Konstantin Stanislavski!"命名為stan
  2. 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提供了一些方法來統一字母的大小寫

  1. name=‘Eric‘
  2. print(name.lower()) #每個字母小寫
  3. print(name.upper()) #每個字母大寫
  4. 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()可以將非字符串值表示為字符串

  1. print(53)
  2. print(10-2)
  3. print(2*4)
  4. print(16/2)
  5. 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開始!。

  1. shoplist = [‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘] # 建立一個列表,讓他叫做shoplist (購物清單)
  2. print(shoplist)# 打印(購物清單)
  3. print(shoplist[0].title())#打印(購物清單的第一項的首字母大寫形式)
  4. print(‘i want a‘ ‘ ‘ shoplist[0])#打印(我要一個 購物清單的第一項)

運行結果:
[‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]
Apple
i want a apple

修改或添加元素
修改元素可以通過直接賦值的方法。
append() :將元素附加到列表末尾。#末尾添加一行筆記
insert() :在列表中指定位置添加新元素。#筆記本中指定位置添加一行筆記
del :刪除列表中指定位置元素。# 筆記本中指定位置擦掉一行筆記
pop():移除列表中的一個元素(默認最後一個元素),並且返回該元素的值。 #把筆記中一行撕出來拿著,默認撕最後一行
remove():刪除列表中第一個指定值的元素。# 筆記本中指定內容的一行筆記

  1. shoplist = [‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]# 建立一個列表,讓他叫做shoplist (購物清單)
  2. shoplist.append(‘duck‘)#在購物清單末尾添加一個“鴨子”
  3. print(shoplist)#打印購物清單
  4. shoplist.insert(0, ‘chick‘)#在購物清單首位插入一個“雞”
  5. print(shoplist)#打印購物清單
  6. del shoplist[1]#刪除購物筆記本中在序列1(第二個位置)的一行
  7. print(shoplist)#打印購物清單
  8. temp1 = shoplist.pop(0) #把購物清單中首行剪出來,叫做temp1(臨時1)
  9. print(temp1)#打印臨時1
  10. print(shoplist)#打印購物清單
  11. shoplist.remove(‘banana‘)#在購物清單中刪除第一個內容是“banana”的一行
  12. 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() :獲取列表長度。#告訴你目前記了多少行筆記了,從一開始

  1. shoplist = [‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]#建立一個列表,讓他叫做shoplist (購物清單)
  2. shoplist.sort(reverse=True)#把購物清單排序(倒序)
  3. print(shoplist)#打印購物清單
  4. shoplist = [‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]#建立一個列表,讓他叫做shoplist (購物清單)
  5. print(sorted(shoplist))#打印排序過的購物清單拷貝
  6. print(shoplist)#打印購物清單
  7. shoplist.reverse()#把購物清單順序顛倒
  8. print(shoplist)#打印購物清單
  9. len(shoplist)#看看購物清單有幾行

運行結果:
[‘mango‘, ‘carrot‘, ‘banana‘, ‘apple‘]

[‘apple‘, ‘banana‘, ‘carrot‘, ‘mango‘]

[‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]

[‘banana‘, ‘carrot‘, ‘mango‘, ‘apple‘]

4

-

操作列

遍歷列表
利用for循環可以快速遍歷列表,不要忘記它的冒號!

  1. shoplist=[‘apple‘,‘mango‘,‘carrot‘,‘banana‘]#一個列表,讓他叫做shoplist (購物清單)
  2. for shop in shoplist: #凡是在購物清單裏面的,一個個抓出來執行下面的這句
  3. print(‘i want a ‘ shop.title()) # 打印 (我要 筆記裏面的一行)

運行結果:
i want a Apple
i want a Mango
i want a Carrot
i want a Banana

縮進
行首的空白(空格和制表符)決定行的縮進層次,同一層次的語句必須有相同的縮進。
不要混合使用制表符和空格來縮進,在每個縮進層次要麽使用單個制表符或 兩個或四個空格。

數值列表
range():生成指定步長的左閉右開區間的一系列數字。默認步長為1。 相當於中文的從110這樣的表達
list() :將參數轉化為列表。 #把別的東西抄到筆記本裏面來
min() :找出數字列表最小值。
max() :找出數字列表最大值。
sum() :求數字列表所有值相加的總和。

  1. nums = list(range(1,5))#建立一個從1-5 不包含5的列表 叫做nums ~numbers
  2. for num in nums:#凡是在nums單裏面的,一個個抓出來執行下面的這些
  3. print(num)#打印數字
  4. print(min(nums))#打印nums裏面最小的數字
  5. print(max(nums))#打印nums裏面最大的數字
  6. print(sum(nums))#打印nums裏面數字的和

運行結果:
1
2
3
4
1
4
10

列表解析可將for循環和創建新元素的代碼合並成一行,並自動附加新元素。

  1. nums = [num*2 for num in range(1,11)]# 把1-11但不包括11的整數都乘以2 寫進筆記本上,叫做nums
  2. print(nums) #打印nums

運行結果:
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

使用列表的一部分——切片
創建切片時,要指定切片的第一個元素和最後一個元素的索引,和range()一樣,區間為左閉右開。
如果沒有指定第一個索引,切片將從列表開頭開始。同理,如果沒有指定最後一個索引,切片將直到列表末尾結束。負數索引可以輸出離列表末尾相應距離的元素。
切片也可以作為列表遍歷。
同時省略起始和終止索引可以穿件包含整個列表的切片,相當於復制列表。

  1. nums = list(range(0,11))#把0-11但不包括11的整數 寫進筆記本上,叫做nums
  2. print(nums[0:5])#打印第0行到第5行
  3. print(nums[:6])#打印第0行到第6行
  4. Nums = nums[:] # 又把nums的全部命名為Nums
  5. 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]

元組
元組不可以修改,使用圓括號標識。元組也可以用循環進行遍歷。我們還能給元組的變量賦值

元組可以理解為用鋼筆寫的筆記,不可以隨意修改,添加內容,但是要註意,如果元祖的其中一行是一個可修改的東西,那這個東西還是可以修改的,就相當於鋼筆的筆記裏面,其中一行是鉛筆寫的便簽,那麽可以修改這個便簽的內

  1. nums = (1, 2)
  2. print(nums)
  3. nums = (4, 2)
  4. for num in nums:
  5. print(num)

運行結果:
(1, 2)
4
2

萌新向Python數據分析及數據挖掘 第一章 Python基礎 (上)未排版