小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

學(xué)習(xí)筆記20:Python基礎(chǔ)使用(參數(shù),嵌套,列表,元組,字典,字符串等)

 Four兄 2019-08-31

(1)函數(shù)的定義:可由字母,下劃線和數(shù)字組成,但不能以數(shù)字開頭,且不能與關(guān)鍵字相同

def 函數(shù)名(): 函數(shù)封裝的代碼
  • 1
  • 2

練習(xí)1:第一個函數(shù)

#注意定義函數(shù)之后只表示代碼封裝,需主動調(diào)用,函數(shù)定義必須寫在調(diào)用之前 def say_hello():	'''打招呼'''    print('hello 1')    print('hello 2')say_hello()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
執(zhí)行結(jié)果:C:\python\0\venv\Scripts\python.exe C:/python/0/first_函數(shù).pyhello 1hello 2Process finished with exit code 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

注:函數(shù)定義上方與其他代碼保留兩個空行,且將函數(shù)說明用引號寫在函數(shù)內(nèi)部,在PyCharm中可用Ctrl+Q查看函數(shù)相關(guān)信息

(2)函數(shù)參數(shù)的使用:在函數(shù)名后面的括號內(nèi)可填寫參數(shù),參數(shù)之間使用逗號進行分離;調(diào)用函數(shù)時按照參數(shù)定義(形參)順序依次寫入傳遞的參數(shù)值(實參)
函數(shù)的返回值:在函數(shù)中使用return關(guān)鍵字可返回函數(shù)值;當(dāng)調(diào)用函數(shù)時可使用變量來接收函數(shù)的返回結(jié)果

練習(xí)2:兩個數(shù)字的求和

def sum(number1,number2):    '''兩個數(shù)字求和'''    #調(diào)用函數(shù),并使用result變量接收計算結(jié)果    result = number1 + number2    print('%d + %d = %d' %(number1,number2,result))sum(1,2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
執(zhí)行結(jié)果:C:\python\0\venv\Scripts\python.exe C:/python/0/求和.py1 + 2 = 3Process finished with exit code 0
  • 1
  • 2
  • 3
  • 4
  • 5

練習(xí)3:加入函數(shù)返回值

def sum(number1,number2):    '''兩個數(shù)字求和'''    result = number1 + number2    #可以使用返回值得出計算結(jié)果    return result#可以使用變量來接收函數(shù)執(zhí)行的返回結(jié)果sum_result = sum(1,2)print('計算結(jié)果:%d' %sum_result)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

執(zhí)行結(jié)果:

C:\python\0\venv\Scripts\python.exe C:/python/0/求和.py計算結(jié)果:3Process finished with exit code 0
  • 1
  • 2
  • 3
  • 4

注意:return 表示返回,會返回到調(diào)用函數(shù)的位置,函數(shù)內(nèi)return后續(xù)的代碼不會被執(zhí)行

(3)函數(shù)的嵌套
練習(xí)4:函數(shù)的嵌套

def test1():    print('*' * 50)def test2():    print('-' * 50)    test1()    print('+' * 50)test2()#打印任意字符任意次數(shù)的分隔線def print_line(char,times):    print(char * times)print_line('&',40)def print_lines(char,times):    '''    給函數(shù)添加文檔注釋:打印多條分割線    :param char:分隔線的字符    :param times:分隔線的次數(shù)    '''    row = 1    while row < 3:        print_line(char,times)        row = row + 1print_lines('!',10)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
執(zhí)行結(jié)果:C:\python\0\venv\Scripts\python.exe C:/python/0/函數(shù)嵌套.py--------------------------------------------------**************************************************++++++++++++++++++++++++++++++++++++++++++++++++++&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&!!!!!!!!!!!!!!!!!!!!Process finished with exit code 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

(4)模塊中的函數(shù):使用import導(dǎo)入模塊;以py結(jié)尾的python源文件都是一個模塊;在模塊中的全局變量和函數(shù)都是模塊可直接提供給外界的工具;模塊名也是標識符不能以數(shù)字開頭,不能與關(guān)鍵字重名,若模塊名以數(shù)字開頭則不能導(dǎo)入。

練習(xí)5:定義一個函數(shù)quadratic(a, b, c),求一元二次方程的方程解

import mathdef quadratic(a,b,c):    if a == 0:        return TypeError('a不能為0')    if not isinstance(a,(int,float)) or not isinstance(b,(int,float)) or not isinstance(c,(int,float)):        return TypeError('Bad operand type')    delta = math.pow(b,2) - 4*a*c    if delta < 0:        return '無實根'    x1 = math.sqrt((delta)-b)/(2*a)    x2 = -math.sqrt((delta)+b)/(2*a)    return x1,x2a = int(input('請輸入a:'))b = int(input('請輸入b:'))c = int(input('請輸入c:'))print(quadratic(a,b,c))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
執(zhí)行結(jié)果:D:\python\python程序\venv\Scripts\python.exe D:/python/python程序/方程解.py請輸入a:2請輸入b:8請輸入c:4(1.224744871391589, -1.5811388300841898)Process finished with exit code 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

練習(xí)6:求n的階乘

def fact(n):    return fact_iter(n,1)def fact_iter(num,product):    if num == 1:        return product    return fact_iter(num-1,num * product)print(fact(6))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
執(zhí)行結(jié)果:D:\python\python程序\venv\Scripts\python.exe D:/python/python程序/階乘.py720Process finished with exit code 0
  • 1
  • 2
  • 3
  • 4
  • 5

(5)pyc文件:使用解釋器編譯過的文件,即二進制文件(python解釋器模塊的源碼轉(zhuǎn)換為字節(jié)碼,這樣當(dāng)用import導(dǎo)入時可優(yōu)化執(zhí)行速度。
(6)python中數(shù)據(jù)類型:數(shù)字型(整型,浮點型,布爾型,復(fù)數(shù)),非數(shù)字型(字符串,元組,列表,字典)

  1. 列表:多用在處理相同的數(shù)據(jù)類型,在其他語言中對應(yīng)數(shù)組,用 [ ] 定義,數(shù)據(jù)之間用逗號隔開,列表的索引即位置標號從0開始,取值若超出索引范圍則會index out of range出錯。

練習(xí)7:列表基礎(chǔ)使用

#按Ctrl+Q可以查看光標所在具體使用方法name_list= ['zhangshan','lisi','wangwu']#1.取值和取索引print(name_list[2])print(name_list.index('wangwu'))#使用index方法時,取值必須存在#2.修改指定位置數(shù)據(jù),列表指定索引不能超出范圍name_list[1] = '李四'#3.向列表中增加數(shù)據(jù)name_list.append('三毛') #列表末尾追加數(shù)據(jù)name_list.insert(1,'喃喃')#在列表指定索引位置插入數(shù)據(jù)tmp_list = ['哪吒','熬丙','太乙真人']name_list.extend(tmp_list)#將其他列表完整內(nèi)容追加到當(dāng)前列表print(name_list)#4.刪除數(shù)據(jù)name_list.remove('wangwu')#可從列表中刪除指定數(shù)據(jù),若數(shù)據(jù)不只一個,則刪除第一次出現(xiàn)的name_list.pop()#默認刪除列表中最后一個元素name_list.pop(3)#可刪除指定索引位置數(shù)據(jù)print(name_list)name_list.clear()#清空列表name_list1= ['zhangsan','lii','wang']del name_list1[1]#del 關(guān)鍵字本質(zhì)上是將一個變量從內(nèi)存中刪除,后續(xù)的代碼則不能再使用這個變量,不建議使用print(name_list1)#統(tǒng)計name_list2 = ['zhangs','lii','wangs','uu','uu']list_len = len(name_list2)print('列表中包含%d個元素' %list_len)print('uu出現(xiàn)了%d次'%name_list2.count('uu'))#排序name_list3 = ['bb','cc','tt','ff']num1_list = [6,3,9,5,2]#升序#name_list3.sort()#num1_list.sort()#降序#name_list3.sort(reverse=True)#num1_list.sort(reverse=True)#逆序name_list3.reverse()num1_list.reverse()print(name_list3)print(num1_list)#打印python中的關(guān)鍵字,關(guān)鍵字后面不需要括號,如上面的delimport keywordprint(keyword.kwlist)#使用迭代(iteration)遍歷列表,順序從列表獲取數(shù)據(jù),每一次循環(huán),數(shù)據(jù)會保存在name變量name_list4 = ['zhungs','lri','ue']for name in name_list4:    print('我的名字叫%s' %name)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
執(zhí)行結(jié)果:C:\python\0\venv\Scripts\python.exe C:/python/0/列表.pywangwu2['zhangshan', '喃喃', '李四', 'wangwu', '三毛', '哪吒', '熬丙', '太乙真人']['zhangshan', '喃喃', '李四', '哪吒', '熬丙']['zhangsan', 'wang']列表中包含5個元素uu出現(xiàn)了2次['ff', 'tt', 'cc', 'bb'][2, 5, 9, 3, 6]['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']我的名字叫zhungs我的名字叫l(wèi)ri我的名字叫ueProcess finished with exit code 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

2.元組:與列表類似,但元組中的變量均不能修改;元組用()定義,數(shù)據(jù)與數(shù)據(jù)之間用逗號隔開;元組的索引也從0開始;當(dāng)元組中只有一個元素時,需要在元素后加入逗號

練習(xí)8:元組基礎(chǔ)使用

info_tuple = ('魏無羨',26,1.8)#1.取值和取索引print(info_tuple[0])print(info_tuple.index(1.8))#2.統(tǒng)計計數(shù)print(info_tuple.count('魏無羨'))print(len(info_tuple))#3.使用迭代遍歷元組for my_info in info_tuple:    print(my_info)#使用格式字符串輸出不方便,因為元組中保存的數(shù)據(jù)類型不同#4.使用格式化字符輸出,格式化字符后面的‘()’本身就是元組print('%s 年齡是 %d 身高是 %.2f' %('藍忘機',20,1.8))info_tuple1 = ('藍湛',20,1.8)print('%s 年齡是 %d 身高是 %.2f' %info_tuple1)info_str = '%s 年齡是 %d 身高是 %.2f' %info_tuple1 #使用元組可用來拼接新的字符串print(info_str)#元組和列表之間的轉(zhuǎn)換info_tuple2 = ('魏嬰',26,1.8)print(list(info_tuple2))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
執(zhí)行結(jié)果:C:\python\0\venv\Scripts\python.exe C:/python/0/元組.py魏無羨213魏無羨261.8藍忘機 年齡是 20 身高是 1.80藍湛 年齡是 20 身高是 1.80藍湛 年齡是 20 身高是 1.80['魏嬰', 26, 1.8]Process finished with exit code 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

3.字典:存儲多個數(shù)據(jù),與列表有序的對象集合不同,字典是無序的;字典用{}定義;用鍵值對存儲數(shù)據(jù),鍵值對之間使用逗號分隔;鍵key是索引,值value是數(shù)據(jù);鍵和值之間使用冒號分隔;鍵必須唯一;值可取任何數(shù)據(jù)類型,但鍵只能使用字符串,數(shù)字或元組

練習(xí)9:字典的基礎(chǔ)使用

#字典是無序的數(shù)據(jù)集合,輸出的順序與定義的順序無關(guān)lanzan = { 'name':'藍湛',           'age': 20,           'gender':True,           'height':1.85           }print(lanzan)weiying_dict = {'name':'魏嬰'}#1.取值print(weiying_dict['name'])#2.增加/修改weiying_dict['age'] = 27print(weiying_dict)weiying_dict['name'] = '魏無羨'print(weiying_dict)#3.刪除weiying_dict.pop('name')print(weiying_dict)#4.統(tǒng)計鍵值個數(shù)print(len(lanzan))#5.合并字典tem_dict = {'weight':74.5,            'age': 21}lanzan.update(tem_dict)print(lanzan)#6.清空字典lanzan.clear()print(lanzan)#7.循環(huán)遍歷weiwuxian_dict = {'name':'魏無羨',                  'qq':'2423434',                  'phone':'3432545'}#k是每一次循環(huán)中獲取到的鍵值對的keyfor k in weiwuxian_dict:    print('%s - %s' %(k,weiwuxian_dict[k]))#字典和列表的聯(lián)合使用:將多個字典放在一個列表中再進行遍歷card_list = [    {'name':'魏無羨',    'qq':'333333',     'phone':'11111'},    {'name': '藍忘機',     'qq': '222222',     'phone': '88888'},]for card_info in card_list:    print(card_info)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
執(zhí)行結(jié)果:C:\python\0\venv\Scripts\python.exe C:/python/0/字典.py{'name': '藍湛', 'age': 20, 'gender': True, 'height': 1.85}魏嬰{'name': '魏嬰', 'age': 27}{'name': '魏無羨', 'age': 27}{'age': 27}4{'name': '藍湛', 'age': 21, 'gender': True, 'height': 1.85, 'weight': 74.5}{}name - 魏無羨qq - 2423434phone - 3432545{'name': '魏無羨', 'qq': '333333', 'phone': '11111'}{'name': '藍忘機', 'qq': '222222', 'phone': '88888'}Process finished with exit code 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

4.字符串:可用雙引號或者單引號定義;len函數(shù)統(tǒng)計字符串長度;count統(tǒng)計子字符串在大字符串中出現(xiàn)的次數(shù),若子字符串不存在則次數(shù)為0;index統(tǒng)計字符串在大字串中出現(xiàn)的位置,若子字符串不存在程序會報錯。

練習(xí)10:字符串的基本使用

str1 = 'hello python'str2 = '我愛看”陳情令''print(str2)print(str1[0])for char in str2:    print(char)print(len(str1))print(str1.count('o'))print(str1.index('o'))space_str = '   \t\n\r' #判斷空白字符print(space_str.isspace())num_str = '\u00b2'#判斷字符串是否只包含數(shù)字,下列三種均不能判斷小數(shù)print(num_str)#平方print(num_str.isdecimal())#只能判斷單純的數(shù)字print(num_str.isdigit())#可判斷單純數(shù)字和unicode的數(shù)字print(num_str.isnumeric())#可判斷單純數(shù)字,中文數(shù)字和unicode的數(shù)字hell_str = 'hello world'print(hell_str.startswith('Hello'))#判斷是否以字符串開始print(hell_str.endswith('world'))#判斷是否以字符串結(jié)束print(hell_str.find('o'))#判斷子字符串在字符串中的位置,與index的區(qū)別在于當(dāng)查找的字符不存在時不報錯print(hell_str.replace('world','boji'))#替換字符串,會返回新字符串,但注意不會改變原有字符串print(hell_str)poem = ['\t\n白日依',        '黃河',        '入了海流\t\n']for poem_str in poem:    print('|%s|'% poem_str.strip().center(10,' '))#strip去除空白字符,center中心對齊;ljust向左對齊;rjust向右對齊poem1 = '燈管\t 王之渙 \t白日依山盡 \t \n黃河'poem_list = poem1.split()#拆分字符串print(poem_list)result = ' '.join(poem_list)print(result)#切片方法適用于字符串,列表,元組,可采用倒序順序方法#字符串[開始索引:結(jié)束索引:步長]num_str = '01234567'print(num_str[2:6])print(num_str[2:])print(num_str[:6])print(num_str[-1:])print(num_str[:])print(num_str[::2])print(num_str[::-1])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
C:\python\0\venv\Scripts\python.exe C:/python/0/字符串.py我愛看”陳情令'h我愛看”陳情令'1224True2FalseTrueTrueFalseTrue4hello bojihello world|   白日依    ||    黃河    ||   入了海流   |['燈管', '王之渙', '白日依山盡', '黃河']燈管 王之渙 白日依山盡 黃河2345234567012345701234567024676543210Process finished with exit code 0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多