python 淺析格式化輸出和深淺copy


一,格式化輸出

         今天主要想記錄一下關於格式化輸出的例子,然后結合了自己的理解,分析如下:

          格式是 :百分號+占位符

  主要有三種使用形式:%s  (其中s表示string)表示字符串

            %d  (其中d表示digit)表示數字

            %f  (其中f表示float)表示浮點小數,也稱小數 

其他的如下:%% 百分號標記 #就是輸出一個%
%c 字符及其ASCII碼
%d 有符號整數(十進制)
%u 無符號整數(十進制)
%o 無符號整數(八進制)
%x 無符號整數(十六進制)
%X 無符號整數(十六進制大寫字符)
%e 浮點數字(科學計數法)
%E 浮點數字(科學計數法,用E代替e)
%f 浮點數字(用小數點符號)
%g 浮點數字(根據值的大小采用%e或%f)
%G 浮點數字(類似於%g)
%p 指針(用十六進制打印值的內存地址)
%n 存儲輸出字符的數量放進參數列表的下一個變量中

     Python支持將值格式化為字符串,雖然這可以包括非常復雜的表達式,但是最基本的用法是將值插入到%s 占位符的字符串中。

    %格式化符也可用於字典,可用%(name)引用字典中的元素進行格式化輸出。

下面舉例說明:

1,打印字符串

title = "hello  world!"
print( "%s" %title)
結果:hello  world!

注意:這里的 %s 被替換為后面 % 符號后窯傳遞給字符串的內容(他可以包括單個和多個字符串)

2,打印整數

number = 123
print("%d" %number)
結果:123

3,打印浮點數

number = 123
print("%f" %number)
結果:123.000000

python2.x  python3.x默認浮點數都保留6位小數

4,打印浮點數(指定保留位數)

number = 123
print("%2f" %number)
print("%4f" %number)
結果:123.00
結果:123.0000

  %f里指定保留小數位數時具有自動四舍五入的功能,比如b=3.14159  使用%.3f格式化之后輸出的結果變成了b=3.142

5,指定占位符寬度

number = "ABCDE"
print( "%6s" %number)
print( "%06s" %number)
print( "%8s" %number)
結果: ABCDE
        0ABCDE
            ABCDE

指定輸出d使用6個字符寬度,如果不夠在前面補零,輸出字符串時,默認右對齊,其實可以調整的

二,深淺copy

  復制,首先我們從切片技術說起。它應用於所有的序列,包括:列表,字符串,元祖。但是切片不能應用於字典,對於字典只能使用D.copy() 和 D.deepcopy()方法。

  下面具體說一下深淺copy,可以應用於序列,也可以應用於字典

import copy

a ={'a':1,'b':2}
x = copy.copy(a)          #淺拷貝:只拷貝頂級的對象,或者說父級對象
y = copy.deepcopy(a)    #深拷貝:拷貝所有的對象,頂級對象及其嵌套對象。或者說父級對象及其子對象

  所以說:深淺拷貝都是對源對象的復制,占用不同的內存空間

      如果源對象只有一級目錄的話,源對象做任何改動,不影響深淺拷貝對象

      如果源對象不止一級目錄的話,源對象做任何改動,都要影響淺拷貝,但不影響深拷貝

      序列對象的切片其實是淺拷貝,即只拷貝頂級的對象

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM