第一階段小結

python簡介

  定義:是一個免費,開源,跨品臺,動態,面向對象的編程語言

程序執行方式:

  1. 交互式:在命令行輸入指令,回車即可得到結果
  2. 文件式:將指令編寫到py文件中,可以重復運行程序

函數:表示一個功能,制作函數的人叫做函數定義著,使用函數的人叫做函數調用者

變量:

  1. 定義:關聯一個對象的標識
  2. 命名:必須為字母,數字或者下劃線,后面跟著字母,數字,下劃線,不能使用保留關鍵字,
  3. 建議命名:見面知意字母小寫,多個單詞用下劃線隔開
  4. 語法:變量名 = 表達式 or 變量名1 = 變量名2 = 表達式 or 變量名1,變量名2 = 表達式1,表達式2

數據類型:

  1. None:表示不存在的特殊對象
  2. 整形(int):整數包含整數,負數,0。
    • 有十進制,二進制,八進制,十六進制
    • 小整數對象池:cpython中整數-5到256,永遠存在小整數對象池中,不會釋放
    • 對象池:緩存的機制
  3. 浮點型(float)
    • 小數,包含正數,負數,0.0
    • 字面值1.5
    • 科學計數法:1.5e1 ,05e-1
  4. 字符串(str)
    • 用于記錄文本信息
    • 字面值:單引號,雙引號,三引號
  5. 布爾值(bool)
    • True表示真
    • False表示假
  6. 復數(complex)
    • 由實部和虛部組成的數字
    • 虛部以j或J結尾 5+3j? ? ?5j

數據類型轉換

  • 轉為整形:int(數據)
  • 轉為浮點型:float(數據)
  • 轉為字符串: str(數據)
  • 轉為布爾 : bool(數據)
    • False: 0 , 0.0 ,'',None
    • True:有值

運算符

  1. 算數運算符
    • +
    • -
    • *
    • / 小數除結果為float類型
    • // 底板除:向下取整
    • %取余數
    • **冪運算
  2. 增強運算符:-=? ?+=? *=? /=? //=? %=? **=
  3. 比較運算符:>? <? ?==? >=? ?<=? !=結果是bool類型
  4. 邏輯運算符
    • and: 一假具假
    • or:一真則真
    • not:取反
  5. 身份運算符
    • is:判斷兩個對象是否為一個對象
    • is not :與is相反

range函數

  作用:可以生成一系列整數的可迭代對象。

  語法:range(開始點,結束點,間隔點)

break語句:跳出循環體,后面的代碼不在執行

continue語句:跳過本次循環,繼續下次循環

容器

  1. 字符串(str):由一系列字符組成的不可變序列容器,存儲的是字符編碼值
  2. 列表(list):由一系列變量組成的可變序列容器
    • 列表推導式:變量= [表達式for變量in可迭代對象if條件]
    • 推導式鑲嵌:[表達式for變量1 in可迭代對象1 for變量2 in可迭代對象2]
  3. 元組(tuple):由一系列變量組成的不可變序列容器
  4. 字典(dict):由一系列鍵值對組成的可變映射容器
    • 映射(哈希算法):通過鍵對應值,每條記錄無序。
    • 鍵必須唯一且不可變對象(字符串,數字,元組),值沒有限制
  5. 集合(set):由一些列不重復的變量組成的可變映射容器,相當于只有鍵沒有值的字典
  6. 固定集合(frozenset):不可變的集合

函數

  定義:用于封裝一個特定的功能,表示一個行為,可以重復執行的語句塊。

  作用:提供程序的復用性,可維護性(代碼層次結構更清晰)

  返回值(return):方法定義著告訴調用的結果

函數參數

  1. 實參傳遞方式argument
    • 位置傳參:實參與形參的位置一次對應
    • 序列傳參:實參用*將序列拆解后與形參的位置依次對應
    • 關鍵字傳參:實參根據形參的名字進行對應
    • 字典傳參:實參用**將字典蔡姐與形參的名字進行對應
  2. 形參傳遞方式 parameter
    • 默認(缺省)參數:參數 = 默認值
    • 位置形參:def函數名(參數)
    • 星號元組形參:*args
    • 命名關鍵字形參:強制實參使用關鍵字傳遞
    • 雙星號字典形參 : **kwargs

可變/不可變類型再傳參時的區別:

  1. 不可變類型:字符串,元組,固定集合,整數。浮點數。復數
  2. 可變類型:列表,字典,集合
  3. 不可變類型的數據傳參時,函數內部不會改變元數據的值
  4. 可變類型的數據傳參時,函數內部可能改變原數據的值

作用域LEGB

  1. local局部作用域:函數內部
  2. encolsing外部嵌套作用域:函數嵌套
  3. GLOBAL全局作用域:py文件內部
  4. Builtins內建模塊作用域:builtins.py
  5. 變量名的查找規則:L-->E-->G--B

局部變量:在方法體內部定義的變量調用函數時才被創建,函數結束后自動銷毀

全局變量:定義再.py文件中的變量函數體內部可以訪問,但不能直接修改,需要先聲明

模塊:包含一系列數據,函數,類的文件,通常以.py結尾

  ? ? 作用:讓一些相關的數據,函數,類的邏輯的組織再一起,使邏輯結構更加清晰,有利于多人合作開發。

  ? ? 導入

    • import 模塊名:將某模塊整體導入到當前模塊中
    • from 模塊名 import 成員名:將模塊內的一個或多個成員導入到當前模塊的作用域中
    • from 模塊名import *:將模塊的所有成員導入到擋墻模塊

  ? ?加載過程:在模塊導入時,模塊的所有語句會執行。如果一個模塊已經導入,則再次導入時不會執行模塊內的語句

   分類:

    1. 內置模塊(builtins),在解析器的內部可以直接使用
    2. 標準庫模塊,安裝Python時已安裝且可直接使用
    3. 第三方模塊,需要自己安裝
    4. 用戶自己編寫的模塊(可以作為其他人的第三方模塊)

迭代:每一次對過程的重復稱為一次“迭代”,而每一次迭代得到的結果會作為下一次迭代的初始值

可迭代對象(iterable):具有__iter__函數的對象,可以返回迭代器對象

迭代器對象(iterator):可以被next()函數調用并返回下一個值的對象

   說明:聚合對象通常是容器對象

   作用:使用者只需要通過一種方式,便可簡潔明了的獲取聚合對象中各個元素,而無需了解其內部結構

生成器(generator):能夠動態(循環一次計算一次返回一次)提供數據的可迭代對象

   作用:在循環過程中,按照某種算法推算數據,不必創建容器存儲完整的結果,從而節省內存空間,數據量越大,優勢越明顯

生成器函數:含有yield語句的函數,返回值為生成器對象

函數式編程:用一系列函數解決問題

    • 函數可以賦值給變量,賦值后變量綁定函數
    • 允許將函數作為參數傳入另一個函數
    • 允許函數返回一個函數

高階函數:將函數作為參數或返回值的函數

函數作為參數:將核心邏輯傳入方法體,使該方法的適用性更廣,體現了面向對象的開閉原則 

lambda表達式:是一種匿名方法

    作用:作為參數傳遞時語法簡潔,優雅,代碼可讀性強,隨時創建和銷毀,減少程序耦合度

    語法:變量 = lambda形參:方法體 方法體只能有一條語句,且不支持賦值語句

閉包:

  三要素

  1. 必須有一個內嵌函數
  2. 內嵌函數必須引用外部函數中變量
  3. 外部函數返回值必須是內嵌函數

  定義:再一個函數內部的函數,用時內部函數又引用了外部函數的變量

  本質:閉包是將內部函數和外部函數的執行環境綁定再一起的地下

  優點:內部函數可以使用外部變量

  缺點:外部變量一直存在于內存中,不會在調用結束后釋放,占用內存

  作用:實現Python裝飾器

  

?

轉載于:https://www.cnblogs.com/Acekr/p/11272437.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/448016.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448016.shtml
英文地址,請注明出處:http://en.pswp.cn/news/448016.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

@JsonSerialize 使用:注解方式 實現條件判斷屬性值、條件修改屬性值

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 數據庫中是 1、0 記錄性別。 預期效果為&#xff1a;當查到屬性值為 1 時&#xff0c;就給序列化后的 json 中性別字段賦值為 “男”…

科目二、科目三易掛項目整理和網友支招

雖然已順利的拿到小黑本本&#xff0c;成了殺手&#xff0c;但回想起學車的種種經歷&#xff0c;不免感慨萬千&#xff01;感謝各位網友提供的種種信息&#xff0c;我才能很有信心的順利通過考試。因此&#xff0c;想把一些失敗的經歷匯總起來為后來者提個醒&#xff0c;做到心…

我該如何介紹我自己

今天和銷售總監一起去見客戶&#xff0c;早上8&#xff1a;47分的高鐵到蘇州。6&#xff1a;30起床&#xff0c;7點趕地鐵……上了高鐵&#xff0c;和銷售總監閑聊幾句&#xff0c;看了一點雜志耳邊就聽到列車廣播傳出優美的妹子聲“蘇州園區到了……”。25分鐘就到了蘇州&…

@JsonSerialize 與 @JsonDeserialize 使用

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1、以注解方式使用&#xff1a; JsonDeserialize(using DateJsonDeserializer.class) JsonSerialize(using DateJsonSerializer.class)…

【Android開發】NDK開發(1)-Hello World!

上半年&#xff0c;公司的一個項目&#xff0c;本身我是不喜歡Android開發的&#xff0c;但是學習到的東西總需要整理一下。 從iOS轉到Android&#xff0c;真心有些不習慣。就IDE來說&#xff0c;eclipse比Xcode差的不是一點半點。Android模擬器竟然還要開機&#xff01;我勒個…

每天30分鐘:成功有效的學習方法

《每天堅持30分鐘》&#xff0c;是一本講述學習方法、提高學習效率的暢銷書&#xff0c;作者&#xff1a;古市幸雄&#xff0c;日本銷量50萬余冊&#xff0c;專為沒有學習習慣的人而寫。 《每天堅持30分鐘》摘錄 第一章 只有學習才能成功 1、有“學習意識”時&#xff0c;學習欲…

修改 input 框里的字體、顏色

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 /* WebKit browsers */ input::-webkit-input-placeholder {color: #C0C0C0;font-size: 14px; } /* Mozilla Firefox 4 to 18 */ input…

Easyjs 細說Javascript里的 閉包(Closure)

要成為高級 JavaScript 程序員&#xff0c;就必須理解閉包。閉包有時你非用她不可&#xff0c; 所有理解閉包還是必要的。筆者通過例子來說一下“閉包” 1.定義一個函數的代理&#xff1a; functiondelegate (fn, scope, args, append) { returnfunction/*匿名函數1*/(…

學習方法書籍 很好推薦

學習方法書籍&#xff1a;一《超級學習法》&#xff1a; 這是一種優秀的學習法。美國紐約華爾街10號的“超級記憶法有限公司”和保加利亞的羅扎諾夫學院都在推廣這一種學習方法。日本長野吉田高中應用該方法使學生平均成績提高20分&#xff0c;日本東海大學的關英男教授用這種方…

js 取兩位小數

var totalPrice (product.unitPrice * product.nums).toFixed(2);轉載于:https://www.cnblogs.com/yqlwl66/p/4155606.html

jQuery 實現表格與 ckeckbox 的全選、單選功能

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 功能點 1. 用戶點擊頭的checkbox時&#xff0c;所有表格數據行的checkbox全選或反選。 當數據行某一行沒有選中時&#xff0c;頭check…

jquery checkbox 選中、改變狀態、change 和 click 事件

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 jquery判斷checked的三種方法: ??????? .attr(checked); //看版本1.6返回:”checked”或”undefined” ;1.5-返回:true或false …

中醫教你5個補腎護發食療方

一個人的頭發有10萬到15萬根&#xff0c;每根頭發都有個毛囊&#xff0c;從毛囊里又生成毛球&#xff0c;長出頭發。頭發從長出到脫落&#xff0c;要經過3個周期&#xff0c;即成長期(約2&#xff5e;7年)、退縮期(約1個月)和休止期(約4個月)。 頭發的生長速度和密度隨年齡而變…

VUE:checkbox 單選框(單選、多選)、一選全選 / 全選一選、表格單選列實現

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 效果&#xff1a;如紅框中部分。 一選全選&#xff1a;表頭上的單選框選中則下面每行都選中。 全選一選&#xff1a;表中數據每行都…

我愛學習第一天(委托)

---恢復內容開始--- 1.delegate 一般用法 delegate void WriteValue(string vale);//申明一個委托,參數是string類型,無返回值static void Main(string[] args){WriteValue write new WriteValue(WriteLine);//實例化委托write("喝水");//調用Console.ReadKey();}pu…

怎樣洗頭使頭發變黑變多

洗頭法 頭發變黑變粗--用淘米水洗頭。每天煮飯時會產生淘米水&#xff0c;請將淘米水留下&#xff0c;裝在一個容器內放上二天&#xff0c;讓它自然發酵。然后用來洗頭&#xff0c;三天洗一次&#xff0c;不出三個月&#xff0c;你的頭發就會變粗、變黑。 發酵后的淘米水會有一…

VUE:父子組件間傳參、子組件傳值給父組件、父組件傳值給子組件

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Vue是一個輕量級的漸進式框架&#xff0c;對于它的一些特性和優點在此就不做贅述&#xff0c;本篇文章主要來探討一下Vue子父組件通信的…

c1科目三考試技巧

起步平穩。轉向燈不要錯了。靠邊要和路邊平行。離邊近量保持&#xff1a;30CM距離。車子在運行中。換檔盡量保持利落。若道路比較復雜。看好路牌路標&#xff0c;不要違規。一般很容易過的。你不要緊張。晚上夜考燈光把好。一切很順利的。祝你好運。 方法/步驟 緊記著“一燈二…

Astyle 一鍵格式化項目代碼

代碼格式化差異問題&#xff1a; 一個團隊有多個開發&#xff0c;因開發習慣不同&#xff0c;開發時少添加了空格、換行等。 格式化代碼時&#xff0c;一般會將整個文檔格式化&#xff0c;代碼提交時會發現未知的修改項。 Astyle格式化工具 官網下載地址&#xff1a;Artistic S…

淺談 JavaScript、ECMAScript (ES5、ES6)是什么、相互關系

一、ECMAScript 和 JavaScript 的關系 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 ES6 ECMAScript6 從百度百科的資料上來看&#xff1a; ECMAScript是一種由Ecma國際通過ECMA-…