python極簡教程已經(jīng)開賽,如果錯過說明可以回翻: 極簡python教程:賽前說明
借這個機會,我再講講我的教程和其他網(wǎng)上的教程的區(qū)別: 1 我分享的內(nèi)容,是我在工作中會高頻使用的語法,是精華內(nèi)容 2 我剔除了“冗雜”知識,你只需要get到我提到的重點,輕松入門不是夢 3 你可以敲代碼學習,效果最佳;亦可以收藏,待有需求時粘來即用 這一場,主講python的變量類型。 目標:熟悉python中的基礎(chǔ)變量類型,以及我們該重點關(guān)注的知識點。 說明:Python 中的變量賦值不需要類型聲明。 常用的python變量類型是: counter = 100 # 整型 miles = 1000.0 # 浮點型 name = "John" # 字符串 py_list = [123, 'john'] # 列表 py_tuple = (123, 'john') # 元組 py_dict = {'name': 'runoob','code':6734, 'dept': 'sales'} # 字典
整型和浮點型,就是整數(shù)和小數(shù),學過數(shù)學的都清楚,沒什么說的,我從字符串開始說起。 01 字符串 【常用場景1】格式轉(zhuǎn)換,eg:字符串、json 、字典類型之間的轉(zhuǎn)換 # 內(nèi)置函數(shù)-字符串轉(zhuǎn)json str1 = "{'key':1,'value':2}" eval(str1) # 一般轉(zhuǎn)換采用此方法,但它有個問題,如果json中有null值,則無法使用,這時需要用到j(luò)son庫
import json json1= '{"key":null,"value":2}' dicts = json.loads(json1) # 可將json的null替換為python能識別的None print(dicts)
【常用場景2】單雙引號使用 # 雙引號中的雙引號需要轉(zhuǎn)義 string1 = "hello,my,\"god\" " # 單引號中的雙引號不需要轉(zhuǎn)義 string2 = 'hello, my "god" '
【常用場景3】多引號使用 # 比如我們需要在py文件里寫一條sql語句 sql_a = 'select * from asset where asset_create_at >= "2018-08-01" ' # 注意每一個右引號左邊都需要空格,寫代碼特別麻煩 sql_b = ('select * ' 'from asset ' 'where asset_id = "123456";' ) sql_c = ''' select * from asset where asset_create_at >= "2018-08-01" ''' # 也可以在三個引號內(nèi)隨意寫,這種寫法更加方便,但要注意,實際字符串是包含了三行,即sql前面換行的\n和sql后面的換行\(zhòng)n(其實無傷大雅)
02 列表 列表的索引 重點必須掌握!??! lst = ['a', 'b', 'c','d','e','f'] lst.append('g') # 在列表尾部添加值 lst.pop(0) # 刪除索引位置的值 lst[0] # 取index=0的值 lst[1:3] # 取index從0開始(不包括),到index=3的值
列表遍歷迭代 重點必須掌握?。?! li = ['a', 'b', 'c', 'd', 'e'] # 一般的遍歷 for i in li: print(i) # 帶索引的遍歷 for i, e in enumerate(li): print("index:",i,"element:",e)
【拓展場景1】:多列表迭代 # 循環(huán)嵌套 # 缺點:代碼復(fù)雜度高 x_list, y_list, z_list = [], [], [] for x in x_list: for y in y_list: for z in z_list: None # itertools標準庫 # 缺點:不方便調(diào)試 from itertools import product for x, y, z in product(x_list, y_list, z_list): None
【拓展場景2】:交集、并集、差集 a=[2,3,4,5] b=[2,5,8] # 交集 print(list(set(a).intersection(set(b)))) # 并集 list(set(a).union(set(b))) # 差集 list(set(b).difference(set(a))) # b中有而a中沒有的 list(set(a).difference(set(b))) # a中有而b中沒有的
03 元組
如何理解:可以將元組當成不可編輯的list(一般很少用到該類型) 04 字典
如何理解:key-value鍵值對 取值 重點必須掌握?。?! personinfo = {'name': 'joe', 'age':'20', 'hobby':'football'} personinfo['name']
遍歷迭代 重點必須掌握?。?! personinfo = {'name': 'joe', 'age':'20', 'hobby':'football'} for k, v in personinfo.items(): print(k, v)
【實用場景1】合并和復(fù)制 # 合并 date_info = {'year': "2020", 'month': "01", 'day': "01"} track_info = {'artist': "Beethoven", 'title': 'Symphony No 5'} all_info = {**date_info, **track_info} # 添加值 date_info = {'year': '2020', 'month': '01', 'day': '7'} event_info = {**date_info, 'group': "Python Meetup"} # 在復(fù)制/合并字典的同時重寫特定的值 event_info = {'year': '2020', 'month': '01', 'day': '7', 'group':'Python Meetup'} new_info = {**event_info, 'day': "14"}
【實用場景2】json和字典的轉(zhuǎn)換 重點必須掌握?。?! import json data = {"spam" : "foo", "parrot" : 42} # 把python對象轉(zhuǎn)換成json python_to_json = json.dumps(data) print(python_to_json) json_to_python = json.loads(python_to_json) # 將json轉(zhuǎn)換成python對象 print(json_to_python)
05 拓展
isinstance:用來判斷對象的類型,也可以判斷一個對象是否是一個類的實例 # 【常用場景1】:判斷對象的類型 py_int = 1 py_str = 'a' py_list = ['a','b'] py_dict = {'a':1,'b':2} isinstance(py_int, int)
# 【常用場景2】:一個對象是否是一個類的實例 class C(): pass cc = C() isinstance(cc, C)
format:用于組裝和格式化數(shù)據(jù) # 【常用場景1】:裝載字符串 py_str = "hello {0}".format("world") py_str = "hello {}{}".format("great","world!") # 【常用場景2】:裝載列表 a = [1,2] py_list = '列表第一個: {0}; 列表第二個: {1}'.format(a[0],a[1]) py_list = '列表第一個: {0[0]}; 列表第二個: {0[1]}'.format(a) # 常用場景3:裝載字典 student = {"name": "zhao", "age": 5} "My name is {} and my age is {}".format(student['name'],student['age']) "My name is {pig[name]} and my age is {pig[age]}".format(pig=student)
最后,一如既往,總結(jié)一下: 1 python的變量是python語法基礎(chǔ)中的基礎(chǔ),重要中的重要 2 一定要上手實操一遍 另,我寫的這些場景,如果你以后用不到,可以來打我;若有疑問,歡迎留言咨詢~ 轉(zhuǎn)載請注明來源
封面 unsplash.com 看這里!看這里!
|