1.python入門_語法篇

下面是基礎(chǔ)語法篇的大雜燴剂碴,其中包括了基本數(shù)據(jù)類型的創(chuàng)建與使用,以及打印變量的內(nèi)容、類型贮勃,還有基本數(shù)據(jù)類型的轉(zhuǎn)換。

# 拼接字符串
temp = 42
print("now temp is" + ' 42')

# 縮進表示代碼塊苏章,保存縮進一致寂嘉,否則報錯
a = 1
if a == 2:
    print("the result is true.")
    print("!")
else:
    print("It's error!")

# 自然字符串,r枫绅。r保證了""中的內(nèi)容都是字符泉孩,不會發(fā)生轉(zhuǎn)義
str1 = r"this is a nature string.\n"
print(str1)

# 處理unicode字符串
str2 = u"this is an unicode string."
print(str2)

# 同一行可顯示多條語句
import sys
x = 'runoob'
sys.stdout.write(x + '\n')

# 不換行輸出,就在輸出結(jié)尾加上 end = " "
print("don't newline", end=" ")
print("ok")

# import 和 from...import的區(qū)別
# import是將整個模塊導入并淋,包括模塊內(nèi)的所有函數(shù)
# form...import是從某個模塊導入某個函數(shù)或者某個成員變量
# 語法:from sys import argv,path;

''' 關(guān)于比較長的注釋寓搬,可以這樣來寫
    這有些類似于OC和Java的文檔注釋
    可以詳細注釋函數(shù)功能以及參數(shù)代表的含義和參數(shù)示例
'''

# help(max)

# 數(shù)據(jù)類型
# Python中有6種數(shù)據(jù)類型
# Number(數(shù)字), String(字符串), List(列表), Tuple(元組), Sets(集合), Dictionary(字典)

# Number類型
# 在Python3中,數(shù)字只有4種县耽,int, float, bool, complex
# 整數(shù)只有一種int類型句喷,取消了python2中的長整形(在值后面加個'L'镣典,現(xiàn)在再加'L'編譯器會報錯)
# 如果你想知道某個變量的類型,可以使用type()函數(shù)
i1 = 45
f1 = 3.3
b1 = True
c1 = 4 + 5j
print(type(i1), type(f1), type(b1), type(c1))
# 輸出結(jié)果為:<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
# 另外Python一共了一個判斷變量類型的函數(shù)
a = 111
isinstance(a, int)
# 但是這個isinstance方法在Python Shell中可以打印出結(jié)果脏嚷,在Sbulime Text 3中無法打印結(jié)果

# type()函數(shù) 和 isinstance()函數(shù) 的區(qū)別
# type()函數(shù)判斷類型時不識別類的繼承關(guān)系骆撇,也就是說用這個類型的父類判斷時返回False
# isinstance()函數(shù)會識別類的繼承關(guān)系,判斷是否是父類時仍然會返回 True

# 數(shù)字中有兩個特殊值父叙,True 和 False神郊。這兩個值在Python3.0之后的版本被定義為關(guān)鍵字,分別代表數(shù)字1 和 0
# 并且True 和 False 可以和數(shù)字類型的變量進行操作趾唱,比如加減乘除

# Del 刪除語句
var3 = 234
# del var3
print(var3)
# Del 關(guān)鍵字的作用就是刪除引用或者變量, 當你刪除了引用后又使用這個引用時就會報錯涌乳,原理應(yīng)該類似于OC中的野指針

# 加減乘除,除法取整//,求余%甜癞,乘方**
# 有一下幾點需要知道:
# 1.一個變量通過賦值可以指向不同的類型的對象
# 2.在混合計算時夕晓,Python會自動把結(jié)果改為Float類型(以免丟失精度)

# 最后一個數(shù)值類型,復(fù)數(shù)Complex, 比如表示 1+2j悠咱,有如下兩種方式:
var4 = complex(1, 2)
var5 = 1 + 2j

# String  字符串
# Python中用''或者""表示字符串蒸辆,用\表示轉(zhuǎn)義
# 截取字符串
# 索引從0開始,-1代表倒數(shù)第二個
str3 = "abcdefg"
print(str3)
print(str3[0:-1])  # 范圍選取
print(str3[2:])   # 輸出索引3開始之后的所有字符
print(str3[0])    # 單個選取
print(str3 * 2)   # 連續(xù)輸出兩次(中間無空格或者制表符‘\t’)
# r代表原始字符串 ,在輸出時會忽略轉(zhuǎn)義字符\n\t等
print(r"\n fdafsf\t")
# 與C語言字符串不同的是析既,Python字符串不能改變躬贡,如果你想向某個字符串的索引位置賦值時,就會報錯
# Python字符串的索引有兩種方式眼坏,從左向右從0開始拂玻,從右向左從-1開始
# 最后,再說一遍宰译,Python中的字符串不能改變

# List 列表
# 在Python中檐蚜,List使用非常頻繁,可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)
# List中可以存放各種類型的數(shù)據(jù)沿侈,支持數(shù)字闯第,字符串,也可以包含列表(嵌套)
listLikeArray = ["abcd", 456, 7.89, 'unicode']
tinyList = [123, 'abc']
print(tinyList)             # 列表也可以直接打印
print(listLikeArray[0])     # 列表中第一個元素
print(listLikeArray[1:3])  # 列表中從第2個到第3個元素(范圍是左閉右開肋坚,同Java)
print(tinyList * 2)         # 輸出兩次列表

# 與String相比乡括,List中的元素是可以改變的
# 而且直接通過索引改變即可
tinyList[0] = 456
print(tinyList)

# List 同樣可以使用+操作符拼接
print(tinyList + listLikeArray)

# Tuple 元組
# Tuple 和 List相似,同樣可以存放多種類型數(shù)據(jù)智厌,元素之間用,隔開 ,寫在()中
tupleArray = ('abcde', 666, "yuioop", 8.887)
print(tupleArray)  # 打印tupleArray
print(tupleArray[1])  # 按索引取元素
print(tupleArray[1:-1])  # 按索引區(qū)間取元素
# 在List中有的操作盲赊,在Tuple中基本都存在铣鹏,區(qū)別就在于Tuple中的元素的值不可改變

# 如果想要構(gòu)建一個空的元組 或者 只有一個元素的元組
tupleSingle = ()  # k空元組
tupleSingleElement = (667)
newTuple = (tupleSingleElement, 668)  # 給元組添加元素
print(newTuple)

# 提示:String, List, Tuple都屬于Sequense(序列)

# Set 集合
# Python中的集合比較特殊,不同于C#和Java哀蘑,Python中的集合是一個不重復(fù)的元素序列
# 基本功能是成員關(guān)系測試诚卸、刪除重復(fù)元素
# 創(chuàng)建集合可以使用{}葵第,也可以使用set()函數(shù)
set1 = set('abcdeeeeefg')
set2 = {'tom', 'jack', 'william', 'tom', 'steven'}
# 但是如果你要創(chuàng)建一個非空的集合的話,只能使用set()函數(shù)
# 因為{}內(nèi)為空合溺,表示創(chuàng)建一個空字典

print(set1)  # set1中重復(fù)的元素被自動去掉

set3 = set('tom')
# 成員測試
print('tom' in set2)  # 只能判斷某個元素是否能在集合中
print(set3 in set2)  # 不能這樣寫卒密,結(jié)果為False

# Set 既然是集合,也就意味著可以進行 ‘差棠赛,交哮奇,并’等基本運算
set4 = set('abcdef')
set5 = set('bcd')
print(set4 - set5)      # 差集
print(set4 | set5)      # 并集
print(set4 & set5)      # 交集
print(set4 ^ set5)      # 兩個集合不同時存在的元素

# Dictionary 字典
# Dictionary 和 List 有點類似,不同的是:List為有序的對象集合睛约,Dictionary為無需的對象集合
# 在取值賦值等操作也有不同鼎俘,List根據(jù)索引來操作,而Dictionary根據(jù)鍵(key)來操作

# 創(chuàng)建空字典
dic1 = {}
# 給空字典添加鍵值對
dic1['one'] = "第一個字符串"
dic1['two'] = "第二個字符串"
print(dic1)  # 在Python sehll中可以打印辩涝,Sublime Text3 中不能打印字典的內(nèi)容

# 創(chuàng)建并初始化一個字典
dic2 = {'one': 'one\'s string', 'two': 'two\'s string', 'three': '3', 4: 4444}
print(dic2)  # 大括號創(chuàng)建的字典在Sublime中可以打印出來
print(dic2['one'])  # 根據(jù)key取Value
print(dic2[4])      # key可以是String贸伐,也可以是數(shù)值
print(dic2.keys())  # 輸出所有dic2的key  打印內(nèi)容:dict_keys(['one', 'two', 'three', 4])
print(dic2.values())  # 輸出所有dic2的value

# 使用構(gòu)造函數(shù)構(gòu)造字典,語法如下
dic3 = dict([('firefox', 1), ('Google', 2), ('Internet Explore11', 3)])
print(dic3)

# 字典還有一些其他內(nèi)置API怔揩,用到再說
# 最后再說一遍捉邢,key的值必須唯一,有重復(fù)會報錯商膊。

# Python數(shù)據(jù)轉(zhuǎn)換
var6 = int(66.89)
var7 = float(77)
var8 = str(99999)
print(var7, type(var8))
var10 = "666"
var9 = repr(var10)  # 將對象x轉(zhuǎn)換為表達式字符串(repr函數(shù)中不支持字符串拼接伏伐、強轉(zhuǎn)等方式)
print(var9)

var11 = eval(var8)  # 用來計算字符串在Python有效表達式,并返回一個對象
print(var11)

s = ['123', '456', '789']
var12 = tuple(s)    # 把List(列表) 轉(zhuǎn)為 Tuple(元組)
print(var12)

s2 = set('aaaaaaaa')
var13 = tuple(s2)  # 把Set(集合) 轉(zhuǎn)為 Tuple(元組)時翘狱,只能轉(zhuǎn)第一個字符
print(var13)        # var13 = ('a',)

# 這樣的轉(zhuǎn)換還有很多秘案,等用到時可以寫的demo測試一下就明白了,不用一一學習潦匈,千篇一律

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末阱高,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子茬缩,更是在濱河造成了極大的恐慌赤惊,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凰锡,死亡現(xiàn)場離奇詭異未舟,居然都是意外死亡,警方通過查閱死者的電腦和手機掂为,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進店門裕膀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人勇哗,你說我怎么就攤上這事昼扛。” “怎么了欲诺?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵抄谐,是天一觀的道長渺鹦。 經(jīng)常有香客問我,道長蛹含,這世上最難降的妖魔是什么毅厚? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮浦箱,結(jié)果婚禮上吸耿,老公的妹妹穿的比我還像新娘。我一直安慰自己憎茂,他們只是感情好珍语,可當我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著竖幔,像睡著了一般板乙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拳氢,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天募逞,我揣著相機與錄音,去河邊找鬼馋评。 笑死放接,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的留特。 我是一名探鬼主播纠脾,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蜕青!你這毒婦竟也來了苟蹈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤右核,失蹤者是張志新(化名)和其女友劉穎慧脱,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體贺喝,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡菱鸥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了躏鱼。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片氮采。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖染苛,靈堂內(nèi)的尸體忽然破棺而出扳抽,到底是詐尸還是另有隱情,我是刑警寧澤殖侵,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布贸呢,位于F島的核電站,受9級特大地震影響拢军,放射性物質(zhì)發(fā)生泄漏楞陷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一茉唉、第九天 我趴在偏房一處隱蔽的房頂上張望固蛾。 院中可真熱鬧,春花似錦度陆、人聲如沸艾凯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽趾诗。三九已至,卻和暖如春蹬蚁,著一層夾襖步出監(jiān)牢的瞬間恃泪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工犀斋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贝乎,地道東北人。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓叽粹,卻偏偏與公主長得像览效,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子虫几,可洞房花燭夜當晚...
    茶點故事閱讀 45,747評論 2 361

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