python基礎(1.5-1.7)

1.5 Python的數值和字符串
123和”123”一樣嗎? 帶引號的是字符串 不帶引號的是數值

Python數據類型
數值
字符串
列表
元組
字典

數值類型

  • 整型
    整型int可以存儲2^32個數字,範圍-2,147,483,648到2147483647
    例如:0,100,-100
  • 長整型
    Long的範圍很大,幾乎可以說任意大的整數均可以存儲。
    爲了區分普通整型,需要在整數後加L或l。
    例如: 2345L,0x34al

  • 浮點型 帶小數點,科學
    例如:0.0,12.0,-18.8,3e+7等

    • 複數型
      Python對複數提供內嵌支持,這是其他大部分軟件所沒有的。
      複數例子:- 3.14j,8.32e-36j

      >> num = 3.14j
      >> type(num)
      <type 'complex'>
      >> num
      3.1400000000000001j
      >> print num
      3.14j
      >>

字符串類型--string
有三種方法定義字符串類型 單引號 雙引號 在python中沒有任何區別

  • str = ‘this is a string’
  • str = “this is a string”
  • str = ‘’’this is a string’’’ 可以是三個單引號活着是三個雙引號 不能混合 比如In [24]: a= '''hello
    ....: world'''

三重引號(docstring)除了能定義字符串還可以用作註釋。

字符串是一個序列,可以通過索引和切片來操作字符串
字符串索引
字符串是序列,可以通過索引取每個字符

  • str = ‘abcde’
  • str[0] + str[1]
    字符串切片

    >> str[1:3]
    'bc'
    >> str[:3] 代表從頭開始取 取到3
    'abc'
    >> str[3:]
    'de'
    >> str[::1] 1代表步進值 隔一個數取一個
    'abcde'
    >> str[::2] 2代表隔2個數取一個
    'ace‘
    >> str[-1]
    'e'
    >> str[-4:-1]
    'bcd‘
    >> str[-2:-4:-1] 從倒數第二個開始取 取到倒數第四 -1表示從右到左取
    'dc'
    後期講的元組和序列都適用這種切片

1.6 元組
元組屬於序列的一種
字符串、列表和元組都是序列
序列的兩個主要特點是索引操作符和切片操作符

  • 索引操作符讓我們可以從序列中抓取一個特定項目
  • 切片操作符讓我們能夠獲取序列的一個切片,即一部分序列。

序列的基本操作

  1. len(): 求序列的長度
  2. +: 連接2個序列 a+'f' 字符串a加上f 組成一個新的字符串 這裏必須加引號 否則報錯
  3. : 重複序列元素 a10 把a這個字符串重複10次 *後必須是數值 否則報錯
  4. in: 判斷元素是否在序列中 返回布爾值
    not in : 判斷元素是否不在序列中
  5. max(): 返回最大值 max(a)
  6. min(): 返回最小值
  7. cmp(x, y):比較兩個序列是否相等 返回0說明相等 返回-1 表示x<y 返回1表示x>y

元組() 元組用括號定義
元組和列表十分相似
元組和字符串一樣是不可變的

  • 元組可以存儲一系列的值
  • 元組通常用在用戶定義的函數能夠安全地採用一組值的時候,即被使用的元組的值不會改變。元組通常可以接收函數的返回值

創建元組
t= ()
t=(1,) 如果只有一個元素必須要加逗號 否則會認爲是字符串或者是數字
t=(1,'d',(1,)) 也可以在元組裏存放另外一個元組, 在內部嵌套括號
t = (‘james’, ‘M’) 也可以存放字符串

元組操作

  • 元組和字符串一樣屬於序列類型,可以通過索引和切片操作 a[1] :訪問下表爲1的元組元素
  • 元組值不可變
    元組的拆分
  • t = (1,2,3)
    a, b, c = t 將元組t中的值賦值給a b c三個變量 也就是a b c 接受元組的三個數值
    t=(a,'b','c') a不加引號代表的是一個變量,用變量的值代替第一個元素
    t.count(value) T.count(value) -> integer -- return number of occurrences of value 如果value是元素中的值 則返回一個整數 是返回1 不是返回0
    t.index(value) 返回元組值的索引

1.7 列表
2.列表也是序列的一種
列表(list)是處理一組有序項目的數據結構,即可以在列表中存儲一個序列的項目。
列表是可變類型的數據,可以增加,也可以刪除
創建列表

  • list1 = [] 創建一個空的列表
  • list2 = list() 通過list函數創建一個空列表
  • list3 = [‘a’,1,2] 創建列表的時候賦值
    list3=['a',1,(1,),['hello','python']] 列表內的元素值也可以是字符串,數值,元組或者列表
    len(list3) 返回列表的長度
    list3[0]='n' 給列表中的某個元素重新賦值

列表操作

  • 取值
    切片和索引
  • 添加
    list.append() 默認添加到最後一個元素
    list1 + list2 將2個列表的元素重新組合成一個新的列表

  • 刪除
    del list[]
    list.remove(list[]) 刪除第一個出現的值 如果值不存在,則拋出沒有這個值的異常 ValueError
  • 修改
    list[] = x
  • 查找
    var in list 查找某個元素是否在列表裏

In [24]: 'a' in list3 a是否在list3列表裏
Out[24]: False 返回false

list.insert() 插入元素 ,和append相似
insert(...)
L.insert(index, object) -- insert object before index 在index索引之前插入object元素對象

list.sort() 給列表排序 沒有參數 a.sort() 給列表a 排序 默認是升序
list.reverse() 列表反序排序
list.pop([index]) 默認刪除最後一個元素 並返回刪除的元素值

list.extend()
extend(...) iterable 可迭代的對象
L.extend(iterable) -- extend list by appending elements from the iterable
把可迭代的對象追加到列表裏
例如:
range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a.extend(range(10))
a
[1, 3, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

字符串 元祖 列表 都是可迭代的 凡是可迭代的都可以通過for循環去訪問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章