在開始這個話題之前,我想問大家:什么是 Python?根據 Python 之父 Guido van Rossum 的話,Python是:一種高級程序語言,其核心設計哲學是代碼可讀性和語法,能夠讓程序員用很少的代碼來表達自己的想法。
創新互聯是一家專業提供連平企業網站建設,專注與做網站、成都網站設計、H5建站、小程序制作等業務。10年已為連平眾多企業、政府機構等服務。創新互聯專業網站建設公司優惠進行中。
對于我來說,學習 Python 的首要原因是,Python 是一種可以優雅編程的語言。它能夠簡單自然地寫出代碼和實現我的想法。
另一個原因是我們可以將 Python 用在很多地方:python是真的火!它幾乎可以做各個領域各個平臺,包括Web開發,網絡運維,科學計算,3D游戲開發,圖形界面開發,人工智能等。
除了大家熟悉的知乎、豆瓣,已經有越來越多的公司開始用 Python 來快速搭建網站產品。相應的,也有越來越多的公司開設了Python Web的職位,那么讓我們來學習一下 Python 吧。
Python基礎
1. 變量
你可以把變量想象成一個用來存儲值的單詞。我們看個例子。
Python 中定義一個變量并為它賦值是很容易的。假如你想存儲數字 1 到變量 “one” ,讓我們試試看:
one = 1
超級簡單吧?你只需要把值 1 分配給變量 “one” 。
two = 2
some_number = 10000
只要你想,你可以把任意的值賦給任何其他的變量。正如你從上面看到的那樣,變量 “two” 存儲整型變量 2 ,變量 “some_number” 存儲 10000 。
除了整型,我們還可以使用布爾值(True/Flase)、字符串、浮點型和其他數據類型。
# booleanstrue_boolean = Truefalse_boolean = False# stringmy_name = "Leandro Tk"# floatbook_price = 15.80
2. 控制流程:條件語句
“If”使用一個表達式來判斷一個語句是True 還是False ,如果是True,那么執行if內的代碼,例子如下:
if True:
print("Hello Python If")if 2 > 1:
print("2 is greater than 1")
2 比 1 大,所以 print 代碼被執行。
當“if”里面的表達式是 false 時,“else” 語句將會執行。
if 1 > 2:
print("1 is greater than 2")else:
print("1 is not greater than 2")
1 比 2 小,所以“else”里面的代碼會執行。
你也可以使用“elif”語句:
if 1 > 2:
print("1 is greater than 2")elif 2 > 1:
print("1 is not greater than 2")else:
print("1 is equal to 2")
3. 循環和迭代
在 Python 中,我們可以用不同的形式進行迭代。我會說下 while 和 for。
While 循環:當語句是 True 時,while 內部的代碼塊會執行。所以下面這段代碼會打印出 1 到 10 。
num = 1while num <= 10:
print(num)
num += 1
while 循環需要循環條件,如果條件一直是 True ,它將會一直迭代,當 num 的值為 11 時,循環條件為 false 。
另一段代碼可以幫你更好的理解 while 語句的用法:
loop_condition = Truewhile loop_condition:
print("Loop Condition keeps: %s" %(loop_condition))
loop_condition = False
循環條件是 True 所以會一直迭代,直到為 False 。
For 循環:你可以在代碼塊上應用變量 “num” ,而 “for” 語句將為你迭代它。此代碼將打印與 while 中相同的代碼:從 1 到 10 。
for i in range(1, 11):
print(i)
瞧見沒?這太簡單了。i 的范圍從 1 開始一直到第 11 個元素(10是第十個元素)
這么火的Python,只用一行,能夠實現哪些好玩的功能呢?
1、一行代碼啟動一個Web服務
python -m SimpleHTTPServer 8080 # python2
python3 -m http.server 8080 # python3
2、一行代碼實現變量值互換
a, b = 1, 2; a, b = b, a
3、一行代碼解決FizzBuzz問題
FizzBuzz問題:打印數字1到100, 3的倍數打印“Fizz”, 5的倍數打印“Buzz”, 既是3又是5的倍數的打印“FizzBuzz”
print(' '.join(["fizz"[x % 3 * 4:]+"buzz"[x % 5 * 4:] or str(x) for x inrange(1, 101)]))
4、一行代碼輸出特定字符”Love”拼成的心形
print('\n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') for x in range(-30,30)]) for y in range(30, -30, -1)]))
5、一行代碼輸出Mandelbrot圖像
Mandelbrot圖像:圖像中的每個位置都對應于公式N=x+y*i中的一個復數
print('\n'.join([''.join(['*'if abs((lambda a: lambda z, c, n: a(a, z, c, n))(lambda s, z, c, n: z
6、一行代碼打印九九乘法表
print('\n'.join([' '.join(['%s*%s=%-2s' % (y, x, x*y) for y in range(1, x+1)])for x in range(1, 10)]))
7、一行代碼計算出1-100之間的素數(兩個版本)
print(' '.join([str(item) for item in filter(lambda x: not [x % i for i inrange(2, x) if x % i == 0], range(2, 101))]))
print(' '.join([str(item) for item in filter(lambda x: all(map(lambda p: x % p!= 0, range(2, x))), range(2, 101))]))
8、一行代碼輸出斐波那契數列
print([x[0] for x in [(a[i][0], a.append([a[i][1], a[i][0]+a[i][1]])) for a in([[1, 1]], ) for i in range(30)]])
9、一行代碼實現快排算法
qsort = lambda arr: len(arr) > 1 and qsort(list(filter(lambda x: x <= arr[0],arr[1:]))) + arr[0:1] + qsort(list(filter(lambda x: x > arr[0], arr[1:]))) orarr
10、一行代碼解決八皇后問題
[__import__('sys').stdout.write('\n'.join('.' * i + 'Q' + '.' * (8-i-1) for iin vec) + "\n========\n") for vec in__import__('itertools').permutations(range(8)) if 8 == len(set(vec[i]+i for iin range(8))) == len(set(vec[i]-i for i in range(8)))]
11、一行代碼實現數組的flatten功能:將多維數組轉化為一維
flatten = lambda x: [y for l in x for y in flatten(l)] if isinstance(x, list)else [x]
12、一行代碼實現list, 有點類似與上個功能的反功能
array = lambda x: [x[i:i+3] for i in range(0, len(x), 3)]
13、一行代碼實現求解2的1000次方的各位數之和
print(sum(map(int, str(2**1000))))
總結:
隨著人工智能的發展與應用,Python編程語言受到世界各界人士的關注,編程圈金句從“人生苦短,我學Python”轉變成了“學完 Python,可以上天”,Python工程師也成為一個熱門職業,就業薪資高,發展前景廣闊。
盡管我們都會調侃「又騙我Python」,但在編程語言排行榜中,因為人工智能的火熱,也因其語言本身對新手友好、易于上手、功能強大、高效靈活,年輕Python 的「受歡迎度」就這樣直線上升,甚至已經威脅到Java、C/C++多年打下的江山了。
Python儼然已經成為2018最火的編程語言,雖然Python不能讓你找到對象,但是你決對可以成為有錢的單身狗。還有具有現實意義的一點,干Python的,薪資相對都不錯,當然你需要花一段時間來學習Python。
新聞名稱:Python為啥這么牛?一行Python代碼除了畫圖竟然還有這些功能!
文章位置:http://m.kartarina.com/article32/pgcisc.html
成都網站建設公司_創新互聯,為您提供網站設計、網站策劃、App設計、響應式網站、虛擬主機、定制網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯