之所以l.extend(4)
型別錯誤,而l.extend('c')
沒有問題,在於字串是可迭代物件,且 python 中不區分單個字元與字串的區別,均是字串。
注意輸出與返回值之間的關係
>> s = range(5)
>> [print(i) for i in s]01
234out[2]: [none, none, none, none, none]
>> m = (1)
>> m
1>> m = (1, )
>> m
(1, ) # tuple 型別
>> m = 1,
>> m
(1, )
>> l =
>> len(l)
1
>>> print('%i%%'%(10))
10%>>> print('%'.format(10))
10%
def foo():
return 1, 2 # return (1, 2)
x = foo() # 此時x是元組((1, 2)),
x, y = foo() # 此時x是元組的第乙個元素((1))
# 頗有幾分自動型別推導的意思
接著搗蛋:
def foo():
return 1, 2, 3
x = foo() # 編譯通過
x, y, z = foo() # 編譯通過
x, y = foo() # 編譯不通過,未定義行為,編譯器不知如何進行元組的分配
python legb規則
num = 9
def f1():
num = 10
def f2():
print(num)
f2()
f1()
f2()
輸出為:
9
9
num 不是全域性變數,但對全體函式是可見的,每個函式都會得到 num 拷貝,如果想在函式內部對 num 進行修改,需要用 global 進行修飾。
num = 9
def f1():
global num
num = 10
def f2():
print(num)
f2()
f1()
f2()
910
>> map(none, [1, 2, 3], [4, 5, 6])
[(1, 4), (2, 5), (3, 6)]
>> map(none, [1, 2, 3], [4, 5, 6], [7, 8, 9])
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
map 的第乙個引數為函式物件,後續的全部引數有一種 zip 的含義在。
首先需要明確的一點,not 作用之後的結果為 false/true,
>> [not i for i in (-3, -2, -1, 0, 1, 2, 3)]
[false, false, false, true, false, false, false]
>> not 0
true
>> not none
true
>> not
true
def f(a, l=):
return l
print f(1)
# [1]
print f(2)
# [1, 2]
print f(3)
# [1, 2, 3]
>> l1 = [1, 2, 3, 4]
>> l2 = [20, 30, 40]
>> l1[2:2] = l2
>> l1
[1, 2, 20, 30, 40, 3, 4]
# 實現了插入
>> t = ([1, 2], 3, 4)
>> id(t)
3070311756l
>> t[0][1] = 20
>> t
([1, 20], 3, 4)
>> id(t)
3070311756l
python中如何實現兩個字典合併
>> d1 =
>> d2 =
法 1:
d3 = dict(d1.items() + d2.items())
該法用時較長,效率不高;
法 2:
d3 = dict(d1, **d2)
這種方法使用的是dict()
工廠方法(python 2.2 以上版本),
法 3:
d3 = d1.copy()
d3.update(d2)
據 python 核心程式設計一書所說,從已存在字典中生成新字典的方式dictnew = dict(dictold)
叫內建方法dictnew = dictold.copy()
會慢一些。
def t(name):
def tt(**kwargs):
print name
print kwargs
return tt
t(1)(name=2)
# 1#
js 轉化為實體符 JS奇葩語法(二)
在你的瀏覽器控制台輸入這一段 猜猜看會得到什麼結果?要想理解這個結果怎麼出來的,需要你對js各種型別的轉換非常熟悉才行。我們試著解析一下這個語法。上文中的 分為兩部分 所以它們分別代表 n 和 b 我們先看第乙個字母 轉化 tostring tostring 解析結果 第2次轉化 undefined...
python初級語法 python語法基礎
寫在最前頭 python 程式對大小寫是敏感的!1 資料型別 1 整數 可以處理任意大小的正負整數 2 浮點數 浮點數運算可能會引入四捨五入的誤差 3 字串 可以是單引號or雙引號括起來的任意文字,但是不包括單引號or雙引號本身。ps 如果字串本身裡含有單引號or雙引號,怎麼辦呢?嘻嘻 可以使用轉義...
python初級語法 Python基礎語法
第一章格式規範 一 標頭檔案 1.注釋行 usr bin python3 coding utf 8 2.匯入模組行 匯入整個模組,格式 import module 匯入模組中全部函式,格式為 from module import 二 識別符號 首字元必須是字母或下劃線。識別符號對大小寫敏感。三 保留...