歡迎關注」生信修煉手冊」!
學一門語言,基礎語法一定要紮實。很多入門的編程書籍,都會花大量的篇幅來介紹基礎語法,對於毫無編程經驗的新手而言,這樣的書籍無疑是很友好的,但是對於有編程經驗的開發者而言,很多的基礎語法是通用的, 只需花費較少的時間瀏覽下基礎語法,將精力集中在語言獨有的特徵上即可。
在這裡推薦幾本基礎的,適合新手查看的入門書籍
python簡明教程
https://bop.mol.uno/
think python
https://cycleuser.gitbooks.io/think-python/content/
廖雪峰的python教程
https://www.liaoxuefeng.com/wiki/1016959663602400
下面是我自己總結的一些基礎語法
單行注釋以井號#開頭,多行注釋以三個單引號'''或者雙引號"""開頭,用法如下
# 這裡是單行注釋,獨佔一行
print('hello wordld')
print('hello world') # 這裡是單行注釋,放在語句的後面
'''
這裡是多行注釋
允許多行文本
'''
print('hello wordld')
"""
這裡是多行注釋
允許多行文本
"""
print('hello wordld')
在python中,單引號與雙引號的功能是相同的,為了更加省時省力,一般用單引號,單引號鍵盤輸入更加方便。
3. 數據類型變量的基本作用就是存儲數據,用法如下
num = 3
num就是變量,=表示賦值,3就是這個變量存儲的值。存儲的值擁有不同的類型,常見的類型包括以下幾種
int
float
string
bool
前兩種表示數字,其中int表示整數,float表示浮點數,也就是小數; string表示字符串,字符串以單引號或者雙引號括起來,bool型只有兩種取值,True和False,注意布爾型值的兩側沒有引號。
不同類型的數據之間可以轉換,用法如下
# 數字轉字符串
str(3)
str(3.1)
# 字符串轉數字
int('3')
float('3.1')
# 整形轉浮點型
float(3)
在python中,有一種特殊的數據類型None,表示空值,沒有值,類似R語言中的NULL。
4. 運算符針對數字的數學運算,常見的有以下幾種
加 +
減 -
乘 *
乘方 **
除 /
整除 //
取餘 %
用法如下
print(3 + 2) # 5
print(3 - 2) # 1
print(3 * 2) # 6
print(3 ** 2) # 9
print(3 / 2) # 1.5
print(10 // 3) # 3
print(3 % 2) # 1
針對字符串的運算,包括以下幾種
字符串連接 +
字符串重複 *
用法如下
print('abc' + 'def') # abcdef
print('abc' * 3) # abcabcabc
當我們對變量的值進行運算,然後重新賦值,類似下面這個語句
num = 3
num = num + 2
此時,可以將賦值符號與運算符相結合,進行簡寫, 用法如下
num += 2 # num = num + 2
num -= 2 # num = num - 2
num *= 2 # num = num * 2
num /= 2 # num = num / 2
num **= 2 # num = num ** 2
num //= 2 # num = num // 2
num %= 2 # num = num % 2
需要注意的是,在其他語言中會有x++, x—`的語句,表示在原來值的基礎上加1,在python中不存在這樣的用法。
同時針對數字和字符串的比較運算符,包括以下幾種
大於 >
小於 <
大於等於 >=
小於等於 <=
不等於 !=
相等 ==
針對布爾值的邏輯運算符,常用於條件判斷語句中,包括以下幾種
and
or
not
用法如下
3 > 2 and 5 > 3
3 < 2 or 5 > 3
not 3 < 2
控制結構包括條件判斷和循環兩種,在python中,摒棄了傳統的用大括號包圍代碼塊的特點,改用縮進來表示,條件判斷對應if語句,寫法如下
# 單個if
if x > 3:
print(1)
# if .. else
if x > 3:
print(1)
else:
print(2)
# if ..elif ..else
if x > 3:
print 1
elif x > 2:
print 2
elif x > 3:
print 3
else:
print 4
循環有for循環和while循環兩種,for循環通過成員運算符in來實現,用法如下
letters = ['a', 'b', 'c']
for i in letters:
print(i)
for循環用於針對每個元素進行相同操作的場景,while循環用於給定條件下的操作,用法如下
while x <= 10:
x +=1
在python中,針對for和while循環,還加入了else語句,用於循環結束後的在執行一條語句,用法如下
for i in letters:
print(i)
else:
print('hello')
簡單的循環幾乎用不到else分支,但是其實else分支尤其特定的使用場景,後續在深入討論。
循環還需要控制控制語句,有以下兩種
1.跳出循環, break
2.跳過循環, continue
數據結構將基本的數據類型組合起來,方便訪問和操作,python常見的數據有以下幾種
列表, list
元組, tuple
集合,set
字典, dict
寫法如下
letters = ['a', 'b', 'c'] # 方括號表示列表
letters = ('a', 'b', 'c') # 圓括號表示元組
letters = set((['a', 'b', 'c')) # 集合
letters = {'1' : 'a', '2' : 'b', '3' : 'c' } # 大括號表示字典
數據結構的相關操作是重中之重,後續再深入討論。
9. 函數函數通過def關鍵詞來定義,函數具有函數名稱,參數列表,返回值等特徵,最基本的用法如下
# 定義
def add(a, b):
return(a, b)
# 調用
total = add(2, 3)
關於函數,在python中其實有很多的用法細節,後續在深入討論。
10. 模塊模塊是別人已經開發測試好的,具備完整功能的代碼,通過模塊可以大大擴展語言的功能。模塊的用法在程式語言中廣泛存在。要使用模塊,必須先導入模塊,導入模塊的幾種常見語法如下
# 一次性導入模塊中的所有方法,簡單粗暴
import os
# 和上述用法一樣,模塊名太長,設置了別名
import numpy as np
# 只導入模塊中的某一個函數,按需導入
from os import system
導入模塊之後,就可以使用模塊中的方法了。python中的模塊分為兩種,第一種是內置模塊,也稱為標準庫,python安裝好之後就可以使用了,第二種是第三方模塊,需要單獨安裝之後才可使用,最常用的安裝方式是pip安裝,基本用法如下
pip install numpy
11. 面向對象python原生支持面向對象的開發功能, 這也是區別於perl等腳本語言的一大特點。對於簡單的腳本編程,其實用到面向對象的機會不多,在初學的時候,可以不用花費很多精力在這塊。只需記住一點,類的函數稱之為方法,其調用方式和普通函數有區別
# python
line.split("\t")
# perl
split /\t/, $line
傳統的函數調用先寫函數名稱,後面是參數,而類的方法在實例化對象的基礎上,用點號連接方法名稱。Python內置的很多變量類型也是類的實例,所以其操作都是基於類的方法來操作的。
原創不易,歡迎收藏,點讚,轉發!生信知識浩瀚如海,在生信學習的道路上,讓我們一起並肩作戰!本公眾號深耕耘生信領域多年,具有豐富的數據分析經驗,致力於提供真正有價值的數據分析服務,擅長個性化分析,歡迎有需要的老師和同學前來諮詢。轉發本文至朋友圈,後臺私信截圖即可加入生信交流群,和小夥伴一起學習交流。
掃描下方二維碼,關注我們,解鎖更多精彩內容!