python函數理解,python對函數的理解

函數

函數可以提高編寫代碼效率、代碼的重用、讓程序更小、模塊化

可以將一段獨立功能的代碼集成在一個塊中、封裝獨立功能

# 函數定義(參數名為形式參數)

def 函數名(參數名):

函數體

# 調用函數(享受封裝的成功)

函數名(實際參數)

例:print函數

print(sep,end) sep(元素中分割)和end(結束符)為函數的參數

函數的參數

# 函數共有四種參數(位置參數、關鍵字參數、默認參數、可變參數),下面分別來介紹這四種參數

# 位置參數(輸入的實際參數的時候和形式參數的位置是一一對應的)

例:

def number(a,b):

函數體

注意:number(a,b) a和b的位置不可變,否則會影響結果,這種形式就是位置參數、實參個數與形式參數個數一致

# 關鍵字參數(輸入的實際參數位置可以和形式參數位置不一致,由關鍵字判斷)

例:

def number(a,b):

函數體

number(a=,b=) a和b的位置可變,由關鍵字區分,實參個數和形式參數個數一致

# 默認參數

例:

def number(a,b=1):

函數體

number(a="1",b) b可以不用傳參,會直接使用默認參數,如果在實參中(關鍵子參數、位置參數)傳了默認參數會使用實參來代替默認參數、在函數定義時,默認參數需要放在非默認參數后面

# 可變參數

例:

def number(*args,**kwargs):

函數體

type(args)=tuple將形參接收到的所有位置參數,會保存到元組中,*一個星號只能接收位置參數

tyoe(kwargs)=dict將形參接收到所有關鍵子參數,會保存到字典中,**兩個型號接收關鍵參數

return

一個函數默認不使用return返回的話,默認返回None

函數中遇到return就會返回,這個函數運行結束

return的返回值會返回到函數調用處

可以返回多個值,用逗號隔開

返回多個值類型是元組類型

使用return會跳出循環

模塊及函數的調用

#模塊定義: 任意一個py文件就是模塊

模塊的名稱,一定要符合標識符的命名規范

py文件中定義的函數,變量,類型能唄其他py文件導入之后,進行調用

#函數的調用:

import py文件

from xxx import 特定的函數

from xxx import * (導入所有函數和全部變量) 不推薦使用,有可能造成重名,外加占用cpu

變量

# 函數中的作用域

局部變量:函數體內部定義變量

全局變量:模塊內的變量

# 函數體內的一個變量查找順序

1、當前函數內部作用域中查找有沒有定義這個變量

2、會去全局作用域中查找,如果有同名的變量,那么會直接獲取

3、會去系統模塊中查找,如果系統模塊中找不到,那么會NameError異常

# 函數體內部將局部變量改為全局變量

global變量 # 使用global后,指定的變量一定為全局變量

來源:https://www.cnblogs.com/xiaoxiaozhaoxin/p/13273158.html

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

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

相關文章

06:空格分隔輸出

描述 讀入一個字符,一個整數,一個單精度浮點數,一個雙精度浮點數,然后按順序輸出它們,并且要求在他們之間用一個空格分隔。輸出浮點數時保留6位小數。 輸入共有四行:第一行是一個字符;第二行是一…

iOS開發UI篇—九宮格坐標計算

iOS開發UI篇—九宮格坐標計算 一、要求 完成下面的布局 二、分析 尋找左邊的規律,每一個uiview的x坐標和y坐標。 三、實現思路 (1)明確每一塊用得是什么view (2)明確每個view之間的父子關系,每個視圖都只有一個父視圖,擁有很多的子視圖。 (3)…

工業4.0時代企業如何用CRM實現模式變革

當前,全球經濟正處于變革的巨大浪潮之中,對于制造業來說,德國提出工業4.0,美國提出工業互聯網,而我國,正在大力推進“中國制造2025”。制造業實現轉型升級勢在必行。我國政府提出,要大力支持傳統…

oracle 9.2.0.2,在RedHat enterprise server 3 安裝oracle9i 2.0.0.1 并升級到9.2.0.6

oracle9i 2.0.4上個月從oracle網站下載沒有安裝在els3上。參考了網上的一些文章,并根據文章的提示找了一些資料和補丁,完成了這次的安裝。[more]1.安裝RedHat EL3現在的安裝界面都做的很好了,一路NEXT就可以安裝了.如果有困難,請參考其他linux安裝文檔進…

spring -mvc 將對象封裝json返回時刪除掉對象中的屬性注解方式

spring -mvc 將對象封裝json返回時刪除掉對象中的屬性注解方式 在類名,接口頭上注解使用在 JsonIgnoreProperties(value{"comid"}) //希望動態過濾掉的屬性 例 JsonIgnoreProperties(value{"comid"}) public interface 接口名稱{ } JsonIgnorePro…

HawkHost老鷹主機更換主域名方法

http://www.yd631.com/change-hawkhost-primary-domain/圣誕節優惠期間,很多童鞋們購買了老鷹主機,可能由于大家初次使用海外主機或者是CP面板的空間。購買主機的時候主域名是隨便輸入的或者是輸入后想換一個。我們可以通過以下方法進行操作。之前我們QQ…

ERP CRM與SCM整合過程中的知識轉移

ERP(Enterprise Resource Planning,企業資源計劃)、CRM(Customer Relationship Management,客戶關系管理)、SCM、CRM(Customer Relationship Management,客戶關系管理)、SCM(supply chain management,供應鏈管理)作為現代企業管理…

ubuntu 64 12.04 oracle,ubuntu server 12.04 x86_64 下安裝oracle xe 11 x86_64

1.下載oracle xe我下載的是oracle-xe-11.2.0-1.0.x86_64.rpm.zip2. 安裝必要程序或文件$sudo apt-get install unzip chkconfig libaio1 alien3.解壓上面的oraclexxx.zip文件,然后進行轉換$sudo alien -d --scripts oracle-xe-11.2.0-1.0.x86_64.rpm上面轉換完成后會生成一個 o…

IEnumerable 遍歷用法

咋一看到IEnumerable這個接口,我們可能會覺得很神奇,在一般的編程時,基本上我們是想不到去用它的,可是,俗話說得好,存在便是道理,那么,它對我們來說,能夠帶來哪些奇妙的事…

DELPHI設置枚舉類型size

delphi枚舉類型長度默認為2個字節(單字),而在C中枚舉為4個字節(雙字),如果需要跨這兩個平臺編程,傳輸結構時會由于數據長度不一造成災難。 經過查找資料,原來delphi可以通過{$Z} {$Z-} {$Z1} {$Z4} 等宏設置枚舉類型的長度&#x…

Nginx 反向代理 websocket 協議

為什么80%的碼農都做不了架構師?>>> 主要配置內容 server {listen 80;server_name xxx.xxx.xxx;location / {try_files $uri $uri/ /index.html;root /workspace/www;index index.html index.htm;}location ^~/letchat/ {proxy_pass http:/…

oracle中區間大小,Oracle的邏輯結構(表空間、段、區間、塊)——總結

Oracle邏輯結構全景結構圖以下為個人整理的一些關于Oracle邏輯結構的相關數據字典:SELECT * FROMDBA_TABLESPACES--記錄各個表空間的詳細信息SELECT * FROMDBA_TABLESPACE_USAGE_METRICS--記錄各個表空間的使用狀況SELECT * FROMDBA_DATA_FILES --記錄各個數據文件的…

C#3.0之神奇的Lambda表達式和Lambda語句

“Lambda 表達式”是一個匿名函數,它可以包含表達式和語句,并且可用于創建委托或表達式目錄樹類型。所有 Lambda 表達式都使用 Lambda 運算符 >,該運算符讀為“goes to”。該 Lambda 運算符的左邊是輸入參數(如果有&#xff09…

[C++] Nested Radical Constant

做高數助教被天煞的大一學生坑了,發現是個未解問題,沒有解析解。。 用C搞了下,就是這樣。。。 No closed-form expression is known for this constant (Finch 2003, p. 8; S. Plouffe, pers. comm., Aug. 29, 2008). /*********************…

api-gateway實踐(03)新服務網關 - 網關請求攔截檢查

參考鏈接:http://www.cnblogs.com/jivi/archive/2013/03/10/2952829.html 一、為什么要攔截檢查請求? 防止重放攻擊、篡改重放,進行使用規格檢查 1、請求可能是重放攻擊 重放攻擊的基本原理就是把以前竊聽到的數據原封不動地重新發送給接收方…

oracle存儲過程關鍵字有哪些,ORACLESTREAMS存儲過程中的一些參數有哪些?

1,maintain_mode參數可取golbal或transportable tablepsaces,當該參數取global時,表示streams進行全庫復制,否則表示streams進行表空間復制,需要在tablespace_names參數中指定待復制的一個或多個表空間。2,…

正則驗證多個郵箱用分號隔開

代碼如下&#xff1a; <script> var str xxxx126.com;123234234qq.com;xxxxxxxxxx.con.cn; var reg /^((([a-z0-9_\.-])([\da-z\.-])\.([a-z\.]{2,6}\;))*(([a-z0-9_\.-])([\da-z\.-])\.([a-z\.]{2,6})))$/; if(reg.test(str)){ alert(1); }else{ …

轉載-使用 Feed4JUnit 進行數據與代碼分離的 Java 單元測試

JUnit 是被廣泛應用的 Java 單元測試框架&#xff0c;但是它沒有很好的提供參數化測試的支持&#xff0c;很多測試人員不得不把測試數據寫在程序里或者通過其它方法實現數據與代碼的分離&#xff0c;在后續的修改和維護上有諸多限制和不便。Feed4JUnit 是開源的基于 JUnit 的擴…

青島智能院助力智慧城市 打造智能產業“黃埔軍校”

作為青島市的主干道之一&#xff0c;山東路的擁堵狀況一直讓人頭疼。近日&#xff0c;因為一種交通組織優化方案的實施&#xff0c;山東路和延吉路的通行率提高了近50%。而研發這種智能管控系統的正是位于青島高新區的青島智能產業技術研究院。截止今年5月份&#xff0c;青島智…

oracle備份歸檔文件,oracle 如何不備份已經備份的歸檔

在Oracle數據庫備份歸檔日志時&#xff0c;通常會保存最近幾天的歸檔日志文件不刪除。如&#xff1a;backup archivelog all;delete noprompt archivelog all completed before sysdate -14; 在本地保留14天的歸檔日志&#xff0e;再備份時&#xff0c;歸檔會重復再備份一次。…