Python語言基礎50課

2021-03-01 生信菜鳥團

繼續學習 Python-100-Days 項目的時候,發現作者@駱昊,開闢了一個對初學者更加友好、具有配套教學視頻的項目 Python-Core-50-Courses。點擊閱讀原文直達頁面。

我的Python - 100天筆記 |D1-D7

我的Python - 100天筆記 |D8-D14

目前,課程已更新到21課,通讀下來,其中更詳細的展開 Python 常用數據結構、分支循環、面向對象編程及函數相關的基礎及應用,值得一看。配套視頻連結後臺回復 Python語言基礎視頻 可獲得原作者分享連結。

下面就我挑選了其中有意思的三個點,對專欄之前的推文進行補充:

嵌套循環結構

Python中三大結構分別指循序、分支和循環,一般與 判斷 配套出現。和其他的邏輯運算一樣,python3的與運算使用and 連接,或運算使用or連接,非運算使用not Ture。需要注意的是python中None是一個一個特殊空值,並不是0,因為0是有意義的。

其中,循環語句有兩類,while語句和for語句,但是並沒有do… while循環。簡單來說whlie語句進行判斷,如果TRUE,進入循環,FALSE則退出;而for循環是首要給定循環範圍,每一次循環會用一個變量存儲本次循環的值,當超出範圍,循環結束。當然,循環中還可以進行嵌套,例如下面的例子:

"""列印乘法口訣表

break
"""
>>> for i in range(1,10):
        for j in range(1,i+1): 
            if j > 4: break
            print "%dx%d=%-2d" % (j,i,j*i), 
        print

1x1=1

1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
1x4=4 2x4=8 3x4=12 4x4=16
1x5=5 2x5=10 3x5=15 4x5=20
1x6=6 2x6=12 3x6=18 4x6=24
1x7=7 2x7=14 3x7=21 4x7=28
1x8=8 2x8=16 3x8=24 4x8=32
1x9=9 2x9=18 3x9=27 4x9=36

break 語句只能跳出包圍它的那一層循環。在嵌套循環結構的情況下,一條 break 語句雖然跳出了本層循環,但跳不出外層循環,因此控制仍然可能處於某個循環體中。for循環和 while循環的選擇:

如果知道循環的次數,我們通常使用for循環;如果循環次數不能確定,可以用while循環。在循環中還可以使用break來提前結束循環

位置:【第006課】循環結構

雙色球案例

一個小慄子把函數、循環結構、分支結構、表達式及列表等融合在一起,先回顧一下: 列表使用 | 元組拆包是個啥? 

函數基本使用方法:

函數,即實現一個特定功能的代碼段。是python中的重要技能(工具)。函數離我們並不遠,早期我們已熟練使用了一些內置函數:例如input print等;

根據使用範圍可以將函數分為兩類:

另外,還能從實現不同的功能角度來區分,比如 匿名函數 以及高階函數 詳見實例說明:函數入門

來看例子:

"""
雙色球隨機選號

Version: 0.1
Author: 駱昊
"""
from random import randint, sample


def display(balls):
    """輸出列表中的雙色球號碼"""
    for index, ball in enumerate(balls):
        if index == len(balls) - 1:
            print('|', end=' ')
        print(f'{ball:0>2d}', end=' ')
    print()


def random_select():
    """隨機選擇一組號碼"""
    # 用生成式生成1到33號的紅色球
    red_balls = [x for x in range(1, 34)]
    # 通過無放回隨機抽樣的方式選中6個紅色球
    selected_balls = sample(red_balls, 6)
    # 對紅色球進行排序
    selected_balls.sort()
    # 用1到16的隨機數表示選中的藍色球並追加到列表中
    selected_balls.append(randint(1, 16))
    return selected_balls


n = int(input('機選幾注: '))
for _ in range(n):
    display(random_select())

本人親測,隨機20個彩票序列,對應第20039期彩票,沒有中。娛樂一下。

提示:彩票的本質是:虛構一個不勞而獲的事,去忽悠一群想不勞而獲的人,最終養活一批真正不勞而獲的人。所以,珍愛生命,遠離各種形式的賭博

位置:【第013課】列表和元組的應用

PyCharm快捷鍵

簡單又快捷的上手推文,戳下面:

PyCharm 的使用方法及小技巧

PyCharm又又又更新了 

PEP8:編程基礎與規範代碼

PyCharm直接送你三個開場buff,推薦使用。

當然會有一些好用的快捷鍵,例如:

快捷鍵作用command + j顯示可用的代碼模板command + b查看函數、類、方法的定義ctrl + space萬能代碼提示快捷鍵,一下不行按兩下command + alt + l格式化代碼alt + enter萬能代碼修復快捷鍵ctrl + /注釋/反注釋代碼shift + shift萬能搜索快捷鍵command + d / command + y複製/刪除一行代碼command + shift + - / command + shift + +摺疊/展開所有代碼F2快速定位到錯誤代碼command+ alt + F7查看哪些地方用到了指定的函數、類、方法

說明:Windows系統下如果使用PyCharm的默認設置,可以將上面的command鍵換成ctrl鍵即可,唯一的例外是ctrl + space那個快捷鍵,因為它跟Windows系統切換輸入法的快捷鍵是衝突的,所以在Windows系統下默認沒有與之對應的快捷鍵。

位置:【第019課】使用PyCharm開發Python應用程式

還有一些課程值得關注,比如表達式、生成式、裝飾器、語法糖 也是python中經常會使用到的一些方法。

參考資料

  jackfrued/ Python-Core-50-Courses  程序設計與思路 3.4.4 嵌套循環

往期推薦

ComplexHeatmap包更新支持pheatmap轉換

生信技能樹目前已經公開了三個生信知識庫,記得來關注哦~

每周文獻分享

https://www.yuque.com/biotrainee/weeklypaper

腫瘤外顯子分析指南

https://www.yuque.com/biotrainee/wes

生物統計從理論到實踐

https://www.yuque.com/biotrainee/biostat

友情宣傳

強烈建議你推薦給身邊的博士後以及年輕生物學PI,多一點數據認知,讓他們的科研上一個臺階:

•生信爆款入門-全球聽(買一得五)(第4期) ,你的生物信息學入門課。•數據挖掘第2期(兩天變三周,實力加量),醫學生/醫生首選技能提高課。•生信技能樹的2019年終總結 ,你的生物信息學成長寶藏•2020學習主旋律,B站74小時免費教學視頻為你領路

相關焦點

  • Python語言基礎50課(3)​|一行代碼統計序列ATCG含量
    繼續學習  Python-Core-50-Courses,配套視頻連結後臺回復 Python語言基礎視頻 可獲得原作者分享連結。幾篇推文進行回溯:Python語言基礎50課Python語言基礎50課(2)我的Python - 100天筆記 |D1-D7我的Python - 100天筆記 |D8-D14今天的推文內容主要涵蓋:集合& 列表生成式(統計ATCG含量);函數與模塊(內置函數),下面就進入正題:集合我們常說的Python
  • Python零基礎入門-03-Python基礎語法
    Python零基礎入門-03-Python基礎語法本節課的知識點:1,python系列教程的學習方法。2,熟悉Python的基礎語法內容。1,python系列課程學習方法由於python屬於腳本語言,如果單純的解釋語法沒有什麼實在的意義,所以我python系列的課程都是以視頻講解為主,至於這裡的文章,是給你複習用的。2. 基礎語法python的基礎語法都將以小例子作為驅動來講解。如果你有其他程式語言的基礎,那麼直接看文章就會很快上手。
  • Python日課-2.5-python語言的不同實現
    曾老師的 Python 課(連結可點擊) 第一課的所有內容已經全部發布,包括課程 PPT、課程視頻都可以免費獲取,可以使用微信掃描下面的二維碼進群獲取
  • python語法基礎
    學一門語言,基礎語法一定要紮實。很多入門的編程書籍,都會花大量的篇幅來介紹基礎語法,對於毫無編程經驗的新手而言,這樣的書籍無疑是很友好的,但是對於有編程經驗的開發者而言,很多的基礎語法是通用的, 只需花費較少的時間瀏覽下基礎語法,將精力集中在語言獨有的特徵上即可。
  • 長達兩個月的面經,50道python開發常見基礎面試題!
    轉眼已經5月份,學員們經過三金四銀求職季積累了大量的面經,在小U的反覆催促下終於讓python將這兩個月面試常見題整理下來,不要以為你記憶力很好,這道題太奇葩了你絕對不會忘,事實證明記憶力是靠不住,話不多說來看看學員們整理的python面試題!小U 還會不斷催促學員們將新遇到的問題記錄下來。
  • 小白python入門基礎——Python安裝教程
    你將驚喜地發現Python語言是多麼地簡單,它注重的是如何解決問題而不是程式語言的語法和結構。 Python vs Java作為世界上使用範圍最廣的程式語言,Java難免總是被拿來跟Python比較,而且,在程式語言的各種對戰中,Python 與Java也是打得最熱烈的。那到底是Python好還是Java好?
  • python語言在全球廣泛應用
    關於自動化機器學習的研究的熱度越來越高,可是大學在給學生普及機器學習的基礎知識的時候,首先就讓學生去看最簡單的一些簡單的helloworld,拿個scrapy框架去跑一下數據。問題出在哪?很簡單,還是不能去理解如何利用一些簡單的python語法去實現這些簡單的功能。
  • 【Python雜貨鋪】速學python基礎
    「人生苦短,我學python」是編程屆的名言。用python寫小腳本的便捷性,讓很多其他語言的學習者把python當作輔助語言。擁有了某一個語言的功底,再來學習另外一種語言應該是十分快速的。編程理念都十分相似,只是看看語言的差異性。帶著Java的基礎,學習Python,準備上路了。
  • python基礎學習教程:Python基礎語法
    Python 語言與 Perl,C 和 Java 等語言有許多相似之處。但是,也存在一些差異。在本章中我們將來學習 Python 的基礎語法,讓你快速學會 Python 編程。第一個 Python 程序交互式編程交互式編程不需要創建腳本文件,是通過 Python 解釋器的交互模式進來編寫代碼。
  • 滿足這4點,0基礎低學歷也能培訓python人工智慧
    Python語言藉助AI和數據科學,攀爬到了程式語言生態鏈的頂級位置,可以說Python與AI已經緊密捆綁在了一起。對它們來說,無論是電子商務、搜尋引擎、社交網絡還是智能硬體,未來都只是生態鏈下遊的數據奶牛、電子神經和執行工具,都將聽命於自己。 所以今天誠築說小編就來和大家談一談如何零基礎低學歷也能培訓python人工智慧。
  • 【Python 第51課】 and-or技巧
  • 《小灰教你零基礎學python》-Python入門語言
    在講解Python介紹之前我需要從解釋一些基礎概念,為了照顧零編程基礎小白。一、什麼是程序?>c語言php(有人稱php是最好的程式語言)這裡包括咱本套課程需要學習的python,其實理解咱這麼理解就行:咱們和外國人交流需要說英語,那麼咱們必須要學會英語才能和對方溝通;咱們需要讓電腦進行「溝通」就必須要使用程式語言。
  • Python基礎 | 大學小白如何入門Python程序設計
    二、如何進行自主學習其實python非常適合初學者入門。相比較其他不少主流程式語言,有更好的可讀性,因此上手相對容易。自帶的各種模塊加上豐富的第三方模塊,免去了很多「重複造輪子」的工作,可以更快地寫出東西。
  • Python探索之旅 | 第一部分第二課:安裝Python和Python的常用開發軟體
    內容簡介前言安裝 Python(Windows、macOS 和 Linux)安裝 PyCharm 這個 Python 最強 IDE創建 Python 項目第一部分第三課預告1. 前言上一課 Python探索之旅 | 第一部分第一課:Python是什麼?
  • 數據分析之python語言概述
    作者看著網上各種數據分析的知識泛濫, 但是沒有什麼體系,初學者不知道學哪些, 不知道學多少, 不知道學多深, 單純一個python語言, 數據分析會用到那種程度, 不可能說像開發那樣去學, numpy如果不是做算法工程師用到的知識並不多, pandas知識雜亂無章, 哪些才是最常用的功能等等, 作者不忍眾生皆苦, 決定寫一套python數據分析的全套教程, 目前已完成一部分課件的製作
  • python初學者必看的學習路線 Python是近幾年比較火的程式語言
    Python是近幾年比較火的程式語言之一,因為人工智慧的火爆,讓很多人都想從事python開發。很多零基礎學員在學習python的時候都會走一些彎路,下面小編就為大家分享python學習路線圖,幫助零基礎學員在學習的時候少走彎路。 很多人都在問Python學習步驟應該如何安排?
  • 【Python 第53課】 數學運算
    今天從打飛機遊戲裡中斷一下,說些python的基礎。絕對值三角函數: math.sin(x)math.cos(x)math.tan(x)math.asin(x)math.acos(x)math.atan(x)注意:這裡的x是以弧度為單位,所以計算角度的話,需要先換算角度和弧度互換: math.degrees(x)弧度轉角
  • Python—程序語言入門
    所想要表達的意思——>編程軟體翻譯成二進位——>計算機接收並執行常用、最流行的幾種程序語言:C、C++、c#、Java 、VB、python3、Python可以用來做什麼   開發遊戲&軟體(遊戲後臺大多數用python編寫);   製作更高級的Flash(web flash game);   創建資料庫
  • Python程式語言被納入浙江高考,小學生都開始學了
    今年9月份開始的新學期,浙江省三到九年級信息技術課將同步替換新教材。其中,新初二將新增Python編程課程內容。新高一信息技術程式語言由VB替換為Python,大數據、人工智慧、程序設計與算法按照教材規劃五六年級開始接觸。
  • python自學 第二章 python語言基礎之語法特點(注釋、代碼縮進、編碼規範)
    上一篇講到如何安裝python,從這篇開始我們將正式踏上python開發之旅,體驗