1. 程式人生 > >python學習-day02

python學習-day02

首字母 數據 git new 打印 復數 需要 重復元素 不變

.pyc 文件是對.py文件編譯後的文件。.pyc存的是預編譯後的字節碼文件
print出來有顏色:\033[31;1m%s\033[0m 其中31代表顏色,%s代表格式化輸出
exit()可以終止程序

數據類型:
python 3.X中沒有long int,都是整型int,但是其他語言還是有這個概念的
float 浮點型,不等於小數。大概記得小數就是浮點數就可以了。
復數 5+3j j表示復數單位,與普通數學中不一樣。可以忽略,普通程序員用不到復數
布爾類型 只有true和false 或者說1和0

列表:
取列表裏面的值是list[a:b:c],含左不含右,從a開始取,取到b,步長為c(若a=0,b=-1,可以直接省略)
append 按照順序插入值
insert(num,"元素")num是插入內容的位置
list.remove("元素") 直接可以刪除內容
del list[下標]
list.pop() 默認刪除最後一個,加入下標可以效果和上一個一樣的
index("元素") 查找元素所在的下標(索引),有多個重復元素,查找的第一個
count("元素") 統計個數
sort 排序,特殊符號最先——數字——大寫——小寫
extend 合並另外一個列表
del 刪除列表
如果列表中有元素為列表,元素的列表是在內存空間重新開辟的位置存儲,而在上一層的列表存儲的是元素列表的內存地址
  eg:
  names = [‘shenbingsheng‘,‘shenman‘,‘shenlihui‘,‘tianqunwen‘,‘liuqunbi‘,["shenlihua","shenmaohua"]]

  

  
  names中的列表["shenlihua","shenmaohua"]是在內存空間重新開辟的地址,names中存儲的是["shenlihua","shenmaohua"]的內存地址
  copy 復制列表,淺copy,只會復制的是第一層,也就是說只會復制哪個names中的["shenlihua","shenmaohua"]列表的內存地址
  淺copy:
  
        L1 = copy.copy(names)
        L2 = names[:]
        L3 = list(names)

  

  假設需要深copy一份,必須調用copy模塊中的deepcopy函數
  eg:
  names2 = copy.deepcopy(names)
  isdigit() 判斷input輸入的是否為數字,是返回True,不是返回False
  enumerate()得到索引序列,利用它可以同時得到索引和元素
  eg:
        a = [1,2,3,4,5,6,7,8,9]
        for item in enumerate(a):
            print(item)       # item相當於一個索引和元素匹配的元組
        for index,i in
enumerate(a): print (index,i) # 這樣得到的index是索引,i是元素

  

字符串操作:
eg:
    name = ‘my name is {name} and I am {year} old.‘
    print(name.capitalize()) # 字符串首字母大寫
    print(name.lower()) # 大寫變小寫
    print(name.upper()) # 小寫變大寫
    print(name.count("s")) # 統計字符串中s的個數
    print(name.center(60,"*")) # 打印60個字符,不夠的用*補位,其中name居中
    print(name.rjust(60,"*")) # 打印60個字符,不夠的用*補位,其中name在右
    print(name.ljust(60,"-")) # 打印60個字符,不夠的用*補位,其中name在左
    print(name.endswith("sheng")) # 判斷以什麽字符串結尾,正確返回True,錯誤返回False
    print(name.startswith("my")) # 判斷以什麽字符串開始,正確返回True,錯誤返回False
    print(name.find("name")) # 尋找name所在字符串中的位置,用於切片
    print(name.format(name="SBS",year=22))
    print(name.format_map({"name":"SBS","year":22})) #用法和format差不多,用的更多的是format
    print(name.isdigit()) # 判斷是不是字符串是不是純數字
    print(name.isalnum()) # 判斷是不是字母或者數字
    print(name.isalpha()) # 判斷純英文字符
    print(name.isidentifier()) # 判斷是不是合法的標識符(變量名)
    print(name.islower()) # 是不是小寫
    print(name.isupper()) # 是不是大寫
    print(name.istitle()) # 是不是標題,標題單詞首字母都要大寫
    print("A".join("shenbingsheng")) # 把每一個字符都用引號裏面的字符分開
    print(name.strip()) # 去掉轉行符和空格符號
    print(name.replace("m","M",2)) # 替換,替換m為M,只替換2個
    print(name.split()) # 分割字符串為一個列表,不填值默認是按照空格分割
    print("SbS".swapcase()) # 大寫變小寫,小寫變大寫
    print(name.title())  # 變成標題

 

字典:
  創建:
  stu = {‘stu1001‘:‘Shenbingsheng‘,‘stu1002‘:‘Zhangzhongxia‘,‘stu1003‘:‘Zhangxiaohei‘}
  修改:
  stu[‘stu1001‘] = ‘沈炳聲‘
  插入:
  stu[‘stu1004‘] = ‘Alex‘
  刪除:
  1.del stu[‘stu1001‘]
  2.stu.pop(‘stu1001‘)
  3.stu.popitem() #隨即刪除一條
  查找:
   1.stu.get(‘stu1004‘) # 有就顯示,沒有返回None
   2.stu.[‘stu1003‘] # 只有在確定有這個鍵的時候才這麽用
  stu.key() 查看key
  stu.values() 查看所有的values
  stu.setdefault(‘stu1001‘,‘SBS‘) 若有鍵stu1001則不變,若沒有,則添加新的
  new_stu = {
  ‘stu1003‘:‘zhangxiaobai‘,
  ‘stu1004‘:‘yixiaoqing‘,
  ‘stu1005‘:‘jincongcong‘
  }
  stu.update(new_stu) # 有交叉的就更新,其他的直接加入進去
  stu.item() 字典轉成列表

python學習-day02