Python學習筆記(持續更新)
一. 定義函式時,預設引數的問題
1. 預設引數值為不可變物件(例如常量)時:
i = 5
def f(arg=i):
print(arg)
i = 6
f()
得到的結果將會是輸出5
.
2.預設引數為可變物件(例如列表、字典或類)時:
def f(a, L=[]):
L.append(a)
return L
print(f(1))
print(f(2))
print(f(3))
這種情況下,輸出的結果為:
[1]
[1, 2]
[1, 2, 3]
在python中預設值在函式定義作用域被解析,在程式碼執行前需要編譯,繫結具體的結果,給這個方法靜態分配儲存空間(引數也要分配儲存空間,而且預設引數的儲存空間是不變的)。
如果不想讓預設值在後續呼叫中累積,可以採用如下方法定義函式:
def f(a, L=None):
if L is None:
L = []
L.append(a)
return L
相關推薦
Python學習筆記(持續更新)
一. 定義函式時,預設引數的問題 1. 預設引數值為不可變物件(例如常量)時: i = 5 def f(arg=i): print(arg) i = 6 f() 得到的結果將會是輸出5. 2.預設引數為可變物件(例如列表、字典或類)時:
python 稀疏儲存與計算-scipy.sparse學習筆記(持續更新...)
常用的幾種稀疏矩陣儲存形式以及適用場景: 1. csr_matrix: 優點:1. 能進行高效的算術運算。如:csr+csr,csr*csr 2. 行切片
深入理解計算及系統 Chapter2 學習筆記(持續更新)
信息 得到 編碼方式 apt 轉換 數據 print 機器 void Chapter2 信息的表示和處理 1.將一個十進制的數字x轉換為n進制,可以用n反復除x,得到商q和一個余數r,然後用這個r作為最低位數字,反復這個過程直到商為0,則可以得到n進制的表示,其原理為: x
Hbase&Phoenix學習筆記(持續更新)
1. 檢視某張Hbase表在HDFS中的儲存情況 ``` hadoop fs -ls /apps/hbase/data/data/h3c/log_suspect_track_history_spark/hadoop fs - ls /apps/hbase/data/data/h3c/
【C#】C#學習筆記(持續更新)
本章比較雜亂,是本人在學習C#中的一些筆記,並不全面,只是一些隨筆。 1.一個 C# 程式主要包括以下部分: 名稱空間宣告(Namespace declaration) 一個 class Class 方法 Class 屬性 一個 Main 方法 語句(Stat
PHP看書學習筆記(持續更新)
$GLOBALS:包含指向當前程式中全域性範圍內有效的變數,它是一個數組,該陣列的索引(或鍵名)就是全域性變數的名稱。 $_SERVER:該全域性變數是一個包含諸如頭資訊,路徑和指令碼位置的陣列。常見的$_SERVER的元素包括PHP_SELF(當前正在執行的指令碼的檔
Matlab學習筆記(持續更新)
矩陣 在matlab中矩陣是以陣列的形式存在的,一維陣列相當於 向量,二維陣列相當於矩陣,所以矩陣是陣列的子集 函式名稱 函式功能 ones(n)構建nXn的1矩陣, 矩陣的元素全部是1 ones(m,n)構建mXn的1矩陣 ones (size (A) )構
Hbase&Phoenix學習筆記(持續更新)
檢視某張Hbase表在HDFS中的儲存情況 hadoop fs -ls /apps/hbase/data/data/h3c/log_suspect_track_history_spark/hadoop fs - ls /apps/hbase/data/dat
Java Spring框架學習筆記(持續更新)
IOC、DI IOC容器:控制反轉。通常例項化一個類的物件,我們都會用new關鍵字來例項化。而“控制反轉”將物件例項化的這一操作從程式設計師手動完成轉交給IOC容器完成。 DI(依賴注入Dependency injection):容器建立完物件後,處理物件與物件之間的依賴關係。 依賴
vue學習筆記(持續更新)
vue的例項化 vue的例項化有以下幾種形式: new Vue({ el: '#app', data: { foo: 'bar', items:{ title:"hander", isfi
React學習筆記(持續更新)
2.2頁面載入過程 1.資源載入過程:URL->DNS查詢->資源請求->瀏覽器解析 ①URL結構:http://www.hhh.com:80/getdata?pid=1#title[協議://域名:埠/路徑?引數#雜湊] ②DNS查詢:瀏覽器<--(ip)(域名)-->D
C++ Primer 學習筆記(持續更新......)
本筆記主要是一個記錄,整理和總結一下C++學習過程中的知識點。 struct和class 區別:兩個關鍵字都是進行類的定義。struct也可以定義類,和class定義的類唯一不同之處就在於預設的初始訪問級別,struct在不宣告public或者private
【WPF】學習筆記(持續更新)
1.現在有一個需求。WPF中,或者所有windows框架中,button所呈現的一些效果都是按照系統主題來的。比如我現在將滑鼠移動到按鈕上,它會變藍。如圖: 而現在我想要用WPF實現UWP的效果(變灰)。並且我想加入圖示 這也不能用。因為button預設只能修改b
sklearn scikit-learn學習筆記(持續更新)
在最近的課題中,發現了機器學習的神器,sklearn,寫一些簡單的分類器對資料進行分類簡直不要舒服本部落格是我在學習官方文件的時候的一些個人的筆記,由於我只關注一些自己見過的方法的呼叫,所以本文僅供參考,建議英語過關的還是要自己看官方文件http://scikit-learn
libev學習筆記(持續更新)
2014-09-03 -- ==libev學習筆記 == 參考:1. http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod2. 簡介:libev - a high performance full-featured e
機器學習專項練習筆記(持續更新)
##1.卷積神經網路計算尺寸 輸出尺寸=(輸入尺寸-filter尺寸+2*padding)/stride+1 卷積向下取整,池化向上取整 stride=1時,當kernel=3,padding=1或kernel=5,padding=2 卷積前後尺寸不變。 ##2.序列模式挖掘
Web學習筆記(持續更新中……)
web伺服器: WebLogic是BEA公司的產品(收費); WebShphere是IBM公司的產品(商用收費),支援J2EE規範; Tomcat是APACHE公司的產品,支援全部JSP以及Servlet規範。 Tomcat官方網站:http://tomcat.apach
Django 入門(個人學習筆記,持續更新)
導語:這些筆記都是結合自己的學習和查詢網上的資料筆記或者回答上整理,可能有很多內容類似,目的是為了讓自己以後忘了知識點可以看自己寫的筆記,第一次寫技術筆記,多多包涵。 MVC 大部分開發語言中都有MVC框架 MVC框架的核心思想是:解耦 降低各功能模
Java學習筆記(持續更新ing)
1、在讀入字串時: str = sc.nextLine(); //讀入一行 str = sc.next(); /
Python學習筆記(2.1)函數參數練習
col python學習 nbsp cnblogs print item info inf -- 關鍵字參數 和 命名關鍵字參數 # -*- coding: utf-8 -*- def print_scores(**kw): print(‘