python中(str,list,tuple)基礎(chǔ)知識(shí)匯總
python是一門動(dòng)態(tài)解釋型的強(qiáng)類型定義語(yǔ)言(先編譯后解釋)
動(dòng)態(tài)類型語(yǔ)言
動(dòng)態(tài)類型的語(yǔ)言編程時(shí),永遠(yuǎn)也不用給任何變量指定數(shù)據(jù)類型,該語(yǔ)言會(huì)在你第一次賦值給變量時(shí),在內(nèi)部將數(shù)據(jù)類型記錄下來(lái)
解釋型
程序每執(zhí)行到源程序的某一條指令,則會(huì)有一個(gè)稱之為解釋程序的外殼程序?qū)⒃创a轉(zhuǎn)換成二進(jìn)制代碼以供執(zhí)行,總言之,就是不斷地解釋、執(zhí)行、解釋、執(zhí)行
強(qiáng)類型
一旦一個(gè)變量被指定了某個(gè)數(shù)據(jù)類型,如果不經(jīng)過(guò)強(qiáng)制轉(zhuǎn)換,那么它就永遠(yuǎn)是這個(gè)數(shù)據(jù)類型了
優(yōu)點(diǎn):效率高,團(tuán)隊(duì)開發(fā),移植,拓展,嵌入
缺點(diǎn):速度慢,不能加密,禁止多線程并行進(jìn)程
告訴解釋器用什么編碼執(zhí)行
#!/usr/bin/env python
# -*- coding: utf-8 -*-
進(jìn)制
二進(jìn)制 01
八進(jìn)制 01234567
十進(jìn)制 0123456789
十六進(jìn)制 0123456789ABCDEF
注釋
#單行注釋
'''多行注釋'''
用戶輸入:input('用戶輸入內(nèi)容')
打印屏幕
name = 'sunlizhao'
print('I am %s'%(name))
%s是字符串 %d是數(shù)字 %f是浮點(diǎn)型
數(shù)據(jù)類型
數(shù)字
int(整型),long(長(zhǎng)整形),float(浮點(diǎn)型),complex(負(fù)數(shù))
布爾
真或假, 1或0, true或false
字符串
name = 'sunlizhao'
print('I am %s'%(name))
%s是字符串 %d是數(shù)字 %f是浮點(diǎn)型
字符串操作:
name.capitalize() 首字母大寫
name.casefold() 大寫全部小寫
name.center(50,'-') 在name的兩邊輸出 - 字符
name.count('s') 統(tǒng)計(jì)s出現(xiàn)的次數(shù)
name.encode() 字符編碼為bytes格式
name.endswith('lz') 判斷字符串是否為lz結(jié)尾
's\tlz'.expandtabs(10) 講\t轉(zhuǎn)換為多長(zhǎng)的空格
name.find('sl') 查找sl,找到返回其索引, 找不到返回-1
format :
>>> msg = "my name is {}, and age is {}"
>>> msg.format("alex",22)
'my name is alex, and age is 22'
>>> msg = "my name is {1}, and age is {0}"
>>> msg.format("alex",22)
'my name is 22, and age is alex'
>>> msg = "my name is {name}, and age is {age}"
>>> msg.format(age=22,name="ale")
'my name is ale, and age is 22'
format_map
>>> msg.format_map({'name':'alex','age':22})
'my name is alex, and age is 22'
num1 = [11,22,33] num2 = (11,22,33) #num3 = {'a' = 11, 'b' = 22, 'c' = 33} myStr = 'hello word itcast and' #字符串操作 print (myStr) print(myStr.find("word"))#找不到返回-1,找到返回下標(biāo) print(myStr.rfind("itcast"))#從右面查找,返回下表 print(myStr.index('word'))#同find,找不到會(huì)出現(xiàn)異常 print(myStr.rindex("itcast"))#同find print(myStr.count('e'))#查找出現(xiàn)的次數(shù) print(myStr.replace('word','Word',1))#將word替換為Word(從左到右替換一個(gè)) print(myStr.split(' '))#將字符串中的空格切割掉 print(myStr.capitalize())#字符串第一個(gè)字符大寫 print(myStr.title())#首字母大寫 print(myStr.lower())#所有大寫字符轉(zhuǎn)換為小寫 print(myStr.upper())#所有小寫字母轉(zhuǎn)換為大寫 lyric = " 想陪你一起看大海 " print(lyric.center(50))#在50個(gè)字符中居中 print(lyric.ljust(50))#靠左 print(lyric.rjust(50))#靠右 print(lyric.strip())#清除左右兩側(cè)空格 print(lyric.lstrip())#清楚左側(cè)空格 print(lyric.rstrip())#清楚右側(cè)空格 print(lyric.partition("一起"))#以'一起'為中心分割成三段 print(lyric.rpartition("一起"))#從右邊開始查找(元組) file_name = "xxxx.txt" print(file_name.endswith(".txt"))#判斷是否是.txt為后綴 print(file_name.startswith("xxxx"))#判斷是否是xxxx為開頭 numbe = "q" print(numbe.isalpha())#判斷是否是字母 print(numbe.isdigit())#判斷是否是數(shù)字 print(numbe.isalnum())#判斷是否是數(shù)字或者字母 print(numbe.isspace())#判斷是否是純空格 a = ["aa","bb","cc"] b = " " print(" ".join(a))#將a中的字符串用b連接起來(lái)
列表,元祖操作
定義列表
names = ['孫禮昭','slz','sunlizaho']
下標(biāo)從0開始names[0],names[1],names[2]
倒取從-1開始 names[-1],names[-2],names[-3]
切片:取多個(gè)元素
步長(zhǎng)為2
names[::2]
如果想取到最后一個(gè)元素,不能寫-1
names[0:]
追加:
從最后添加
names.append('我是新來(lái)的')
插入:
通過(guò)索引插入
names.insert(0,'我是第一')
修改:
通過(guò)索引修改
names[0] = '我才是第一'
刪除:
強(qiáng)刪list
def names
清空l(shuí)ist
names.clear()
按照下標(biāo)刪除元素內(nèi)容
def names[0]
names[0] = []
刪除指定元素
names.remove('slz')
刪除列表最后一個(gè)值
names.pop()
拓展:
list1的內(nèi)容添加到names的后面
names.extend(list1)
統(tǒng)計(jì):
統(tǒng)計(jì)names中slz出現(xiàn)的次數(shù)
names.count('slz')
排序/翻轉(zhuǎn):
按照ascll碼排序,注意py3不同數(shù)據(jù)類型不能排序
names.sort()
將整個(gè)list倒序(不排只倒)
names.reverse()
獲取下標(biāo):
根據(jù)元素內(nèi)容獲取下標(biāo)(只返回找到的第一個(gè))
names.index('slz')
元組:tuple一旦創(chuàng)建,不得修改
t = (a,b,[c,d]) tt = t[2] tt[0] = e tt[1] = f print(tt)
不是說(shuō)不能變嗎? 現(xiàn)在為什么又可以變了呢!
tuple的不變是指向不變,指向的list不能變,但是里面的內(nèi)容是可以更改的
相關(guān)文章
Python?OpenCV基于HSV的顏色分割實(shí)現(xiàn)示例
這篇文章主要為大家介紹了Python?OpenCV基于HSV的顏色分割實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06python調(diào)用API實(shí)現(xiàn)智能回復(fù)機(jī)器人
這篇文章主要為大家詳細(xì)介紹了python調(diào)用API實(shí)現(xiàn)智能回復(fù)機(jī)器人,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04Python中import的用法陷阱解決盤點(diǎn)小結(jié)
這篇文章主要為大家介紹了Python中import的用法陷阱解決盤點(diǎn)小結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10Python函數(shù)式編程之返回函數(shù)實(shí)例詳解
函數(shù)式編程的一個(gè)特點(diǎn)就是,允許把函數(shù)本身作為參數(shù)傳入另一個(gè)函數(shù),還允許返回一個(gè)函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python函數(shù)式編程之返回函數(shù)的相關(guān)資料,需要的朋友可以參考下2022-09-09Python爬蟲scrapy框架Cookie池(微博Cookie池)的使用
這篇文章主要介紹了Python爬蟲scrapy框架Cookie池(微博Cookie池)的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01500行python代碼實(shí)現(xiàn)飛機(jī)大戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了500行python代碼實(shí)現(xiàn)飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04python網(wǎng)絡(luò)爬蟲精解之正則表達(dá)式的使用說(shuō)明
正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來(lái)表達(dá)對(duì)字符串的一種過(guò)濾邏輯2021-09-09