<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【Python基礎(chǔ)】python必會(huì)的10個(gè)知識(shí)點(diǎn)

          共 4548字,需瀏覽 10分鐘

           ·

          2021-04-01 11:53

          來源 | Towards Data Science

          作者 | Soner Yildirim

          編譯 | VK


          Python在數(shù)據(jù)科學(xué)生態(tài)系統(tǒng)中占據(jù)主導(dǎo)地位。我認(rèn)為,占據(jù)主導(dǎo)地位的兩大原因是相對(duì)容易學(xué)習(xí)和數(shù)據(jù)科學(xué)庫(kù)的豐富選擇。

          Python是一種通用語言,因此它不僅僅用于數(shù)據(jù)科學(xué),Web開發(fā)、移動(dòng)應(yīng)用程序和游戲開發(fā)也是Python的一些用例。

          如果你僅將Python用于與數(shù)據(jù)科學(xué)相關(guān)的任務(wù),那么你不必是Python專家。不過,我認(rèn)為你必須掌握一些核心概念和功能。

          我們?cè)诒疚闹薪榻B的內(nèi)容不是特定于庫(kù)的。它們可以被認(rèn)為是數(shù)據(jù)科學(xué)的基礎(chǔ)Python。即使你只使用Pandas、Matplotlib和sciket learn,也需要全面了解Python基礎(chǔ)知識(shí)。這些庫(kù)假設(shè)你熟悉Python的基礎(chǔ)知識(shí)。

          我將用幾個(gè)例子簡(jiǎn)要地解釋每個(gè)主題,并為大多數(shù)主題提供一個(gè)詳細(xì)文章的鏈接。


          1.函數(shù)


          函數(shù)是Python中的構(gòu)建塊。它們接受零個(gè)或多個(gè)參數(shù)并返回一個(gè)值。我們使用def關(guān)鍵字創(chuàng)建一個(gè)函數(shù)。

          這是一個(gè)簡(jiǎn)單的函數(shù),它將兩個(gè)數(shù)相乘。

          def multiply(a, b):
          return a * b

          multiply(5, 4)
          20

          下面是另一個(gè)根據(jù)單詞長(zhǎng)度進(jìn)行相關(guān)計(jì)算的示例。

          def is_long(word):
          if len(word) > 8:
          return f"{word} is a long word."

          is_long("artificial")
          'artificial is a long word.'

          函數(shù)應(yīng)該完成一項(xiàng)任務(wù)。創(chuàng)建一個(gè)執(zhí)行一系列任務(wù)的函數(shù)違背了使用函數(shù)的目的。

          我們還應(yīng)該為函數(shù)指定描述性名稱,這樣我們就可以在不看到代碼的情況下了解函數(shù)的功能。



          2.位置參數(shù)和關(guān)鍵字參數(shù)


          當(dāng)我們定義一個(gè)函數(shù)時(shí),我們指定它的參數(shù)。調(diào)用函數(shù)時(shí),必須為其提供所需參數(shù)的值。

          考慮在上一步中創(chuàng)建的乘法函數(shù)。它有兩個(gè)參數(shù),所以我們?cè)谡{(diào)用函數(shù)時(shí)為這些參數(shù)提供值。

          • 位置參數(shù)僅由名稱聲明。

          • 關(guān)鍵字參數(shù)由名稱和默認(rèn)值聲明。

          調(diào)用函數(shù)時(shí),必須給出位置參數(shù)的值。否則,我們將得到一個(gè)錯(cuò)誤。如果我們不為關(guān)鍵字參數(shù)指定值,它將采用默認(rèn)值。

          讓我們用關(guān)鍵字參數(shù)重新定義multiply函數(shù),這樣我們就可以看到區(qū)別了。

          def multiply(a=1, b=1):
          return a * b

          print(multiply(5, 4))
          20

          print(multiply())
          1


          3.args和*kwargs


          函數(shù)是Python中的構(gòu)建塊。它們接受零個(gè)或多個(gè)參數(shù)并返回一個(gè)值。Python在參數(shù)如何傳遞給函數(shù)方面非常靈活。args和*kwargs使處理參數(shù)更容易、更清晰。

          • *args允許函數(shù)接受任意數(shù)量的位置參數(shù)。

          下面是一個(gè)簡(jiǎn)單的例子:

          def addition(*args):
          result = 0
          for i in args:
          result += i
          return result

          print(addition(1,4))
          5

          print(addition(1,7,3))
          11
          • **kwargs允許函數(shù)接受任意數(shù)量的關(guān)鍵字參數(shù)。

          默認(rèn)情況下,**kwargs是一個(gè)空字典。每個(gè)未定義的關(guān)鍵字參數(shù)都作為鍵值對(duì)存儲(chǔ)在**kwargs字典中。

          下面是一個(gè)簡(jiǎn)單的例子:

          def arg_printer(a, b, option=True, **kwargs):
          print(a, b)
          print(option)
          print(kwargs)

          arg_printer(3, 4, param1=5, param2=6)
          3 4
          True
          {'param1': 5, 'param2': 6}

          https://towardsdatascience.com/10-examples-to-master-args-and-kwargs-in-python-6f1e8cc30749


          4.類


          面向?qū)ο缶幊蹋∣OP)范式是圍繞著擁有屬于特定類型的對(duì)象的思想構(gòu)建的。從某種意義上說,類型是解釋我們的對(duì)象。

          Python中的所有東西都是一種類型的對(duì)象,比如整數(shù)、列表、字典、函數(shù)等等。我們使用類定義一種對(duì)象類型。

          類具有以下信息:

          • 數(shù)據(jù)屬性:創(chuàng)建類的實(shí)例需要什么

          • 方法(即過程屬性):我們?nèi)绾闻c類的實(shí)例交互。

          https://towardsdatascience.com/a-comprehensive-guide-for-classes-in-python-e6bb72a25a5e



          5.列表


          List是Python中的內(nèi)置數(shù)據(jù)結(jié)構(gòu)。它表示為方括號(hào)中的數(shù)據(jù)點(diǎn)集合。列表可用于存儲(chǔ)任何數(shù)據(jù)類型或不同數(shù)據(jù)類型的混合。

          列表是可變的,這也是為什么它們?nèi)绱顺S玫脑蛑?。因此,我們可以刪除和添加項(xiàng)。也可以更新列表中的項(xiàng)目。

          下面是一些關(guān)于如何創(chuàng)建和修改列表的示例。

          words = ['data','science'] # 創(chuàng)建一個(gè)列表

          print(words[0]) # 訪問項(xiàng)目
          'data'

          words.append('machine') # 添加項(xiàng)目

          print(len(words)) # 列表長(zhǎng)度
          3

          print(words)
          ['data', 'science', 'machine']

          https://towardsdatascience.com/11-must-know-operations-to-master-python-lists-f03c71b6bbb6



          6.列表生成式


          列表生成式用更簡(jiǎn)單、更吸引人的語法表示for和if循環(huán)。列表生成式相對(duì)比for循環(huán)快。

          下面是一個(gè)簡(jiǎn)單的列表生成式,它根據(jù)給定的條件從另一個(gè)列表創(chuàng)建一個(gè)列表。

          a = [4,6,7,3,2]

          b = [x for x in a if x > 5]
          b
          [6, 7]

          下面的列表將函數(shù)應(yīng)用于另一個(gè)列表中的項(xiàng)。

          words = ['data','science','machine','learning']

          b = [len(word) for word in words]
          b
          [4, 7, 7, 8]

          https://towardsdatascience.com/11-examples-to-master-python-list-comprehensions-33c681b56212



          7.字典


          字典是一個(gè)無序的鍵值對(duì)集合。每個(gè)條目都有一個(gè)鍵和值。字典可以看作是一個(gè)有特殊索引的列表。

          密鑰必須是唯一且不可變的。所以我們可以使用字符串、數(shù)字(int或float)或元組作為鍵。值可以是任何類型。

          考慮一個(gè)需要存儲(chǔ)學(xué)生成績(jī)的案例。我們可以把它們存儲(chǔ)在字典或列表中。

          創(chuàng)建字典的一種方法是在大括號(hào)中編寫鍵值對(duì)。

          grades = {'John':'A', 'Emily':'A+', 'Betty':'B', 'Mike':'C', 'Ashley':'A'}

          我們可以使用字典中的值的鍵來訪問它。

          grades['John']
          'A'

          grades.get('Betty')
          'B'

          https://towardsdatascience.com/12-examples-to-master-python-dictionaries-5a8bcd688c6d



          8.集合


          集合是不同的可散列對(duì)象的無序集合。這是Python官方文檔中對(duì)集合的定義。讓我們打開它。

          • 無序集合:它包含零個(gè)或多個(gè)元素。集合中的元素沒有順序。因此,它不支持索引或切片,就像我們對(duì)列表所做的那樣。

          • 不同的可散列對(duì)象:一個(gè)集合包含唯一的元素。hashable表示不可變。盡管集合是可變的,但集合的元素必須是不變的。

          我們可以通過將逗號(hào)分隔的對(duì)象放在大括號(hào)中來創(chuàng)建一個(gè)集合。

          a = {1, 4, 'foo'}

          print(type(a))
          <class 'set'>

          集合不包含重復(fù)的元素,因此即使我們多次嘗試添加相同的元素,結(jié)果集合也將包含唯一的元素。

          a = {1, 4, 'foo', 4, 'foo'}

          print(a)
          {1, 4, 'foo'}

          https://towardsdatascience.com/12-examples-to-master-python-sets-71802ea56de3



          9.元組


          元組是用逗號(hào)分隔并用括號(hào)括起來的值的集合。與列表不同,元組是不可變的。元組的不變性可以看作元組的識(shí)別特征。

          元組由括號(hào)中的值和逗號(hào)分隔的值組成。

          a = (3, 4)

          print(type(a))
          <class 'tuple'>

          我們也可以不使用括號(hào)來創(chuàng)建元組。用逗號(hào)分隔的值序列將創(chuàng)建一個(gè)元組。

          a = 3, 4, 5, 6

          print(type(a))
          <class 'tuple'>

          元組最常見的用例之一是返回多個(gè)值的函數(shù)。

          import numpy as np

          def count_sum(arr):
          count = len(arr)
          sum = arr.sum()
          return count, sum

          arr = np.random.randint(10, size=8)
          a = count_sum(arr)

          print(a)
          (8, 39)

          print(type(a))
          <class 'tuple'>

          https://towardsdatascience.com/10-examples-to-master-python-tuples-6c606ed42b96



          10.Lambda表達(dá)式


          Lambda表達(dá)式是函數(shù)的特殊形式。通常,lambda表達(dá)式不帶名稱。

          考慮以下返回給定數(shù)字平方的函數(shù)。

          def square(x):
          return x**2

          等效lambda表達(dá)式為:

          lambda x: x ** 2

          考慮一個(gè)需要做一次或幾次的操作。此外,我們有許多變化,這一行動(dòng)是略有不同,比原來的一個(gè)。在這種情況下,為每個(gè)操作定義一個(gè)單獨(dú)的函數(shù)并不理想。相反,lambda表達(dá)式提供了一種更有效的方法來完成任務(wù)。

          https://towardsdatascience.com/the-power-of-lambda-expressions-in-python-c5a1dcea9837



          結(jié)論


          我們已經(jīng)介紹了Python的一些關(guān)鍵概念和主題。大多數(shù)與數(shù)據(jù)科學(xué)相關(guān)的任務(wù)都是通過第三方庫(kù)和框架完成的,如Pandas、Matplotlib、sciket-learn、TensorFlow等。

          但是,我們應(yīng)該全面了解Python的基本操作和概念,以便有效地使用這些庫(kù)。

          謝謝你的閱讀。

          往期精彩回顧





          本站qq群851320808,加入微信群請(qǐng)掃碼:

          瀏覽 37
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  理伦一区| 免费高清无码在线 | 亚洲精品粉嫩小泬18p | 蜜桃久久在线 | 国产伦精品一区二区三区妓女 |