小派拾貝|7.用小程序實驗理解一下什麼是Python的風格

2021-03-06 藍調百香果

  

目錄

   歡迎來稿,簡短即可。


07

    

    本期故事編寫:藍調百香果WAS等。

    本期內容說明:問題來源於最近幾位學界大咖對中小學編程教育中要不要學或者是否要看重Python獨特的算法。或者是,基於最基礎的算法描述就可以了嗎?這些事,一線老師的咱們,也不太容易明白,但是編程的時候還真是遇見這些問題的。今天的學習就遇上了,分享給大家,就當技術小實驗,學不學、教不教不在本文討論之列的!

    各位,咱們最近學Python,這東東真是迷一樣的存在!

    各種神語法妙算法,我學得可帶勁了。可是我個人就不建議小朋友們學習哦~~哎呀,其實太簡單了,我都不樂意再深入了!

    能能~你這「凡爾賽大餐」還是很香嘛!跟我這大強小朋友說一說吧~

 大強,你們且學且珍惜,跟我慢慢試驗喔!

    {'a':1,'b':2,'c':3}['b']

 知道啥意思不?

 知道得出什麼結果不?

  大強!我們運行一下不就行了嘛!

  結果是2啊?!

 {'a':1,'b':2,'c':3}['c']結果就是3了——

   大強!我知道了,這是字典的一種很Python的訪問方式。通用的算法該是這樣:

   dic= {'a':1,'b':2,'c':3}

   print(dic['a'])

   你只是省了一個字典變量嘛,就牛大了,咱也懂了懂了!

那再來啊!

下面這個估計聰明的小麗、誠實的大強、老練的小明、學霸的王寧、優秀的張霞... ...誰也不會懂的!        

from operator import *

def c(a, b, k):

 return {

 '+': add,

 '-': sub,

 '*': mul,

 '/': truediv,

 '**': pow

 }[k](a, b)

print(c(20, 40, '+'))

print(c(40, 2, '/'))

print(c(2, 3, '**'))

   能能,你也真會「拉採」了!

   我這就召集大家,一塊研究研究。

     

哇!試驗發現,原來是個小小計算器呢!我們再來搜索、研究一下。

operator模塊是python中內置的操作符函數接口,它定義了一些算術和比較內置操作的函數,功能好強大的。operator模塊是用c實現的,所以執行速度比python代碼快。

add(x,y)就是做加法。

pow(a,b)就是求a的b次方!

這些單詞不能自己隨意寫,是模塊裡規定好的。

自定義函數c就是返回一個自定義的運算的結果。

運算功能是[k]產生的。

[k]是從字典裡找的一個運算函數名,add或者sub或者.

然後,就可以運算(a,)啦!

c自定義函數的k值最巧妙,可以把運算符號當成key,代表的不同運行命令當成value(值)。

可見呢,Pyhton的特點也有他的優點呢,很容易設計,不然得在裡面加好多if elif呢!

if k=="*":

   r=add(a,b)

elif k=="/":

   r=sub(a,b)

...

else:

   return none

   大家說的都很有道理呢!

   也許有的人認為if else比字典的機巧更容易懂呢~~

   不同的人喜歡吃不同的花樣美食吧,食材差不多,做的怎樣吃,消化後變成的成分差不多,各有各的特點嘛!

   其實,這個程序最基礎的算法內涵差不多,都是:根據不同的運算符號來進行運算功能的選擇使用的,語法方式和效率不一樣吧?

   既然Python這麼優秀,它的長處我們也不能視而不見的啊!

相關焦點

  • 介紹一下什麼是python(瘋狂Python)
    普通人,非專業搞編程的人,也能快速上手,也許你會問我python能幹什麼用,它的用處可多了:比如web開發(django,flask等),網絡爬蟲(scrapy等),數據分析(numpy,pandas,matplotlib庫等),人工智慧(Tenseflow等)等等應用的地方很多。那麼就讓我們從一個小白學起吧!1. Python是一種電腦程式設計語言。
  • 新手寫Python程序有什麼推薦好用編輯器
    安裝完成python,需要一個稱手的編輯器。俗話說:工欲善其事,必先利其器。那到底新手寫Python程序有什麼推薦好用編輯器,網上一大堆編輯器不可能每一個都試一下。現在給點我自己學習python過程中選擇編輯器一些個人看法。
  • 用python的求閏年小程序實例
    大家在平時的時候也有討論過我們是多少會有一個閏年,其實按照古代傳下來的是:每四年一閏,每百年不閏,四百年又閏那我們是不是可以用python寫一個小程序就能求出我們輸入進去的年份是否閏年。這也是我們學習python時常用的一個練習。
  • Python—程序語言入門
    教學目標1、讓學生了解什麼是編程及對編程提起濃厚的學習興趣。2、Python Shell、GUI和Prompt(提示符)的理解。>3、Python可以用來做什麼   開發遊戲&軟體(遊戲後臺大多數用python編寫);   製作更高級的Flash(web flash game);   創建資料庫;黑客hacker(遠程攻擊計算機、破解硬體or軟體);發明變形金剛(2006年日本FANUC推出的人工智慧機器人);學習其他語言的基礎(所有程序語言都有共同性
  • 深入淺出 + 徹底理解 Python 編碼
    本文的目的是簡明扼要地說明python的編碼機制,並給出一些建議。問題1:問題在哪裡?問題是我們的靶子,心中沒有問題去學習就會抓不住重點。本文使用的編程環境是centos6.7,python2.7。我們用的centos系統默認的編碼是utf-8,所以,只要知道中國zg每個字符的utf-8的編碼就可以知道01串是什麼了。
  • 一日一技:用Python程序求解二次方程式
    用Python程序求解二次方程式 當我們已給出係數a,b和c時,用python程序計算二次方程的根值。 另外,說明一下,下面的示例,需要你有一定的python基礎,不然對於新手來說,會難以理解。 因此,這篇文章,適合於有一定python學習基礎的小夥伴。
  • 【python】倒計時小程序
    他們是傻子嗎?!(╬▔——▔)咳咳,其實小編們並不想洩露太多技能(否則誰還會給我們飯錢……),但既然你這麼說,我們還是得再po點東西讓你知道軟院不(都(這個字想說明什麼(-__-)b))是吃軟飯的。% i) else: print("Oh, No! You miss the gold 12!") time.sleep(1) # 調用time模塊中的sleep()函數升級一下!
  • 用Python構建數據科學Web應用程式
    在本文中,我將向你展示如何使用streamlit python庫快速構建一個簡單的數據驅動web應用程式,只需幾行代碼。作為一名數據科學家或機器學習工程師,能夠部署我們的數據科學項目是很重要的。傳統的使用Django或Flask這樣的框架來部署機器學習模型可能是一項艱巨和/或耗時的任務。
  • Python+AI+選修課第5課:我的第二個AI程序人臉大挪移誕生記
    第一個要修改的地方就是容錯處理,一旦程序錯誤要給出文字提示,而不是python的報錯信息。這個比較容易實現,增加python的異常處理就好。這是python的一個特點。input('請閱讀注意事項,按回車繼續……')使用input()命令使程序暫停是個非常好的方法,尤其是雙擊運行python代碼時,為了防止程序在執行完畢之後就自動關閉,一般都需要在程序最後加上input(),使程序暫停。這一點在我最開始學習python時是不知道的,後來自己悟出來的。
  • 電腦程式設計語言Python 3.8.7安裝教程
    Python是一種電腦程式設計語言。是一種面向對象的動態類型語言,最初被設計用於編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越來越多被用於獨立的、大型項目的開發。【安裝過程】:共計9步【軟體安裝包】:文末獲取【安裝難度】:⭐⭐1、準備好Python 3.8.7的安裝包,並解壓「5366python3.8.7」;
  • 慢步python,如何用python語言創造出一個真正的獨立exe程序?
    我們學習編程,終極目標還是編寫一個獨立的應用程式。獨立的應用程式應該像QQ,微信一樣不依靠其他程序運行,只有平臺支持,就可以運行。從這個意義上說,所用應用程式都是基於作業系統運行的。那麼如何用python語言創造出一個真正的獨立的應用程式?就是我們電腦上的exe程序?
  • 用Python使用C語言程序(Windows平臺)
    本文的目標是在windows平臺下(使用pycharm),實現python調用C語言編寫的程序。主要參考資料:python擴展實現方法--python與c混和編程(http://www.cnblogs.com/btchenguang/archive/2012/09/04/2670849.html)混合編程:用 C 語言來擴展 Python 大法吧!
  • 小派科技唐劍虹專訪:國內VR市場需要時間培育
    唐劍虹:謝謝17173VR,小派VR主要是做VR頭顯,以及VR定位。目前我們產品主要是兩類,第一類是硬體產品,第二類是平臺型產品。第一類產品是小派4K,第一款4K解析度的產品,基於這個小派4K又做了一系列改進,有個產品的矩陣。軟體產品目前站在用戶體驗角度,怎麼讓硬體能更好地用。所以軟體主要是服務好硬體。
  • 深入理解Python 類型和對象
    並非所有對象都有bases,一些特別的對象會有. A base 類似於面向對象術語中的超類或基類。 如果你更在意具體的對象在內存中怎樣存放,而不是更想知道一些抽象的概念, 這對你理解每個對象在內存中都有個具體的位置(可以用id函數來獲得)很有幫助。
  • 《小灰教你零基礎學python》-Python入門語言
    一、什麼是程序?>c語言php(有人稱php是最好的程式語言)這裡包括咱本套課程需要學習的python,其實理解咱這麼理解就行:咱們和外國人交流需要說英語,那麼咱們必須要學會英語才能和對方溝通;咱們需要讓電腦進行「溝通」就必須要使用程式語言。
  • 快速掌握用python寫並行程序,乾貨滿滿
    這就要說下我前幾天做的一個作業了,當時我用python寫了個程序,結果運行了一天,這個速度可讓我愁了,我還怎麼優化,怎麼交作業啊。於是小子就去各大論壇尋丹問藥了,終於讓我發現可以用並行計算來最大化壓榨電腦的CPU,提升計算效率,而且python裡有multiprocessing這個庫可以提供並行計算接口,於是小子花1天時間改進程序,終於在規定時間內做出了自己滿意的結果,上交了作業。
  • 如何用 Python 製作一款間諜小程序
    知識點本次我們使用 python 來打造一款間諜程序,程序中會用到許多知識點,大致分為四塊:Python 基礎重點在 cpytes 庫的使用,使用方法連結:https://docs.python.org/3.7/library/ctypes.html程序的基本原理在於通過註冊
  • 07-python中的程序組織結構
    你好,我是在學python的小潭。通過昨天的文章06-python中的運算符我們熟悉了python中運算符的定義和使用。
  • 科悟學院講解Python是什麼以及Python的應用
    人工智慧相信現在大多數人都已經不陌生了,逐漸進入千家萬戶,但是知道人工智慧是什麼編寫的嗎?其實人工智慧現在最主要的是利用Python語言去編寫的,有人會問Python是什麼?今天科悟學院的講師就為你介紹一下Python是什麼以及Python的應用,希望對你有所幫助。Python 是一種解釋型、面向對象、動態數據類型的強類型高級程序設計語言。
  • 第一個Python程序——在屏幕上輸出文本
    本節我將給大家介紹最簡單、最常用的 Python 程序——在屏幕上輸出一段文本,包括字符串和數字。