1. 程式人生 > >python基礎(str,list,tuple)

python基礎(str,list,tuple)

put 程序 scl replace end 浮點 {} enter 刪除

python是一門動態解釋型的強類型定義語言(先編譯後解釋)

動態類型語言

動態類型的語言編程時,永遠也不用給任何變量指定數據類型,該語言會在你第一次賦值給變量時,在內部將數據類型記錄下來

解釋型

程序每執行到源程序的某一條指令,則會有一個稱之為解釋程序的外殼程序將源代碼轉換成二進制代碼以供執行,總言之,就是不斷地解釋、執行、解釋、執行

強類型

一旦一個變量被指定了某個數據類型,如果不經過強制轉換,那麽它就永遠是這個數據類型了

優點:效率高,團隊開發,移植,拓展,嵌入

缺點:速度慢,不能加密,禁止多線程並行進程

告訴解釋器用什麽編碼執行

#!/usr/bin/env python # -*- coding: utf-8 -*-
進制 二進制 01 八進制 01234567 十進制 0123456789 十六進制 0123456789ABCDEF 註釋 #單行註釋 ‘‘‘多行註釋‘‘‘ 用戶輸入:input(‘用戶輸入內容‘) 打印屏幕     name = ‘sunlizhao‘
  print(‘I am %s‘%(name))   %s是字符串 %d是數字 %f是浮點型 數據類型 數字   int(整型),long(長整形),float(浮點型),complex(負數) 布爾   真或假, 1或0, truefalse 字符串   name = ‘sunlizhao‘   print(‘I am %s‘%(name))   %s是字符串 %d是數字 %f是浮點型   

字符串操作:

name.capitalize() 首字母大寫 name.casefold() 大寫全部小寫 name.center(50,‘-‘) 在name的兩邊輸出 - 字符 name.count(‘s‘) 統計s出現的次數 name.encode() 字符編碼為bytes格式 name.endswith(‘lz‘) 判斷字符串是否為lz結尾 ‘s\tlz‘.expandtabs(10) 講\t轉換為多長的空格 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,找到返回下標 print(myStr.rfind("itcast"))#從右面查找,返回下表 print(myStr.index(‘word‘))#同find,找不到會出現異常 print(myStr.rindex("itcast"))#同find print(myStr.count(‘e‘))#查找出現的次數 print(myStr.replace(‘word‘,‘Word‘,1))#將word替換為Word(從左到右替換一個) print(myStr.split(‘ ‘))#將字符串中的空格切割掉 print(myStr.capitalize())#字符串第一個字符大寫 print(myStr.title())#首字母大寫 print(myStr.lower())#所有大寫字符換為小寫 print(myStr.upper())#所有小寫字母換為大寫 lyric = " 想陪你一起看大海 " print(lyric.center(50))#在50個字符中居中 print(lyric.ljust(50))#靠左 print(lyric.rjust(50))#靠右 print(lyric.strip())#清除左右兩側空格 print(lyric.lstrip())#清楚左側空格 print(lyric.rstrip())#清楚右側空格 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())#判斷是否是數字 print(numbe.isalnum())#判斷是否是數字或者字母 print(numbe.isspace())#判斷是否是純空格 a = ["aa","bb","cc"] b = " " print(" ".join(a))#將a中的字符串用b連接起來

列表,元祖操作

定義列表   names = [‘孫禮昭‘,‘slz‘,‘sunlizaho‘]   下標從0開始names[0],names[1],names[2]   倒取從-1開始 names[-1],names[-2],names[-3] 切片:取多個元素   步長為2   names[::2]   如果想取到最後一個元素,不能寫-1   names[0:] 追加:   從最後添加   names.append(‘我是新來的‘) 插入:   通過索引插入   names.insert(0,‘我是第一‘) 修改:   通過索引修改   names[0] = ‘我才是第一‘ 刪除:   強刪list   def names   清空list   names.clear()   按照下標刪除元素內容   def names[0]   names[0] = []   刪除指定元素   names.remove(‘slz‘)   刪除列表最後一個   names.pop() 拓展:   list1的內容添加到names後面   names.extend(list1) 統計:   統計names中slz出現的次數   names.count(‘slz‘) 排序/翻轉:   按照ascll碼排序,註意py3不同數據類型不能排序   names.sort()   將整個list倒序(不排只倒)   names.reverse() 獲取下標:   根據元素內容獲取下標(只返回找到的第一個)   names.index(‘slz‘) 元組:tuple一旦創建,不得修改 t = (a,b,[c,d]) tt = t[2] tt[0] = e tt[1] = f print(tt) 不是說不能變嗎? 現在為什麽又可以變了呢! tuple的不變是指向不變,指向的list不能變,但是裏面的內容是可以更改的

  

python基礎(str,list,tuple)