Python中賦值和print筆記

2022-05-12 18:16:54 字數 2861 閱讀 8091

1、在python2.6總nonlocal不可用

2、python中還是可以出現";"的,例如:x = 3 ; y = 5 ; print(x+y)

3、python中的集中賦值:

spam = 'spam' #簡單賦值

spam,ham = 'yun','ynn' #元祖賦值運算

['spam','ham'] = ['yun','yum'] #列表賦值運算

a,b,c,d = 'spam' #序列賦值運算

a,*b = 'spam' # 擴充套件序列解包

spam=ham='lunch' #多目標賦值

spam += 412 #增強賦值運算

3、序列賦值,

[a,b,c]=(1,2,3)

(a,b,c)="abc"

[a,b,c]='abc'

但是當兩側數目不一致時會報錯。

4、當兩側數目不一致時,序列解包可以解決這個問題

seq = [1,2,3,4]

a,*b = seq

print(a,b) #輸出:1,[2,3,4]

*a,b = seq

print(a,b) #輸出:[1,2,3],4

a,*b,c = seq

print(a,b,c) #輸出:1,[2,3],4

序列解包對任何序列都有效:

a,*b = 'spam' #輸出:s,pam

如果沒有剩下的內容給帶星號的名稱,則會賦值乙個空的列表

a,b,c,d,*e = seq #輸出:1,2,3,4,

a,b,*c,d,e = seq #輸出1,2,,3,4

#a,*b,c,*d=seq將會報錯

#*a = seq 將會報錯

*a, = seq

5、案例分析

a = b = 0

b = b+1

print(a,b) #0,1

#修改b只對b有影響,

6、列表的+和增強運算+=是有區別的,其中呼叫列表的extend的方法和增強+=效果一樣。+=是在原處修改,而+是新建乙個新的列表

l = [1,2,3,4]

t = [[1,2,3,4,5,6,7]]

k = l+t

print(k) #輸出[1,2,3,4,[1,2,3,4,5,6,7]]

t[0][0] = -100

print(k) #輸出[1,2,3,4,[1,2,3,4,5,6,7]]

l = [1,2,3,4]

t = [[1,2,3,4,5,6,7]]

l+=t

print(l) #輸出:[1, 2, 3, 4,[ 1, 2, 3, 4, 5, 6, 7]]

t[0][0]=-100

print(l) #輸出:[1, 2, 3, 4, [-100, 2, 3, 4, 5, 6, 7]]

l = [1,2,3,4]

t = [[1,2,3,4,5,6,7]]

l.extend(t)

print(l) #輸出:[1, 2, 3, 4,[ 1, 2, 3, 4, 5, 6, 7]]

t[0][0]=-100

print(l) #輸出:[1, 2, 3, 4, [-100, 2, 3, 4, 5, 6, 7]]

另外乙個例子:

l = [1,2]

m = l

l = l + [3,4]

print(l,m) #輸出:[1,2,3,4],[1,2]

l = [1,2]

m = l

l.extend([3,4]) #或者l+=[3,4]

print(l,m) #輸出:[1,2,3,4][1,2,3,4]

7、命名規則

單下劃線開頭不會被from module import * 匯入 例如:_x

前後都有雙下劃線的是系統定義變數 例如:__doc__

前面有兩個下劃線,但是後面沒有下劃線的是類本地變數

8、python3.0中的語法

print([object][,sep=' '][,end='\n'][,file=sys.stdout]) #等號後面都是預設值

9、python2.6中

print x,y 等效於 print(x,y)

print x,y, 等效於print(x,y,end='' #表示消除末尾的換行符

print >>myfile x,y 等效於 print(x,y,file=myfile)

如果想消除各個元素間的分隔符可以通過+或者格式化表示

print x+y 或者 '%s%s'%(x,y)

10、print(x)等價於 如下

import sys

sys.stdout.write(str(x)+'\n')

11、可以設定sys.stdout為檔案,例如:

import sys

temp = sys.stdout #儲存下來,方便以後調換過來

sys.stdout = open(r'f:/python/tsst.txt') #或者 print(x,y,file=(open(r'f:/python/test.txt')))

print('hello,worl')

print(1,2,3)

sys.stdout.close()

sys.stdout = temp #又切換為原來

print('hello,worl')

print(1,2,3)

12、錯誤資訊也可以重定向

import sys

sys.stderr.write('bad'*8+'\n')

或者print('bad'*8,file=sys.stderr)

Python中return和print的作用及區別

print的作用是輸出資料到控制端,就是列印在你能看到的介面上 print的作用還是比較容易理解的 print 1 print asdfghj 輸出結果 1asdfghjreturn的作用之一是返回計算的值 沒有return語句 x 1y 2def add x,y z x y print add x...

對python中return和print的一些理解

前言 最近剛開始學程式設計客棧習python,之前只有一些c的基礎,也忘得差不多了,現在想邊學習邊總結quwmqw和分享收穫 看書時看了return的用法,可是後來和print混了,老是感覺可以將函式return值直接顯示,但不是這樣的。下面就來和大家分析下對python中return和print的...

Python中print換行問題

print 如何實現換行?1 將語句分別輸入在不同行中,也就是多輸入幾個print語句。coding utf 8 print 今天天氣很好 print 我們出去玩吧 print 你說好嗎 輸出的結果 今天天氣很好 我們出去玩吧 你說好嗎 2 我們在學習c語言的時候,經常用 n換行,在python中同...