Python學(xué)習(xí)(1)

本系列內(nèi)容來源于 廖雪峰的Python教程 點擊查看原文

入門零碎知識(主要回顧和Java不同的地方)

python3 打印

print("Hello Wolrd!")
句末不要分號

多字符打印

print("hello","world")
中間用 空格相加

運算

print() 里面可以直接進(jìn)行運算

讀取控制臺輸入

input() 讀取出來是個字符串

布爾值 True False 記得首字母要大寫
布爾值可以用and留储、or和not運算

python的除法

/ 這個是數(shù)學(xué)上的直接相除 得到的結(jié)果一定是浮點數(shù)

// 兩個斜杠 是整除

對于單個字符的編碼,Python提供了ord()函數(shù)獲取字符的整數(shù)表示琅绅,chr()函數(shù)把編碼轉(zhuǎn)換為對應(yīng)的字符:

Python對bytes類型的數(shù)據(jù)用帶b前綴的單引號或雙引號表示:

b'ABC'

python中的格式化

和c語言差不多
print('Hello, %s' % 'world')

print('%s%s'% ('你是','好人'))

輸出:'Hello, world'
你是好人

%d 整數(shù)
%f 浮點數(shù)
%s 字符串
%x 十六進(jìn)制整數(shù)

可以都使用%s

如何要輸入%時, 使用%%

Python中的列表(list),有序集合,可以隨時添加刪除元素

list = ['a','b','c']

len(list) = 3

list[0]  通過下標(biāo)進(jìn)行訪問

python支持倒敘訪問
list[-1] 取最后一個元素
list[-2] 取倒第二元素

列表支持內(nèi)嵌

>>> p = ['asp', 'php']
>>> s = ['python', 'java', p, 'scheme']

其中 s[2] 又是一個列表

元組 tuple

有序列表,與list很相似,但是tuple一旦初始化就不能修改.

 t = (1, 2)

tuple注意點:

t = (1)   
這句話有歧義 ,會被當(dāng)括號處理
所有 元組中只有一個元素的時候,這樣定義
t = (1,)

>>> t = (1)
>>> t
1
>>> t=(1,)
>>> t
(1,)

else if 語句

可以簡寫為 elif

age = 3
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print('kid')

if語句還可以這樣寫

只要x是非零數(shù)值礼烈、非空字符串杀怠、非空list等,就判斷為True,否則為False布讹。
if x:
    print("True")

dict 字典

查找速度極快,和java的的map差不多

d = {"1":"tom","2":"youxuan"}

set 無序载佳,不重復(fù)

新建要傳一個list列表
>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}

數(shù)據(jù)類型轉(zhuǎn)換

>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False

函數(shù)引用

函數(shù)名其實就是指向一個函數(shù)對象的引用炒事,完全可以把函數(shù)名賦給一個變量,相當(dāng)于給這個函數(shù)起了一個“別名”:

>>> a = abs # 變量a指向abs函數(shù)
>>> a(-1) # 所以也可以通過a調(diào)用abs函數(shù)
1

空函數(shù)

def nop():
    pass

if age >= 18:
    pass

pass是占位符蔫慧,如何不加的話挠乳,程序會報錯

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

if not isinstance(x, (int, float)):
        raise TypeError('bad operand type')

函數(shù)多個返回值

import math

def move(x, y, step, angle=0):
    nx = x + step * math.cos(angle)
    ny = y - step * math.sin(angle)
    return nx, ny

注:如果接收值是一個,返回值會自動轉(zhuǎn)換為一個tuple    

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

def power(x,n=2):
    print(x,n)

注:默認(rèn)參數(shù)要在必選參數(shù)后姑躲。
    默認(rèn)參數(shù)要牢記一點:默認(rèn)參數(shù)必須指向不變對象睡扬!

函數(shù)的可變參數(shù)

def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum +n * n
    return sum

調(diào)用:
calc(1,2,3)
calc(1,2,3,4,5)

可以傳入0個或任意個參數(shù)

如何有一個存在的tuple或者list:如nums = [1,2,3]
可以這樣調(diào)用calc(*num)

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

可以傳入0個或者多個參數(shù),會被自動封裝為一個dict

def person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)


>>> person('Bob', 35, city='Beijing')
name: Bob age: 35 other: {'city': 'Beijing'}
>>> person('Adam', 45, gender='M', job='Engineer')
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}

>>> extra = {'city': 'Beijing', 'job': 'Engineer'}
>>> person('Jack', 24, **extra)
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}

命名關(guān)鍵字函數(shù)

def person(name, age, *, city, job):
    print(name, age, city, job)

和關(guān)鍵字參數(shù)**kw不同,命名關(guān)鍵字參數(shù)需要一個特殊分號

>>> person('Jack', 24, city='Beijing', job='Engineer')
Jack 24 Beijing Engineer
分隔符*黍析,*后面的參數(shù)被視為命名關(guān)鍵字參數(shù)卖怜。


如果函數(shù)定義中已經(jīng)有了一個可變參數(shù),后面跟著的命名關(guān)鍵字參數(shù)就不再需要一個特殊分隔符*了:

def person(name, age, *args, city, job):
    print(name, age, args, city, job)

函數(shù)的參數(shù)組合

參數(shù)定義的順序必須是:必選參數(shù)阐枣、默認(rèn)參數(shù)马靠、可變參數(shù)、命名關(guān)鍵字參數(shù)和關(guān)鍵字參數(shù)

def f1(a, b, c=0, *args, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)

def f2(a, b, c=0, *, d, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)

Python的高級特性

切片

相當(dāng)于Java中的截取

list tuple string 都支持切片
 L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
 >>> L[0:3]
['Michael', 'Sarah', 'Tracy']

>>> L[:3]
['Michael', 'Sarah', 'Tracy']

第一個索引不填蔼两,默認(rèn)為0


>>> L[-2:]
['Bob', 'Jack']
>>> L[-2:-1]
['Bob']
可以從后面開始取 倒第一下標(biāo)為-1


前10個數(shù)甩鳄,每兩個取一個:
>>> L[:10:2]
[0, 2, 4, 6, 8]


所有數(shù),每5個取一個:
>>> L[::5]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]


只寫[:]就可以原樣復(fù)制一個list:
>>> L[:]
[0, 1, 2, 3, ..., 99]



 字符串'xxx'也可以看成是一種list额划,每個元素就是一個字符妙啃。因此,字符串也可以用切片操作俊戳,只是操作結(jié)果仍是字符串:

 >>> 'ABCDEFG'[:3]
'ABC'
>>> 'ABCDEFG'[::2]
'ACEG'

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末揖赴,一起剝皮案震驚了整個濱河市馆匿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌燥滑,老刑警劉巖渐北,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異突倍,居然都是意外死亡腔稀,警方通過查閱死者的電腦和手機(jī)盆昙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門羽历,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人淡喜,你說我怎么就攤上這事秕磷。” “怎么了炼团?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵澎嚣,是天一觀的道長。 經(jīng)常有香客問我瘟芝,道長易桃,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任锌俱,我火速辦了婚禮晤郑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘贸宏。我一直安慰自己造寝,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布吭练。 她就那樣靜靜地躺著诫龙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪鲫咽。 梳的紋絲不亂的頭發(fā)上签赃,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機(jī)與錄音分尸,去河邊找鬼锦聊。 笑死,一個胖子當(dāng)著我的面吹牛寓落,可吹牛的內(nèi)容都是我干的括丁。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼伶选,長吁一口氣:“原來是場噩夢啊……” “哼史飞!你這毒婦竟也來了尖昏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤构资,失蹤者是張志新(化名)和其女友劉穎抽诉,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吐绵,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡迹淌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了己单。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唉窃。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖纹笼,靈堂內(nèi)的尸體忽然破棺而出纹份,到底是詐尸還是另有隱情,我是刑警寧澤廷痘,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布蔓涧,位于F島的核電站,受9級特大地震影響笋额,放射性物質(zhì)發(fā)生泄漏元暴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一兄猩、第九天 我趴在偏房一處隱蔽的房頂上張望茉盏。 院中可真熱鬧,春花似錦厦滤、人聲如沸援岩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽享怀。三九已至,卻和暖如春趟咆,著一層夾襖步出監(jiān)牢的瞬間添瓷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工值纱, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留鳞贷,地道東北人。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓虐唠,卻偏偏與公主長得像搀愧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Python 是一種相當(dāng)高級的語言咱筛,通過 Python 解釋器把符合語法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機(jī)器碼...
    Python程序媛閱讀 1,914評論 0 3
  • 最近在慕課網(wǎng)學(xué)習(xí)廖雪峰老師的Python進(jìn)階課程搓幌,做筆記總結(jié)一下重點。 基本變量及其類型 變量 在Python中迅箩,...
    victorsungo閱讀 1,701評論 0 5
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項目接著寫寫一名3年工作經(jīng)驗的J...
    燕京博士閱讀 7,583評論 1 118
  • 基礎(chǔ)1.r''表示''內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義2.'''...'''表示多行內(nèi)容3. 布爾值:True溉愁、False(...
    neo已經(jīng)被使用閱讀 1,693評論 0 5
  • 焦慮,像在自己心里畫出深夜的海面 潮汐將月光淹沒又重來 有時它就像是一首憂傷的小夜曲 癡情又落寞的人兒在曠野吹簫 ...
    蔣菱閱讀 476評論 1 4