1. 程式人生 > >python中*號**的區別

python中*號**的區別

# encoding: utf-8 ###解決中文編碼報錯問題,python2中 def qiguaideshu(*num): sum=0 for x in num: sum=sum+x*x return sum nums = [1, 2, 3] ll=(1,2,3,4,5,6,7,8,9,10) print qiguaideshu(*nums) print '\n' print qiguaideshu(*ll) ''' *代表tuple或者list **代表mapping或者dic(字典) ''' #字典型別 def students(name,age,id,**other): print 'name:' ,name,'age:' ,age,'id:' ,id,'other:',other students('haha',30,'2014403089',address='sichuan') 顯示結果: 14 385 name: haha age: 30 id: 2014403089 other: {'address': 'sichuan'} 總結: Python 的函式具有非常靈活的引數形態,既可以實現簡單的呼叫,又可以傳入非常複雜的 引數。 預設引數一定要用不可變物件,如果是可變物件,執行會有邏輯錯誤! 要注意定義可變引數和關鍵字引數的語法: *args 是可變引數, args 接收的是一個 tuple; **kw 是關鍵字引數, kw 接收的是一個 dict。 以及呼叫函式時如何傳入可變引數和關鍵字引數的語法: 可變引數既可以直接傳入: func(1, 2, 3),又可以先組裝 list 或 tuple,再通過*args 傳入: func(*(1, 2, 3)); 關鍵字引數既可以直接傳入: func(a=1, b=2),又可以先組裝 dict,再通過**kw 傳入: func (**{'a': 1, 'b': 2})。

相關推薦

python***的區別

# encoding: utf-8 ###解決中文編碼報錯問題,python2中 def qiguaideshu(*num): sum=0 for x in num: sum=sum+x*x return sum nums = [1, 2, 3] ll=(1,2,3,4,5,6,7,8,9,10) prin

import,reload,__import__在python區別

import作用: 匯入/引入一個python標準模組,其中包括.py檔案、帶有__init__.py檔案的目錄。e.g:import module_name[,module1,...] from module import *|child[,child1,...]說明:

Pythonsort()和sorted()的區別

-s 可變對象 傳遞 內置函數 ict pan 16px nbsp lin 1、sort()是可變對象(字典)的方法,無參數,無返回值, sort()會改變可變對象,因此無需返回值。例如: list: 1 >>> a = [4,3,7,8] 2 >

Pythonos與sys模塊的區別

mov clear maintain n) 安裝 文件 join() pat 系統 os與sys模塊的官方解釋如下: os: This module provides a portable way of using operating system dependent

pythonreturn和print的區別

bsp 不同 urn text 一是 什麽 cnblogs style c99 之前遇到這個問題,就試著對比幾種不同的結果,總結啦一下return和print的區別。 總結: return的作用之一是返回計算的值print的作用是輸出數據到控制端在第一個結果中什麽都沒

Python內置數據類型list,tuple,dict,set的區別和用法

必須 div bsp 10個 用法 保險 進行 mov python Python語言簡潔明了,可以用較少的代碼實現同樣的功能。這其中Python的四個內置數據類型功不可沒,他們即是list, tuple, dict, set。這裏對他們進行一個簡明的總結。

Pythonos與sys兩模塊的區別

des ren 異常類 函數 出現 輸出 func lena info <os和sys的官方解釋> ?os os: This module provides a portable way of using operating system depe

Python深拷貝與淺拷貝區別

分配 img 地址 append 淺拷貝 pen image pre 內容 淺拷貝, list值是可變的,str值不可變,只能重新賦值 a=b=c=‘wjx‘print(a,b,c)c= ‘jmy‘#重新賦值了,所以內存分配了新的地址print(a,b,c)print(id

python,花括號括號,小括號區別

.com title htm targe 表示 url pos lan itl python中,花括號,中括號,小括號的區別 Python主要有三種數據類型:字典、列表、元組。其分別由花括號,中括號,小括號表示。 如: 字典:dic={‘a‘:12,‘b‘:34} 列表:l

Python元祖,列表,字典的區別

執行 ear 序列 not auth 標記 ron pytho tro Python中有3種內建的數據結構:列表、元祖和字典: 1.列表   list是處理一組有序項目的數據結構,即你可以在一個列表中存儲一個序列的項目。   列表中的項目應該包括在方括號中,這樣P

Python Iterator和Iterable的區別

pytho 數據 執行 next 判斷 -h 實現 col http (轉載:http://blog.csdn.net/passionkk/article/details/49929887) Python中 list,truple,str,dict這些都可以被叠代,但他們並

Pythonthreading的join和setDaemon的區別及用法

退出 mon comment ber .cn 結束 必須 用法 方法 Python多線程編程時經常會用到join()和setDaemon()方法,基本用法如下: join([time]): 等待至線程中止。這阻塞調用線程直至線程的join() 方法被調用中止-正常退出或者

python%r和%s的區別

ould mat mark post inf info repr pan formatter %r用rper()方法處理對象 %s用str()方法處理對象 有些情況下,兩者處理的結果是一樣的,比如說處理int型對象。 例一: print "I am %d years o

Python的元組,字典、計算器代碼實例及python2與python3的區別

所有 time tor result inpu __name__ 字符 img 歡迎來到 1.計算器實例#/usr/bin/env python # -*- coding:utf-8 -*- # @time :2018/1/22 21:09 # @Author :Fen

Python函數和方法的區別

ini import ins function cti body itl 一個 object 1、函數要手動傳self,方法不用傳self 2、如果是一個函數,用類名去調用,如果是一個方法,用對象去調用 舉例說明: class Foo(object): d

pythonjson.dump() 和 json.dumps() 有那些區別

其他 reading 如果 data logs with open 序列 pos cme 以下內容摘自:《Python Cookbook》 json 模塊提供了一種很簡單的方式來編碼和解碼JSON數據。 其中兩個主要的函數是 json.dumps() 和 json.load

python打開文件區別

新建 文件 說明 方式 打開文件 不存在 r+ 內容 兩個 r只讀,r+讀寫,兩個都不創建########################################w新建只寫,w+新建讀寫,二者都會將文件內容清零(以w方式打開,不能讀出。w+可讀寫)#########

Python copy和deepcopy的區別

deepcopy 改變 般的 blog 等於 div copy clas 但是 import copy 假設在python中對list的復制 copy稱為淺復制 deepcopy稱為深復制 淺復制和深復制在一般的list中作用是相同的,都是進行一個復制 但是在list嵌套l

Pythonbreak與continue的區別

主動 tro 開始 bubuko while 打印 .com pos 結束 1.break 結束循環 count = 0 while count < 10: print(‘hello,Jay‘, count) break count = co

python類的方法裏面變量前加self與不加self的區別

UI PYTHON SELF 1.最近在執行一個UI自動化腳本登錄網站時遇到一個很奇葩的問題:運行腳本後chromedriver會驅動瀏覽器打開網站執行腳本裏面的一系列界面操作,操作完後瀏覽器自動關閉了(重點就在這裏,我明明沒有調用webdriver的close()或是quite()方法,為什麽它