python中(str,list,tuple)基礎(chǔ)知識(shí)匯總
python是一門動(dòng)態(tài)解釋型的強(qiáng)類型定義語言(先編譯后解釋)
動(dòng)態(tài)類型語言
動(dòng)態(tài)類型的語言編程時(shí),永遠(yuǎn)也不用給任何變量指定數(shù)據(jù)類型,該語言會(huì)在你第一次賦值給變量時(shí),在內(nèi)部將數(shù)據(jù)類型記錄下來
解釋型
程序每執(zhí)行到源程序的某一條指令,則會(huì)有一個(gè)稱之為解釋程序的外殼程序?qū)⒃创a轉(zhuǎn)換成二進(jìn)制代碼以供執(zhí)行,總言之,就是不斷地解釋、執(zhí)行、解釋、執(zhí)行
強(qiáng)類型
一旦一個(gè)變量被指定了某個(gè)數(shù)據(jù)類型,如果不經(jīng)過強(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連接起來
列表,元祖操作
定義列表
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('我是新來的')
插入:
通過索引插入
names.insert(0,'我是第一')
修改:
通過索引修改
names[0] = '我才是第一'
刪除:
強(qiáng)刪list
def names
清空list
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)
不是說不能變嗎? 現(xiàn)在為什么又可以變了呢!
tuple的不變是指向不變,指向的list不能變,但是里面的內(nèi)容是可以更改的
相關(guān)文章
PYTHON如何讀取和寫入EXCEL里面的數(shù)據(jù)
這篇文章主要介紹了PYTHON如何讀取和寫入EXCEL里面的數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
PyTorch中 tensor.detach() 和 tensor.data 的區(qū)別詳解
今天小編就為大家分享一篇PyTorch中 tensor.detach() 和 tensor.data 的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python程序中使用SQLAlchemy時(shí)出現(xiàn)亂碼的解決方案
這篇文章主要介紹了Python程序中使用SQLAlchemy時(shí)出現(xiàn)亂碼的解決方案,SQLAlchemy是Python常用的操作MySQL數(shù)據(jù)庫(kù)的工具,需要的朋友可以參考下2015-04-04
Windows 下更改 jupyterlab 默認(rèn)啟動(dòng)位置的教程詳解
這篇文章主要介紹了Windows 下更改 jupyterlab 默認(rèn)啟動(dòng)位置,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
跟老齊學(xué)Python之編寫類之一創(chuàng)建實(shí)例
上兩篇文章雖然已經(jīng)對(duì)類有了一點(diǎn)點(diǎn)模糊概念,但是,閱讀前面一講的內(nèi)容的確感到累呀,都是文字,連代碼都沒有。本講就要簡(jiǎn)單多了,嘗試走一個(gè)類的流程。2014-10-10

