一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

2022-01-20 00:25Joyce 周 Python

本篇文章介紹了我在學(xué)習(xí)python過程中對元組、集合、字符串、函數(shù)、異常處理的總結(jié),通讀本篇對大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下

元組

元組是不可變序列
多任務(wù)環(huán)境下,同時(shí)操作對象時(shí)不需要枷鎖;
元組中存儲(chǔ)的時(shí)對象的引用:
1)如果元組中對象本身是不可變對象,則不能再引用其他對象;
2)如果元組中的對象是可變對象,則可變對象的引用不允許改變,但數(shù)據(jù)可以改變。

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

 

集合

集合是可變類型的序列
集合沒有value字典,存儲(chǔ)內(nèi)容的顯示不是按照順序
集合的元素不能重復(fù)

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

 

字符串

字符串是不可變序列

1、字符串的駐留機(jī)制

僅保存一份相同且不可變字符串,不同的值被存放再字符串駐留池中,python的駐留機(jī)制對相同的字符串只保留一份拷貝,后續(xù)創(chuàng)建相同字符串時(shí),不會(huì)開辟新空間,而是把該字符串的地址賦給新創(chuàng)建的變量。
駐留機(jī)制的幾種情況(交互模式):
a)字符串長度為0或1時(shí),產(chǎn)生駐留
b)符合標(biāo)識(shí)符(含有字母、數(shù)字、下劃線)的字符串,產(chǎn)生駐留
c)字符串只在編譯時(shí)進(jìn)行駐留,而非運(yùn)行時(shí)
d)[-5,256]之間的整數(shù)數(shù)字,產(chǎn)生駐留
sys中的intern方法強(qiáng)制2個(gè)字符串指向同一個(gè)對象
pycharm對字符串進(jìn)行了優(yōu)化處理
駐留機(jī)制的優(yōu)點(diǎn):
a)優(yōu)點(diǎn):當(dāng)需要值相同的字符串時(shí),可以直接從字符串池里拿來使用,避免頻繁的創(chuàng)建和銷毀,提升效率和節(jié)約內(nèi)存,因此拼接字符串和修改字符串時(shí)會(huì)比較影響性能的。
b)在需要進(jìn)行字符串拼接時(shí)建議使用str類型的join方法,而非+,因?yàn)閖oin()方式時(shí)先計(jì)算出所有字符中的長度,然后再拷貝

2、常用操作

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

 

函數(shù)

1、函數(shù)的優(yōu)點(diǎn):

(1)復(fù)用代碼
(2)隱藏實(shí)現(xiàn)細(xì)節(jié)
(3)提高可維護(hù)性
(4)提高可讀性便于調(diào)試

2、函數(shù)的創(chuàng)建:def 函數(shù)名([輸入?yún)?shù)])

函數(shù)體
[return xxx]

3、函數(shù)的參數(shù)傳遞:

(1)函數(shù)調(diào)用時(shí)的參數(shù)傳遞:
位置實(shí)參:根據(jù)形參對應(yīng)的位置進(jìn)行實(shí)參傳遞,位置對應(yīng)
例如def fuc1(a,b),調(diào)用時(shí)fuc1(10,20)
關(guān)鍵字實(shí)參:根據(jù)形參名稱進(jìn)行實(shí)參傳遞,
例如def fuc1(a,b),調(diào)用時(shí)fuc1(b=10,a=20)
(2)如果是不可變對象,在函數(shù)體內(nèi)的修改不會(huì)影響實(shí)參的值
如果是可變對象,在函數(shù)體內(nèi)的修改會(huì)影響實(shí)參的值

4、函數(shù)的返回值:

(1)函數(shù)返回多個(gè)值時(shí),結(jié)果為元組
(2)函數(shù)返回一個(gè)值時(shí),結(jié)果為原值
(3)函數(shù)沒有返回值時(shí),省略return

5、函數(shù)的參數(shù)定義:

(1)函數(shù)定義默認(rèn)值參數(shù):
函數(shù)定義時(shí),給形參設(shè)置默認(rèn)值,只有與默認(rèn)值不符的時(shí)候才需要傳遞實(shí)參。
只傳一個(gè)參數(shù),未被定義的參數(shù)未默認(rèn)值。
默認(rèn)值參數(shù)注意一定要放在其他需要傳遞實(shí)參的形參最后。
(2)個(gè)數(shù)可變的位置參數(shù):使用*定義,結(jié)果為一個(gè)元組,例如def fun1(*args)
個(gè)數(shù)可變的關(guān)鍵字形參:使用**定義,結(jié)果為一個(gè)字典,例如def fun1(**args)
如果要讓函數(shù)接受不同類型的實(shí)參,必須在函數(shù)定義中將接納任意數(shù)量實(shí)參的形參放在最后。 Python先匹配位置實(shí)參和關(guān)鍵字實(shí)參,再將余下的實(shí)參都收集到最后一個(gè)形參中。

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

6、變量的作用區(qū)域

局部變量:在函數(shù)內(nèi)定義并使用,局部變量使用global聲明,可變?yōu)槿肿兞?br /> 全局變量:在函數(shù)外定義的變量,函數(shù)內(nèi)外都可以使用。

7、遞歸函數(shù):函數(shù)體內(nèi)套用該函數(shù)本身

(1)遞歸的組成部分:遞歸調(diào)用與遞歸終止條件
(2)遞歸的調(diào)用過程:每遞歸調(diào)用一次函數(shù),都會(huì)在棧內(nèi)分配一個(gè)棧幀。
每執(zhí)行完一次函數(shù),都會(huì)釋放相應(yīng)的空間。
(3)遞歸的優(yōu)缺點(diǎn):缺點(diǎn)占內(nèi)存多,效率低下;優(yōu)點(diǎn)思路和代碼簡單。

例如求階層:
def fuc1(n):
if n==1:
  return 1
 else:
   return n*fuc1(n)
print(fuc1(10))

例如斐波那契數(shù)列:
def fib(n):
if n==1:
  return 1
elif n==2:
  return 2
elif :
  return fib(n-1)+fib(n-2)

8、將函數(shù)存儲(chǔ)在模塊中

將函數(shù)存儲(chǔ)在被稱為模塊的獨(dú)立文件中,再將模塊導(dǎo)入到主程序中
(1)導(dǎo)入整個(gè)模塊:模塊是擴(kuò)展名為.py的文件,包含要導(dǎo)入到程序中的代碼。
import 模塊名
模塊名.函數(shù)名()
(2)導(dǎo)入特定函數(shù):from module_name import function_0, function_1, function_2
(3)使用 as 給函數(shù)指定別名:from 模塊 import 原函數(shù)名 as 新函數(shù)名
(4)使用 as 給模塊指定別名:import 原模塊名 as 新模塊名
(5)導(dǎo)入模塊中的所有函數(shù):from 模塊 import *

9、函數(shù)編寫指南:

(1)名稱:具有描述性,只使用小寫字母和下劃線
(2)注釋:跟在函數(shù)定義后
(3)形參:指定默認(rèn)值時(shí)等號(hào)兩邊不要有空格
(4)關(guān)鍵字實(shí)參:等號(hào)兩邊不要有空格
(5)長度:每行代碼最好不超過79個(gè)字符;如果形參太多,可在函數(shù)定義中輸入左括號(hào)后按回車鍵,并在下一行按兩次Tab鍵,從而將形參列表和只縮進(jìn)一層的函數(shù)體區(qū)分開來。
(6)分隔:每個(gè)函數(shù)之間用兩行空行分開
(7)import:一般所有import都放在文件開頭

 

Bug

1、Bug常見類型

A、錯(cuò)誤點(diǎn)不熟悉導(dǎo)致
(1)輸入的內(nèi)容默認(rèn)為字符型,用字符型進(jìn)行數(shù)字計(jì)算、比較等。解決方案:轉(zhuǎn)化為數(shù)字類型
(2)while循環(huán)未實(shí)現(xiàn)定義變量,變量未改變
(3)中英文符號(hào)混用
(4)一個(gè)等號(hào)時(shí)賦值,兩個(gè)等號(hào)時(shí)等于
(5)縮進(jìn)錯(cuò)誤
(6)忘了冒號(hào):如if語句,循環(huán)語句,else子句等
(7)字符串拼接的時(shí)候,把字符串和數(shù)字拼在一起
B、知識(shí)不熟練導(dǎo)致
(1)索引越界
(2)append()方法不熟練,append每次只能添加一個(gè)元素,只對列表。
C、思路不清導(dǎo)致的問題
解決方案:(1)print打印輸出;(2)使用注釋暫時(shí)注釋掉部分代碼
D、被動(dòng)掉坑:
程序代碼邏輯沒有錯(cuò),只是因?yàn)橛脩翦e(cuò)誤操作或者一些例外情況而導(dǎo)致的程序崩潰。
例如:

a=int(input('請輸入一個(gè)整數(shù)'))
b=int(input('請輸入另一個(gè)整數(shù)'))
result=a/b
print('結(jié)果為',result)
#若a輸入為q則報(bào)錯(cuò)
#若b輸入為0也報(bào)錯(cuò)

解決方法:python提供異常處理機(jī)制,可以在異常出現(xiàn)時(shí)即時(shí)捕獲,然后內(nèi)部消化,讓程序繼續(xù)運(yùn)行。例如:
1、try except結(jié)構(gòu)

try:#下為可能出現(xiàn)問題的代碼
a=int(input('請輸入一個(gè)整數(shù)'))
b=int(input('請輸入另一個(gè)整數(shù)'))
result=a/b
print('結(jié)果為',result)
except ZeroDivisionError
print('對不起,除數(shù)不允許為0')
print('程序結(jié)束')

2、多個(gè)excep結(jié)構(gòu):捕捉異常的順序按照先字類后父類的順序,為了避免遺漏可能出現(xiàn)的異常,可以在最后增加BaseException。例如:

try:
a=int(input('請輸入一個(gè)整數(shù)'))
b=int(input('請輸入另一個(gè)整數(shù)'))
result=a/b
except ZeroDivisionError:
print('對不起,除數(shù)不允許為0')
except ValueError:
print('不能將字符串轉(zhuǎn)換為數(shù)字')
except BaseException as e:
print(e)

3、try except else結(jié)構(gòu)(不知道會(huì)出什么錯(cuò)誤的情況)

try:
a=int(input('請輸入一個(gè)整數(shù)'))
b=int(input('請輸入另一個(gè)整數(shù)'))
result=a/b
except BaseException as e:
 print('出錯(cuò)了')
 print(e)
else:
 print('結(jié)果為',result)

4、try except else finally結(jié)構(gòu)(finally塊無論是否發(fā)生異常都會(huì)被執(zhí)行,能用來釋放try塊中申請的資源)

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

try:
a=int(input('請輸入一個(gè)整數(shù)'))
b=int(input('請輸入另一個(gè)整數(shù)'))
result=a/b
except BaseException as e:
 print('出錯(cuò)了')
 print(e)
else:
 print('結(jié)果為',result)
finally:
 print('謝謝您的使用')
print('程序結(jié)束')

2、常見異常類型

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

3、python異常處理機(jī)制

traceback模塊(打印異常信息)

import traceback
try:
print(1/0)
except:
traceback.print_exc()

 

pycharm開發(fā)環(huán)境的調(diào)試

(1)斷電
程序運(yùn)行到此處,暫時(shí)掛起,停止執(zhí)行。此時(shí)可以詳細(xì)觀察程序的運(yùn)行情況,方便做出進(jìn)一步的判斷。
(2)進(jìn)入調(diào)試視圖
進(jìn)入調(diào)試視圖的三種方式:
1)單擊工具欄上的按鈕(小蟲子)
2)右鍵單擊編輯區(qū):點(diǎn)擊:debug模塊名
3)快捷鍵:shift+F9

 

編程思想

(1)兩種編程思想

Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解

(2)類和對象的創(chuàng)建

1)類:多個(gè)類似事物組成的群體的統(tǒng)稱,能夠幫助我們快速理解和判斷事物的性質(zhì)。
2)對象:實(shí)例或?qū)ο螅梢允穷惖木唧w,python中一切皆對象。
3)創(chuàng)建:

#創(chuàng)建:
class Student:         #Student為類的名稱,可以由多個(gè)單詞組成,要求首字母大寫,其余小寫
pass#沒想好的情況下
#類的組成
#1、類屬性
native_pace='吉林'#直接寫在類里的變量,稱為類屬性
#2、實(shí)例方法
def eat(self):
  print('學(xué)生在吃飯...')#在類之外定義稱為函數(shù),類之內(nèi)定義的稱為方法
#3、靜態(tài)方法
staticmathod
def method():
  print('靜態(tài)方法')
#4、類方法
classmethod
def cm(cls):
  print('類方法')

到此這篇關(guān)于Python中關(guān)于元組 集合 字符串 函數(shù) 異常處理的全面詳解的文章就介紹到這了,更多相關(guān)Python 元組內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/tcs066/article/details/120621653

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女被的在线网站91 | 亚拍一区 | 精品欧美一区二区三区四区 | aⅴ免费视频 | 黑人粗长巨茎小说 | 国产成人免费片在线观看 | 韩剧在线免费观看 | 久久一本岛在免费线观看2020 | 黄瓜视频导航 | 亚洲另类中文字幕 | 奇米888在线看奇米999 | 久久婷婷五月免费综合色啪 | 日本草草视频 | 国产免费好大好硬视频 | 国产成人一区二区三区视频免费蜜 | 久久99国产亚洲高清观着 | 99福利视频导航 | 99热这里只有精品一区二区三区 | 日本搜子同屋的日子2国语 日本爽p大片免费观看 | 免费福利资源站在线视频 | 日韩成人在线免费视频 | 日韩精品亚洲一级在线观看 | 日本精品欧洲www | 亚洲男人网 | 国产精品一久久香蕉产线看 | 青草久久精品亚洲综合专区 | 精品国产综合区久久久久久 | 亚洲免费福利视频 | 日本中文字幕一区二区高清在线 | 亚洲第一国产 | 成人免费影院 | 亚洲视频在线观看不卡 | 成人区精品一区二区毛片不卡 | 波多野结中文字幕在线69视频 | 色婷婷综合久久久中文字幕 | 99久久精品免费看国产高清 | 欧美军人男同69gay | 国自产精品手机在线视频 | 俄罗斯一级毛片免费播放 | 亚洲国产中文字幕在线视频综合 | 美国video|