日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
python打印函數(shù)名,python 打印變量名

在python中,數(shù)據(jù)的輸出用哪個函數(shù)名

Python3中使用:print()函數(shù)

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供大名企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為大名眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

用法(從IDLE幫助上復(fù)制):

print(...)

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.

Optional keyword arguments:

file: a file-like object (stream); defaults to the current sys.stdout.

sep: string inserted between values, default a space.

end: string appended after the last value, default a newline.

flush: whether to forcibly flush the stream.

value即你要輸出的值(大多數(shù)類型均可),sep是這多個值用什么分割(默認(rèn)為空格),end是這個輸出的末尾是什么(默認(rèn)是換行)。

Python的函數(shù)都有哪些?

Python 函數(shù)

函數(shù)是組織好的,可重復(fù)使用的,用來實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。

函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。你已經(jīng)知道Python提供了許多內(nèi)建函數(shù),比如print()。但你也可以自己創(chuàng)建函數(shù),這被叫做用戶自定義函數(shù)。

定義一個函數(shù)

你可以定義一個由自己想要功能的函數(shù),以下是簡單的規(guī)則:

函數(shù)代碼塊以?def?關(guān)鍵詞開頭,后接函數(shù)標(biāo)識符名稱和圓括號()。

任何傳入?yún)?shù)和自變量必須放在圓括號中間。圓括號之間可以用于定義參數(shù)。

函數(shù)的第一行語句可以選擇性地使用文檔字符串—用于存放函數(shù)說明。

函數(shù)內(nèi)容以冒號起始,并且縮進(jìn)。

return [表達(dá)式]?結(jié)束函數(shù),選擇性地返回一個值給調(diào)用方。不帶表達(dá)式的return相當(dāng)于返回 None。

語法

def functionname( parameters ): ? "函數(shù)_文檔字符串"

function_suite

return [expression]

默認(rèn)情況下,參數(shù)值和參數(shù)名稱是按函數(shù)聲明中定義的順序匹配起來的。

實(shí)例

以下為一個簡單的Python函數(shù),它將一個字符串作為傳入?yún)?shù),再打印到標(biāo)準(zhǔn)顯示設(shè)備上。

實(shí)例(Python 2.0+)

def printme( str ): ? "打印傳入的字符串到標(biāo)準(zhǔn)顯示設(shè)備上"

print str

return

函數(shù)調(diào)用

定義一個函數(shù)只給了函數(shù)一個名稱,指定了函數(shù)里包含的參數(shù),和代碼塊結(jié)構(gòu)。

這個函數(shù)的基本結(jié)構(gòu)完成以后,你可以通過另一個函數(shù)調(diào)用執(zhí)行,也可以直接從Python提示符執(zhí)行。

如下實(shí)例調(diào)用了printme()函數(shù):

實(shí)例(Python 2.0+)

#!/usr/bin/python# -*- coding: UTF-8 -*-

# 定義函數(shù)def printme( str ): ? "打印任何傳入的字符串"

print str

return

# 調(diào)用函數(shù)printme("我要調(diào)用用戶自定義函數(shù)!")printme("再次調(diào)用同一函數(shù)")

以上實(shí)例輸出結(jié)果:

我要調(diào)用用戶自定義函數(shù)!再次調(diào)用同一函數(shù)

參數(shù)傳遞

在 python 中,類型屬于對象,變量是沒有類型的:

a=[1,2,3]

a="Runoob"

以上代碼中,[1,2,3]?是 List 類型,"Runoob"?是 String 類型,而變量 a 是沒有類型,她僅僅是一個對象的引用(一個指針),可以是 List 類型對象,也可以指向 String 類型對象。

可更改(mutable)與不可更改(immutable)對象

在 python 中,strings, tuples, 和 numbers 是不可更改的對象,而 list,dict 等則是可以修改的對象。

不可變類型:變量賦值?a=5?后再賦值?a=10,這里實(shí)際是新生成一個 int 值對象 10,再讓 a 指向它,而 5 被丟棄,不是改變a的值,相當(dāng)于新生成了a。

可變類型:變量賦值?la=[1,2,3,4]?后再賦值?la[2]=5?則是將 list la 的第三個元素值更改,本身la沒有動,只是其內(nèi)部的一部分值被修改了。

python 函數(shù)的參數(shù)傳遞:

不可變類型:類似 c++ 的值傳遞,如 整數(shù)、字符串、元組。如fun(a),傳遞的只是a的值,沒有影響a對象本身。比如在 fun(a)內(nèi)部修改 a 的值,只是修改另一個復(fù)制的對象,不會影響 a 本身。

可變類型:類似 c++ 的引用傳遞,如 列表,字典。如 fun(la),則是將 la 真正的傳過去,修改后fun外部的la也會受影響

python 中一切都是對象,嚴(yán)格意義我們不能說值傳遞還是引用傳遞,我們應(yīng)該說傳不可變對象和傳可變對象。

python 傳不可變對象實(shí)例

實(shí)例(Python 2.0+)

#!/usr/bin/python# -*- coding: UTF-8 -*-

def ChangeInt( a ): ? ?a = 10

b = 2ChangeInt(b)print b # 結(jié)果是 2

實(shí)例中有 int 對象 2,指向它的變量是 b,在傳遞給 ChangeInt 函數(shù)時,按傳值的方式復(fù)制了變量 b,a 和 b 都指向了同一個 Int 對象,在 a=10 時,則新生成一個 int 值對象 10,并讓 a 指向它。

傳可變對象實(shí)例

實(shí)例(Python 2.0+)

#!/usr/bin/python# -*- coding: UTF-8 -*-

# 可寫函數(shù)說明def changeme( mylist ): ? "修改傳入的列表"

mylist.append([1,2,3,4])

print "函數(shù)內(nèi)取值: ", mylist

return

# 調(diào)用changeme函數(shù)mylist = [10,20,30]changeme( mylist )print "函數(shù)外取值: ", mylist

實(shí)例中傳入函數(shù)的和在末尾添加新內(nèi)容的對象用的是同一個引用,故輸出結(jié)果如下:

函數(shù)內(nèi)取值: ?[10, 20, 30, [1, 2, 3, 4]]函數(shù)外取值: ?[10, 20, 30, [1, 2, 3, 4]]

參數(shù)

以下是調(diào)用函數(shù)時可使用的正式參數(shù)類型:

必備參數(shù)

關(guān)鍵字參數(shù)

默認(rèn)參數(shù)

不定長參數(shù)

必備參數(shù)

必備參數(shù)須以正確的順序傳入函數(shù)。調(diào)用時的數(shù)量必須和聲明時的一樣。

調(diào)用printme()函數(shù),你必須傳入一個參數(shù),不然會出現(xiàn)語法錯誤:

實(shí)例(Python 2.0+)

#!/usr/bin/python# -*- coding: UTF-8 -*-

#可寫函數(shù)說明def printme( str ): ? "打印任何傳入的字符串"

print str

return

#調(diào)用printme函數(shù)printme()

以上實(shí)例輸出結(jié)果:

Traceback (most recent call last):

File "test.py", line 11, in module

printme()TypeError: printme() takes exactly 1 argument (0 given)

關(guān)鍵字參數(shù)

關(guān)鍵字參數(shù)和函數(shù)調(diào)用關(guān)系緊密,函數(shù)調(diào)用使用關(guān)鍵字參數(shù)來確定傳入的參數(shù)值。

使用關(guān)鍵字參數(shù)允許函數(shù)調(diào)用時參數(shù)的順序與聲明時不一致,因?yàn)?Python 解釋器能夠用參數(shù)名匹配參數(shù)值。

以下實(shí)例在函數(shù) printme() 調(diào)用時使用參數(shù)名:

實(shí)例(Python 2.0+)

#!/usr/bin/python# -*- coding: UTF-8 -*-

#可寫函數(shù)說明def printme( str ): ? "打印任何傳入的字符串"

print str

return

#調(diào)用printme函數(shù)printme( str = "My string")

以上實(shí)例輸出結(jié)果:

My string

下例能將關(guān)鍵字參數(shù)順序不重要展示得更清楚:

實(shí)例(Python 2.0+)

#!/usr/bin/python# -*- coding: UTF-8 -*-

#可寫函數(shù)說明def printinfo( name, age ): ? "打印任何傳入的字符串"

print "Name: ", name

print "Age ", age

return

#調(diào)用printinfo函數(shù)printinfo( age=50, name="miki" )

以上實(shí)例輸出結(jié)果:

Name: ?mikiAge ?50

默認(rèn)參數(shù)

調(diào)用函數(shù)時,默認(rèn)參數(shù)的值如果沒有傳入,則被認(rèn)為是默認(rèn)值。下例會打印默認(rèn)的age,如果age沒有被傳入:

實(shí)例(Python 2.0+)

#!/usr/bin/python# -*- coding: UTF-8 -*-

#可寫函數(shù)說明def printinfo( name, age = 35 ): ? "打印任何傳入的字符串"

print "Name: ", name

print "Age ", age

return

#調(diào)用printinfo函數(shù)printinfo( age=50, name="miki" )printinfo( name="miki" )

以上實(shí)例輸出結(jié)果:

Name: ?mikiAge ?50Name: ?mikiAge ?35

不定長參數(shù)

你可能需要一個函數(shù)能處理比當(dāng)初聲明時更多的參數(shù)。這些參數(shù)叫做不定長參數(shù),和上述2種參數(shù)不同,聲明時不會命名。基本語法如下:

def functionname([formal_args,] *var_args_tuple ): ? "函數(shù)_文檔字符串"

function_suite

return [expression]

加了星號(*)的變量名會存放所有未命名的變量參數(shù)。不定長參數(shù)實(shí)例如下:

實(shí)例(Python 2.0+)

#!/usr/bin/python# -*- coding: UTF-8 -*-

# 可寫函數(shù)說明def printinfo( arg1, *vartuple ): ? "打印任何傳入的參數(shù)"

print "輸出: "

print arg1

for var in vartuple: ? ? ?print var

return

# 調(diào)用printinfo 函數(shù)printinfo( 10 )printinfo( 70, 60, 50 )

以上實(shí)例輸出結(jié)果:

輸出:10輸出:706050

匿名函數(shù)

python 使用 lambda 來創(chuàng)建匿名函數(shù)。

lambda只是一個表達(dá)式,函數(shù)體比def簡單很多。

lambda的主體是一個表達(dá)式,而不是一個代碼塊。僅僅能在lambda表達(dá)式中封裝有限的邏輯進(jìn)去。

lambda函數(shù)擁有自己的命名空間,且不能訪問自有參數(shù)列表之外或全局命名空間里的參數(shù)。

雖然lambda函數(shù)看起來只能寫一行,卻不等同于C或C++的內(nèi)聯(lián)函數(shù),后者的目的是調(diào)用小函數(shù)時不占用棧內(nèi)存從而增加運(yùn)行效率。

語法

lambda函數(shù)的語法只包含一個語句,如下:

lambda [arg1 [,arg2,.....argn]]:expression

如下實(shí)例:

實(shí)例(Python 2.0+)

#!/usr/bin/python# -*- coding: UTF-8 -*-

# 可寫函數(shù)說明sum = lambda arg1, arg2: arg1 + arg2

# 調(diào)用sum函數(shù)print "相加后的值為 : ", sum( 10, 20 )print "相加后的值為 : ", sum( 20, 20 )

以上實(shí)例輸出結(jié)果:

相加后的值為 : ?30相加后的值為 : ?40

return 語句

return語句[表達(dá)式]退出函數(shù),選擇性地向調(diào)用方返回一個表達(dá)式。不帶參數(shù)值的return語句返回None。之前的例子都沒有示范如何返回?cái)?shù)值,下例便告訴你怎么做:

實(shí)例(Python 2.0+)

#!/usr/bin/python# -*- coding: UTF-8 -*-

# 可寫函數(shù)說明def sum( arg1, arg2 ): ? # 返回2個參數(shù)的和."

total = arg1 + arg2

print "函數(shù)內(nèi) : ", total

return total

# 調(diào)用sum函數(shù)total = sum( 10, 20 )

以上實(shí)例輸出結(jié)果:

函數(shù)內(nèi) : ?30

變量作用域

一個程序的所有的變量并不是在哪個位置都可以訪問的。訪問權(quán)限決定于這個變量是在哪里賦值的。

變量的作用域決定了在哪一部分程序你可以訪問哪個特定的變量名稱。兩種最基本的變量作用域如下:

全局變量

局部變量

全局變量和局部變量

定義在函數(shù)內(nèi)部的變量擁有一個局部作用域,定義在函數(shù)外的擁有全局作用域。

局部變量只能在其被聲明的函數(shù)內(nèi)部訪問,而全局變量可以在整個程序范圍內(nèi)訪問。調(diào)用函數(shù)時,所有在函數(shù)內(nèi)聲明的變量名稱都將被加入到作用域中。如下實(shí)例:

實(shí)例(Python 2.0+)

#!/usr/bin/python# -*- coding: UTF-8 -*-

total = 0 # 這是一個全局變量# 可寫函數(shù)說明def sum( arg1, arg2 ): ? #返回2個參數(shù)的和."

total = arg1 + arg2 # total在這里是局部變量.

print "函數(shù)內(nèi)是局部變量 : ", total

return total

#調(diào)用sum函數(shù)sum( 10, 20 )print "函數(shù)外是全局變量 : ", total

以上實(shí)例輸出結(jié)果:

函數(shù)內(nèi)是局部變量 : ?30函數(shù)外是全局變量 : ?0

python所有內(nèi)置函數(shù)的定義詳解

1、定義函數(shù)

函數(shù)是可重用的程序。本書中已經(jīng)使用了許多內(nèi)建函數(shù),如len()函數(shù)和range()函數(shù),但是還沒自定義過函數(shù)。定義函數(shù)的語法格式如下:

def 函數(shù)名(參數(shù)):

函數(shù)體

定義函數(shù)的規(guī)則如下:

①關(guān)鍵字def用來定義一個函數(shù),它是define的縮寫。

②函數(shù)名是函數(shù)的唯一標(biāo)識,函數(shù)名的命名規(guī)則遵循標(biāo)識符的命名規(guī)則。

③函數(shù)名后面一定要緊跟著一個括號,括號內(nèi)的參數(shù)是可選的,括號后面要有冒號。

④函數(shù)體(statement)為一個或一組Python語句,注意要有縮進(jìn)。

⑤函數(shù)體的第一行可以有文檔字符串,用于描述函數(shù)的功能,用三引號括起來。

按照定義規(guī)則,可以定義第一個函數(shù)了:

def?hello_world():

...?????print('Hello,world!')???#?注意函數(shù)體要有縮進(jìn)

...

hello_world()

Hello,world!

這個函數(shù)不帶任何參數(shù),它的功能是打印出“Hello,world!”。最后一行代碼hello_world()是調(diào)用函數(shù),即讓Python執(zhí)行函數(shù)的代碼。

2、全局變量和局部變量

全局變量是定義在所有函數(shù)外的變量。例如,定義一個全局變量a,分別在函數(shù)test1()和test2()使用變量a:

a?=?100???#?全局變量

def?test1():

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

100

test2()

100

定義了全局變量a之后,在函數(shù)test1()和test2()內(nèi)都可以使用變量a,由此可知,全局變量的作用范圍是全局。

局部變量是在函數(shù)內(nèi)定義的變量,除了用關(guān)鍵字global修飾的變量以外。例如,在函數(shù)test1()內(nèi)定義一個局部變量a,分別在函數(shù)外和另一個函數(shù)test2()內(nèi)使用變量a:

def?test1():

...?????a?=?100???#?局部變量

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

100

print(a)

Traceback?(most?recent?call?last):

File?"stdin",?line?1,?in?module

NameError:?name?'a'?is?not?defined

test2()

Traceback?(most?recent?call?last):

File?"stdin",?line?1,?in?module

File?"stdin",?line?2,?in?test2

NameError:?name?'a'?is?not?defined

Python解釋器提示出錯了。由于局部變量a定義在函數(shù)test1()內(nèi),因此,在函數(shù)test1()內(nèi)可以使用變量a,但是在函數(shù)外或者另一個函數(shù)test2()內(nèi)使用變量a,都會報(bào)錯,由此可見,局部變量的作用范圍是定義它的函數(shù)內(nèi)部。

一般情況下,在函數(shù)內(nèi)聲明的變量都是局部變量,但是采用關(guān)鍵字global修飾的變量卻是全局變量:

def?test1():

...?????global?a???#?全局變量

...?????a?=?100

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

100

print(a)

100

test2()

100

這個程序與上個程序相比,只是在函數(shù)test1()中多了一行代碼“global a”,程序便可以正確運(yùn)行了。在函數(shù)test1()中,采用關(guān)鍵字global修飾了變量a之后,變量a就變成了全局變量,不僅可以在該函數(shù)內(nèi)使用,還可以在函數(shù)外或者其他函數(shù)內(nèi)使用。

如果在某個函數(shù)內(nèi)局部變量與全局變量同名,那么在該函數(shù)中局部變量會覆蓋全局變量:

a?=?100???#?全局變量

def?test1():

...?????a?=?200???#?同名局部變量

...?????print(a)

...

def?test2():

...?????print(a)

...

test1()

200

test2()

100

由于在函數(shù)test1()中定義了一個與全局變量同名的局部變量a,因此,在函數(shù)test1()中全局變量a的值被局部變量覆蓋了,但是在函數(shù)test2()中全局變量a的值沒有被覆蓋。

綜上所述,在Python中,全局變量保存的數(shù)據(jù)供整個腳本文件使用;而局部變量只用于臨時保存數(shù)據(jù),變量僅供局部代碼塊使用。

有沒有Python中的函數(shù)來打印一個對象的所有當(dāng)前的屬性和值

1. 你是兩個不同的事情真的混在一起。

使用dir()或inspect模塊讓你有興趣(什么__builtins__作為一個例子,你的任何對象,而不是)。

l = dir(__builtins__)

d = __builtins__.__dict__

打印該字典但是看上你喜歡:

print l

['ArithmeticError', 'AssertionError', 'AttributeError',...

from pprint import pprint

pprint(l)

['ArithmeticError',

'AssertionError',

'AttributeError',

'BaseException',

'DeprecationWarning',

...

pprint(d, indent=2)

{ 'ArithmeticError': type 'exceptions.ArithmeticError',

'AssertionError': type 'exceptions.AssertionError',

'AttributeError': type 'exceptions.AttributeError',

...

'_': [ 'ArithmeticError',

'AssertionError',

'AttributeError',

'BaseException',

'DeprecationWarning',

...

2.

你想瓦爾()與PPRINT混合:

from pprint import pprint

pprint (vars(your_object))

3.

def dump(obj):

for attr in dir(obj):

print "obj.%s = %s" % (attr, getattr(obj, attr))

4.

目錄有但只會給你的屬性'如果你希望自己的價值觀,以及嘗試的__dict__。

class O:

def __init__ (self):

self.value = 3

o = O()

o.__dict__

{'值':3}

5.

你的“目錄()”函數(shù)來做到這一點(diǎn)。

import sys

dir(sys)

['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr__', '__stdin__', '__stdo

t__', '_current_frames', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder

, 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dllhandle', 'exc_clear', 'exc_info'

'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'getcheckinterval', 'getdefault

ncoding', 'getfilesystemencoding', 'getrecursionlimit', 'getrefcount', 'getwindowsversion', 'he

version', 'maxint', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_

ache', 'platform', 'prefix', 'ps1', 'ps2', 'setcheckinterval', 'setprofile', 'setrecursionlimit

, 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoption

', 'winver']

函數(shù)是幫助。

help(sys)

Help on built-in module sys:

NAME

sys

FILE

(built-in)

MODULE DOCS

CodeGo.net

DESCRIPTION

This module provides access to some objects used or maintained by the

interpreter and to functions that interact strongly with the interpreter.

Dynamic objects:

argv -- command line arguments; argv[0] is the script pathname if known

6.

要打印的對象,你可能的當(dāng)前狀態(tài):

obj # in an interpreter

print repr(obj) # in a script

print obj

為你的類定義__str__或__repr__方法。從Python__repr__(self)由被叫repr()內(nèi)置函數(shù)和字符串

轉(zhuǎn)換(反引號)

計(jì)算“官方”的字符串

一個對象的表示。如果在所有

可能的話,這應(yīng)該看起來像一個

有效的Python表達(dá)式,可能是

用于重新創(chuàng)建的對象與

值(給定一個適當(dāng)?shù)?/p>

如果這是不可能的 CodeGo.net,

一個字符串表單的“...有用

描述...“應(yīng)該返回。

返回值必須是一個字符串

對象。如果一個類定義再版()

但不__str__(),然后__repr__()是

當(dāng)一個“非正式”的字符串

的該實(shí)例的代表性

類是必需的。這通常是

用于調(diào)試,所以重要的是

該項(xiàng)表示是

信息豐富,__str__(self)由被叫str()內(nèi)置函數(shù)和由打印

“非正式”

一個對象的字符串表示表單。

這不同于__repr__()在這

它并不必須是一個有效的Python

表達(dá)式:更方便或

簡潔的表述,如

代替。返回值必須是一個

字符串對象。

7.

可能是值得一試-

是否有相當(dāng)于Perl的Data ::自卸車一個Python?

我是這樣的-

需要注意的是Perl有一個名為Data ::

Dumper模塊的轉(zhuǎn)換對象數(shù)據(jù)返回到perl的源代碼(注:它并沒有轉(zhuǎn)化代碼回到源,而且?guī)缀蹩偸悄悴幌朐谳敵龅暮瘮?shù))。這可持久性,但目的是為了調(diào)

試。

有許多事情標(biāo)準(zhǔn)的python

PPRINT未能達(dá)到,尤其是剛剛停止時,看到一個對象的實(shí)例,并為您的對象的內(nèi)六角指針(降序呃,這個指針是不是一大堆的方式)。因此,概括地

說,python是所有關(guān)于這個偉大的面向?qū)ο蟮姆妒?,但你得到的開箱即用的工具是專為與對象比其他工作。

在Perl的Data ::

Dumper允許你控制你想有多深去,并且還檢測循環(huán)鏈表結(jié)構(gòu)(這是非常重要的)。這個過程是比較容易實(shí)現(xiàn)的perl的對象有超越他們的祝福沒有特別的魔

法(一個普遍良好定義的線程)。

8.

在大多數(shù)情況下,使用__dict__或dir()你將會得到你想要。如果您碰巧需要更多的細(xì)節(jié),標(biāo)準(zhǔn)庫包含了inspect模塊,它可以讓你獲得細(xì)節(jié)令人印象深刻的金額。真正的nuggests包括:

函數(shù)

類層次結(jié)構(gòu)

的一個函數(shù)/類對象的源代碼

局部變量出對象的

如果你只是尋找“沒有我的對象有什么屬性值?”,然后dir()和__dict__可能是足夠的。如果你真的希望挖掘到任意對象的當(dāng)前狀態(tài)(牢記在python幾乎一切都是對象),然后inspect是值得考慮的。

9.

例如轉(zhuǎn)儲對象的魔法:

$貓dump.py

#!/usr/bin/python

import sys

if len(sys.argv) 2:

module, metaklass = sys.argv[1:3]

m = __import__(module, globals(), locals(), [metaklass])

__metaclass__ = getattr(m, metaklass)

class Data:

def __init__(self):

self.num = 38

self.lst = ['a','b','c']

self.str = 'spam'

dumps = lambda self: repr(self)

__str__ = lambda self: self.dumps()

data = Data()

print data

$pythondump.py

__main__.Data instance at 0x00A052D8

與靈知utils的:

$pythondump.py gnosis.magic MetaXMLPickler

?xml version="1.0"?

!DOCTYPE PyObject SYSTEM "PyObjects.dtd"

PyObject module="__main__" class="Data" id="11038416"

attr name="lst" type="list" id="11196136"

item type="string" value="a" /

item type="string" value="b" /

item type="string" value="c" /

/attr

attr name="num" type="numeric" value="38" /

attr name="str" type="string" value="spam" /

/PyObject

這是一個有點(diǎn)過時,但仍然堅(jiān)持工作。

10.

PPRINT包含一個“漂亮的打印機(jī)”為你制造數(shù)據(jù)結(jié)構(gòu)的美觀交涉。格式化器產(chǎn)生的數(shù)據(jù)結(jié)構(gòu)的表示,可以正確地由解釋器進(jìn)行解析,并且也很容易對一個人的閱讀。輸出保持在一行上,如果可能的話,與縮進(jìn)時,多行拆分。

11.

為什么不能簡單的:

關(guān)鍵,在obj的值。字典iteritems()。:

打印鍵,值

12.

我需要在日志中打印并無法PPRINT它會打破它。相反,我這樣做,并幾乎得到了的東西。

DO = DemoObject()

itemDir = DO.__dict__

for i in itemDir:

print '{0} : {1}'.format(i, itemDir[i])

python中print函數(shù)的用法

python中print函數(shù)的用法是:

第一種方法:一個蘿卜一個坑,下面的代碼中,{0}、{1}、{2}分別表示j,i,j*i,單引號里面是輸出格式。

print('{0}+{1}={2}'.format(j,i,j+i))。

第二種方法:類似于C語言格式輸出,使用%開頭格式輸出。

print("%d + %d = %d" %(j,i,j+i))。

python中自動換行,要想不換行的話,需要在print括號最后面加上 , end = ''print(i, end = '' )。

Python常用格式字符是:

1、%s 字符串采用str()的顯示。

2、%x 十六進(jìn)制整數(shù)。

3、%r 字符串(repr())的顯示。

4、%e 指數(shù)(基底寫e)。

5、%c 單個字符。

6、%E 指數(shù)(基底寫E)。

7、%b 二進(jìn)制整數(shù)。

8、%f,%F 浮點(diǎn)數(shù)。

9、%d 十進(jìn)制整數(shù)。

10、%g 指數(shù)(e)或浮點(diǎn)數(shù)(根據(jù)顯示長度)。

11、%i 十進(jìn)制整數(shù)。

12、%G 指數(shù)(E)或浮點(diǎn)數(shù)(根據(jù)顯示長度)。

13、%o 八進(jìn)制整數(shù)。

14、%% 字符%。

如何得到python的當(dāng)前函數(shù)名及行號

import fileinputimport globimport string, sys for line in fileinput.input(glob.glob("samples/*.txt")): if fileinput.isfirstline(): # first in a file? sys.stderr.write("-- reading %s --\n" % fileinput.filename()) sys.stdout.write(str(fileinput.lineno()) + " " + string.upper(line)) 用這個


網(wǎng)站題目:python打印函數(shù)名,python 打印變量名
網(wǎng)站路徑:http://www.dlmjj.cn/article/phjdcd.html