1. 程式人生 > 其它 >python基礎2-數字和字串

python基礎2-數字和字串

GBK編碼是中文編碼

以一種編碼編,以另外一種編碼讀,肯定會亂碼

utf8中文佔用3個位元組

gbk中文佔用2個位元組

python的while也有else語句,但是隻執行一次

IDE整合開發環境

“鄭建文”,建文,是子字串,也叫子序列

運算子

  • in,和not in。 if判斷後的條件,本質上就是true或者false
  • 算數運算子和賦值運算子,得到的是數值
  • 比較運算,邏輯運算和成員運算子,得到的布林值

資料型別

  • 數字,字串,布林值,每種型別有自己的魔法功能,變數.就可以呼叫魔法

數字

  • int將字串轉換為數字,num = "0011",v = int (num, base = 16),將16進位制的num轉換成10進位制
  • type()獲取資料的型別
  • age.bit_length(),表示age的數字取值,用二進位制至少用幾位來表示。如5的二進位制位數至少是3

字串test= "alex"(7個基本魔法,4個灰魔法)

  • test.capitalize(),首字母大寫
  • test.casefold()和test.lower,所有的變小寫
  • 遇到魔法中def center(self,width,fillchar = None)沒有等號的,都是必須帶的。如果有=None,則預設為None。該函式是設定寬度,並將內容居中
  • test.l just(20,"*"),佔用20位,將test放置左邊,*補充空位。r just。
  • test.count('r'),計算r在test中出現多少次
  • encode和decode很重要
  • test.endswith('x'),字串是否以x結尾。startswith
  • test.find('ex')在字串中找到第一個ex,獲取其位置,找不到返回-1。 index(‘x’)也可以找x的位置,找不到返回錯誤。
  • test = 'i am {name}, age = {a}'。v= test.format(name='alex', a=19),格式化,將format中的值替換到test對應的佔位符
  • test = ‘ i am {0}, age = {1}’,test.format('alex',19),按照format中的順序填入test對應的佔位符
  • test.format_map({"name":'alex',"a":19}),利用字典的性質進行格式化,與format功能相同
  • test.isanum(),檢測test字串是否只包含字母和數字
  • test.expandtabs(6),表示按照6位一組來檢測有無tab,如果有,則當前組不夠6位的數字用空格湊。/t+前邊的等於6位長度
  • test.isalpha檢測test是否僅為字母
  • test.isdecimal,和test.isdigit均是判定是否是數字,test.isnumeric()也能判斷是否為數字,包括“二”
  • test.isidentifier()檢測test是否是識別符號,只由字母,數字,下劃線組成
  • test.isprintable(),檢測字串中是否有列印時不可顯示的東西,如/t,/n等
  • test.isspace(),判斷字串是否全為空格
  • test.istitle(),檢測字串是否為標題。標題的每個單詞的首字母需要大寫。test.title(),將字串轉換為標題
  • !!!t.join(test),將字串的每個元素按照指定分隔符t拼接起來,如t = " ",則將test每個元素之間加個空格。在列表中也能用
  • test.upper,isupper,lower,islower,轉換為大寫,是否全部為大寫
  • test.lstrip('abc')從左向右,使用字元abc中的子序列進行最大正向匹配,然後去除匹配成功的序列。rstrip,strip,去除左右空白。最長公共子序列
  • m = str.makettrans("aeiou", "12345"),將兩個字元做匹配,a對應1,然後test.translate(m),是將字串test中的字元按照m給出的對應關係進行替換,如將test中的a替換為1
  • 正則表示式是以下兩個魔法的功能合集:
  • test.partition('s)將test按照s從左開始分割成3份,rpartition('s')是從右開始分割
  • !!!test.split('s',2),是將test從左開始,按照s分割成3份,不顯示s。rsplit是從右開始。
  • test.splitlines(True),是將test按照換行符號進行分割,並顯示換行符號
  • test.swapcase(),是對test每個字元進行大小寫互換,大寫字元轉成小寫,小寫字元轉成大寫
  • test.replace("ex","bbb",n),對test從左開始的前n個ex替換成bbb
  • 灰魔法:

  • 索引下標來獲取字串中的某一個字元。
  • 擷取或切片[ 2: 4],左閉右開。
  • len獲取長度。len在其他資料型別中也能用到,如列表。
  • for迴圈,for 變數名 in 字串:print (變數名)。for迴圈自動完成+1的操作,將字串一個個遍歷。for迴圈的灰魔法,在其他資料型別中也能用,break和continue也支援

  • 深灰魔法

  • 字串在記憶體中一旦建立,就不可修改。如果修改,則重新建立一個字串。原因是,如果修改內容大於原本內容,則空間不夠用。在java,c#同樣

  • 建立連續的數字,v= range(100,x),for item in v:print(item),python3中不會一開始就建立0到100,只有使用時才建立。x是步長,每x個建立一個