python args_Python可變參數*args和**kwargs用法實例小結

本文實例講述了Python可變參數*args和**kwargs用法。分享給大家供大家參考,具體如下:

一句話簡單概括:當函數的參數不確定的時候就需要用到*args和**kwargs,前者和后者的區別在于,后者引入了”可變”key的概念,而前者沒有key的概念,具體看下面的使用樣例和具體的解釋即可:

#!usr/bin/env python

#encoding:utf-8

'''''

__Author__:沂水寒城

功能:*args 和 **kwargs

'''

def test_func1(*args):

'''''

*args

當函數的參數數量不確定的時候可以使用*args,個人理解*args相當于一個大小可變地列表

容器,有點類似于C語言中的指針,傳給引用即可找到內容,在這里可以使用*+變量的形式

來實現內容可變列表的輸出

'''

for index, one_char in enumerate(args):

print 'index={0}, one_char={1}'.format(index, one_char)

def test_func2(**kwargs):

'''''

**kwargs

這個和上面的功能性質是一樣的,只是*args沒有key的概念,**kwargs加入了可變key的操作

這個參數允許你使用未定義的參數名而不會出現KeyError

'''

for id_num, name in kwargs.items():

print '{0}:{1}'.format(id_num,name)

def print_dict(one_dict):

'''''

直接輸出字典內容

'''

for id_num, name in one_dict.items():

print id_num, name

if __name__ == '__main__':

print "腳本之家測試結果:"

str_list=['沂','水','寒','城','We','Are','Friends']

str_dict={'id_num':20123456, 'name':'yishuihancheng'}

test_func1(*str_list)

test_func2(**str_dict)

print '-----------------------------------------------------------'

print_dict(str_dict)

結果如下:

腳本之家測試結果:

index=0, one_char=沂

index=1, one_char=水

index=2, one_char=寒

index=3, one_char=城

index=4, one_char=We

index=5, one_char=Are

index=6, one_char=Friends

id_num:20123456

name:yishuihancheng

-----------------------------------------------------------

id_num 20123456

name yishuihancheng

運行結果截圖:

2018427110107705.png?201832711124

希望本文所述對大家Python程序設計有所幫助。

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

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

相關文章

文件組備份還原

-- 參考 USE master; GO-- 測試的DB CREATE DATABASE DB_Test ON PRIMARY(NAME DB_Test,FILENAME C:\DB_Test.mdf ), FILEGROUP FG1 (NAME DB_Test_FG1,FILENAME C:\DB_Test_fg1.ndf ), FILEGROUP FG2 (NAME DB_Test_FG2,FILENAME C:\DB_Test_fg2.ndf ) LOG ON(NAME DB_…

php調用c++

1.在/var/www中建個測試文件夾 cpp 在此文件夾中新建c文件sort.cpp,如下 編譯并測試執行通過進行以下步驟。 2.在cpp文件夾下新建文件cpp.html,如下 3.同樣在cpp下建php文件cpp.php,如下 保存。 4.程序執行如下 提交后: 轉載于:ht…

AI+無線通信——Top7 (Baseline)分享與總結

從浩哥那里轉載 https://wanghao.blog.csdn.net/article/details/115813954 比賽已經告一段落,現在我們隊兌現承諾,將比賽方案開源給大家,互勉互助,共同進步。 隊伍介紹 我們的隊伍名是Baseline,我們因分享Baseline…

拼字符串成為時間,和兩個計算時間點的中間值

拼字符串成為時間,和兩個計算時間點的中間值 select convert(datetime,2016-09-18 SUBSTRING(CONVERT(varchar(100),d_bdate, 24), 0, 9),21) from B2C_daima where d_noB04 select case when Datename(hour,d_edate)> Datename(hour,d_bdate) then convert(dat…

tornado post第3方_[33]python-Web-框架-Tornado

1.TornadoTornado:python編寫的web服務器兼web應用框架1.1.Tornado的優勢輕量級web框架異步非阻塞IO處理方式出色的抗負載能力優異的處理性能,不依賴多進程/多線程,一定程度上解決C10K問題WSGI全棧替代產品,推薦同時使用其web框架…

android 串口調試工具_樹莓派通用串口通信實驗

一、介紹對于樹莓派 3B來說,他的UART功能有三種:1、內部藍牙使用;2、控制終端使用;3、與其他設備進行串口通信。在樹莓派USB TO TTL模塊實驗中學習了通過串口對樹莓派進行控制臺控制,讓串口作為控制終端調試口即 seria…

Laravel5.2目錄結構及composer.json文件解析

目錄或文件說明|– app包含Controller、Model、路由等在內的應用目錄,大部分業務將在該目錄下進行|  |– Console命令行程序目錄|  |  |– Commands包含了用于命令行執行的類&#xff…

ichat在線客服jQuery插件(可能是歷史上最靈活的)

ichat是一款開源免費在線客服jQuery插件,通過該插件,您可以自由的定制屬于自己的在線客服代碼。 ichat充分吸收傳統在線客服插件的優點,并加上自身的獨特設計,使得ichat可定制性異常強大。 ichat追求簡單實用,走小清新…

POJ 1007 DNA Sorting

按照字符串的逆序排序。 /*Accepted 100K 16MS C 863B 2012-08-03 08:30:48*/ #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> using namespace std; const int MAXN 55, MAXM 110; struct str {char…

第6章 Python 數字圖像處理(DIP) - 彩色圖像處理1 - RGB彩色模型,RGB to Gray,CMK和CMYK彩色模型,HSI彩色模型

第6章主要講的是彩色圖像處理&#xff0c;一些彩色模型如RGB&#xff0c;CMK&#xff0c;CMYK&#xff0c;HSI等色彩模型&#xff1b;彩色模型的變換關系&#xff1b;還包含由灰度圖像怎樣處理成假彩色圖像&#xff1b;使用彩色分割圖像等。本章比較少理論還有變換的描述&#…

git 命令詳解_再次學習Git版本控制工具

微信公眾號&#xff1a;PHP在線Git 究竟是怎樣的一個系統呢&#xff1f;為什么在SVN作為版本控制工具已經非常流行的時候&#xff0c;還有Git這樣一個版本控制工具呢&#xff1f;Git和SVN的區別在哪兒呢&#xff1f;Git優勢又在哪呢&#xff1f;下面PHP程序員雷雪松帶你一起詳細…

python twisted和flask_淺談Python Web 框架:Django, Twisted, Tornado, Flask, Cyclone 和 Pyramid...

Django 是一個高級的 Python Web 框架&#xff0c;支持快速開發&#xff0c;簡潔、實用的設計。如果你正在建一個和電子商務網站相似的應用&#xff0c;那你應該選擇用 Django 框架。它能使你快速完成工作&#xff0c;也不必擔心太多的技術選擇。它能提供從模版引擎到 ORM 所需…

spring-boot 定時任務

2019獨角獸企業重金招聘Python工程師標準>>> 1、建立項目 SpringBootApplication EnableAsync EnableScheduling EnableAutoConfiguration(exclude{ DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class}) ImportResource(…

使用Lightbox制作照片條

前言&#xff1a;這是國外的一個教程&#xff0c;我也很喜歡這個網頁里面的教程&#xff0c;主要技術是CSS3和JQuery以及一些JQuery的插件的應用&#xff0c;當然從這些教程我也學到了他們制作時的一些思路&#xff0c;就好像做數學題那樣&#xff0c;只要思路把握了&#xff0…

iOS- 如何改變section header

希望這個從UITableViewDelegate協議里得到的方法可以對你有所幫助&#xff1a; - (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {UIView *headerView [[[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.…

第6章 Python 數字圖像處理(DIP) - 彩色圖像處理2 - 灰度分層(灰度分割)和彩色編碼,灰度值到彩色變換,Gray to RGB

第6章主要講的是彩色圖像處理&#xff0c;一些彩色模型如RGB&#xff0c;CMK&#xff0c;CMYK&#xff0c;HSI等色彩模型&#xff1b;彩色模型的變換關系&#xff1b;還包含由灰度圖像怎樣處理成假彩色圖像&#xff1b;使用彩色分割圖像等。本章比較少理論還有變換的描述&#…

值重新賦值_JavaScript-賦值運算符

好好學習&#xff0c;天天向上賦值運算符賦值運算符必須有變量參與運算&#xff0c;賦值運算符會做兩件事情第一&#xff0c;將變量中原始值參與對應數學運算&#xff0c;與右側的數據第二&#xff0c;將運算結果再重新賦值給變量變量位于操作符的左側賦值運算符符號&#xff1…

超聲換能器的原理及設計_超聲波發生器、變幅桿、焊頭的匹配介紹

一.超聲波換能器原理與設計(超聲波振動系統)匹配摘要&#xff1a;就塑料焊接機的超聲波換能器系統進行設計和計算&#xff0c;并用PRO- E 三維軟件繪出三維模型&#xff0c;最后進行頻率分析&#xff0c;為超聲波換能系統提供了有用的設計方法。關鍵詞&#xff1a;超聲波換能器…

位圖法

判斷集合中存在重復是常見編程任務之一&#xff0c;當集合中數據量比較大時我們通常希望少進行幾次掃描&#xff0c;這時雙重循環法就不可取了。位圖法比較適合于這種情況&#xff0c;它的做法是按照集合中最大元素max創建一個長度為max1的新數組&#xff0c;然后再次掃描原數組…

CentOS查看和修改PATH環境變量的方法

為什么80%的碼農都做不了架構師&#xff1f;>>> 查看PATH&#xff1a;echo $PATH 以添加mongodb server為列 修改方法一&#xff1a; export PATH/usr/local/mongodb/bin:$PATH //配置完后可以通過echo $PATH查看配置結果。 生效方法&#xff1a;立即生效 有效期限…