3.Python自我修煉(昇仙中....整數,布爾值,字符串,for循環)

python學習(整數,布爾值,字符串,for循環)

1.整數

​ 在python3中全部的整數都是int類型. 但在python2中若是數據量比較大. 會使用long類型.可是在python3中不存在long類型.java

​ 整數可進行的操做 :
​ bit_length(). 計算整數在內存中佔用的二進制碼的長度.
python

2.再談布爾值

​ 取值只有True,False(bool值沒有操做)git

轉換問題:編程

  • str => int int(str)
  • int => str str(int)
  • int => bool bool(int). 0是False 非0是True
  • bool=>int int(bool) True是1, False是0
  • str => bool bool(str) 空字符串是False,不空是True
  • bool => str str(bool) 把bool值轉換成相應的"值"

3.字符串

​ 字符串用於存儲數據,但存儲數據量比較少,在python中用 ' (單引號) "(雙引號) '''(單引號三三引) """(雙引號三引)引發來的內容被稱爲字符串.api

字符串與索引的關係及其操做以下 :編程語言

  1. 索引(下標)函數

    索引就是下標,下標從0開始,取值時索引所選長度不能夠超過其自己.學習

    s1 = "python學習"
    print(s1[0]) # 獲取第0個索引所對應的的元素.
    print(s1[1]) # 同上
    print(s1[2]) # 同上
    print(s1[3]) # 同上
    print(s1[4]) # 同上
    print(s1[5]) # 同上
    print(s1[6]) # 同上
    print(s1[7]) # 同上
    print(s1[8]) # 同上
    print(s1[9]) # 沒有9,越界了會報錯,索引長度不能夠超過自己
    print(s1[-1]) # -1表示倒數第一個
    print(s1[-2]) # 倒數第二個
  2. 切片code

    語法 : str[start:end]對象

    規則 : 顧頭不顧腚,從start開始截取,截取到end位置,但不包括end,切片長度能夠超出範圍.

    用法 : 咱們可使用下標來截取部分字符串的內容

    s2 = "python好學習"
    print(s2[0:3]) # 從0獲取到3,不包含3,結果:pyt
    print(s2[6:8]) # 結果:好學
    print(s2[6:9]) # 最答是8,但根據顧頭不顧腚,想要取到8必須給9
    print(s2[6:10]) # 若是右邊已通過了最答值,至關於獲取到最後,切片長度能夠超出範圍,索引長度不能夠.
    print(s2[4:]) # 若是想獲取到最後,那麼:後能夠不放值.
    print(s2[-1:-5]) # 從-1獲取到-5這樣是獲取不到任何結果的,從-1向右數,取值方向向右,數不到-5.
    print(s2[-5:-1]) # 取到學習這個數據了,可是,顧頭不顧尾,取不到最後一個.
    print(s2[-5:]) # 什麼都不寫就是取值到最後
    print(s2[:-1]) # 這個是取到倒數第一個值,但不包含倒數第一的這個值
    print(s2[:]) # 取所有
  3. 步長

    切片語法 : str[start​ : end : step]

    • start : 起始位置
    • end : 結束位置
    • step : 步長

    步長用法 : 若是是整數,則從左往右取,若是是負數,則從右往左取,step默認是1取值方向從左往右.

    s2 = "python好學習"
    print(s2[1:5:2]) # 從索引爲1的位置開始取,取到索引爲4的位置,每2個取1個,結果:yh
    print(s2[:5:2]) # 從索引爲0的位置開始到索引爲4的位置,每兩個取一個
    print(s2[4::2]) # 從索引爲4的位置開始取到最後,每兩個取一個
    print(s2[-5::2]) # 從索引爲-5的位置取到最後.每兩個取一個
    print(s2[-1:-5]) # 從索引爲-1的位置取到索引爲-4的位置,可是什麼都沒有,由於取的方向是從左往右
    print(s2[-1:-5:-1]) # 從索引爲-1的位置取到索引爲-4的位置,步長是-1,取的方向這時就從右往左.
    print(s2[-5::-3]) # 從索引爲-5的位置開始取到最開始,每三個取一個,結果:oy
  4. 字符串經常使用方法

    注意 : 切記,字符串是不可變的對象,因此任何操做對原字符串是不會有任何影響.

    1. 大小寫互相轉換,常應用於校驗用戶輸入的驗證碼是否合法

      # 首字母大寫
      s1.capitalize()
      print(s1) # 輸出發現並無任何的變化,由於這裏的字符串自己是不會發生改變的,須要咱們從新賦值後用.
      ret1 = s1.capitalize()
      print(ret1)
      ---------------------------------
      # 所有轉換成小寫
      ret = s1.lower()
      print(ret)
      ---------------------------------
      # 所有轉換成大寫
      ret = s1.upper()
      print(ret)
      ---------------------------------
      # 大小寫互相轉換
      ret = s1.swapcase()
      print(ret)
      ---------------------------------
      ret = s1.casefold() # 用於轉換成小寫,此方法不經常使用,和lower的區別:lower()對某些字符支持不夠好.
      casefold()對全部字母都有效,好比東歐的一些字母
      print(ret)
      
      s2 = "БBß" # 俄美德
      print(s2)
      print(s2.lower()) # 打印結果比對能夠看到lower沒法對德語轉化
      print(s2.casefold())
      ---------------------------------
      # 每一個被特殊字符隔開的字母首字母大寫
      s = "eggon,taibai*yinwang"
      ret = s.title()
      print(ret)# 打印結果 Eggon,Taibai*Yinwang
      s = "你好chen你好shuo我是" # 你好Chen你好Shuo我是 中問也算是特殊字符
      print(s4.title())
    2. 字符串的切割

      # 居中
      s = "周杰倫"
      ret = s.center(10, "*") # 拉長成10,把原字符串放中間,其他位置補*
      print(ret)
      ---------------------------------
      # 更改tab的長度
      s = "alir\teon"
      print(s)
      print(s.expandtabs()) # 能夠改變\t的長度, 默認長度更改成8
      ---------------------------------
      # 去空格,經常使用於當用戶登陸時,忽略用戶輸入的空格
      s = " chen shuo nihao "
      ret = s.strip() # 去掉左右兩端的空格
      print(ret)
      ret = s.lstrip() # 去掉左邊空格
      print(ret)
      ret = s.rstrip() # 去掉右邊空格
      print(ret)
      ---------------------------------
      # 字符串替換
      s = "chen_shuo_nihao"
      ret = s.replace('chen', 'hehe') # 把chen替換成hehe
      print(s) # 注意,字符串是不可變對象. 全部操做用返回值
      print(ret) # hehe_shuo_nihao
      ret = s.replace('n', 'yy', 2) # 把c替換成yy, 替換2個
      print(ret) # 打印結果 cheyy_shuo_yyihao
      ---------------------------------
      # 字符串切割
      s = "chen,shuo,ni,hao"
      lst = s.split(",") # 字符串切割,根據","進行切割
      print(lst) # 打印結果是列表形式 ["chen","shuo","ni","hao"]
      #若是切割符在左右兩端,那麼必定會出現空字符串,深坑請留意.
    3. 字符串的查找

      s = "我叫sylar,我喜歡python,java,c等編程語言."
      ret1 = s.startswith("sylar") # 判斷是否以sylar開頭
      print(ret1)
      ret2 = s.startswith("我叫sylar") # 判斷是否以我叫sylar開頭
      print(ret2)
      ---------------------------------
      ret3 = s.endswith("語言") # 是否以'語言'結尾
      print(ret3)
      ret4 = s.endswith("語言.") # 是否以'語言.'結尾
      print(ret4)
      ---------------------------------
      ret7 = s.count("a") # 查找"a"出現的次數
      print(ret7)
      ---------------------------------
      ret5 = s.find("sylar") # 查找'sylar'出現的位置
      print(ret5)
      ret6 = s.find("tory") # 查找'tory'的位置,若是沒有返回-1
      print(ret6)
      ret7 = s.find("a", 8, 22) # 切片找
      print(ret7)
      ---------------------------------
      ret8 = s.index("sylar") # 求索引位置,注意,若是找不到索引,程序會報錯
      print(ret8)
    4. is 系列

      ret=1234
      ret.isdecimal # 判斷是否是十進制
      ret.isalnum # 判斷是否是中文,字母,數字
      ret.isalpha # 判斷是否是中文,字母
      ret.isdigit # 判斷是否由純數字組成
    5. 計算字符串的長度

      s = "你好我是***"
      ret = len(s) # 計算字符串的長度度
      print(ret) # 打印結果爲7
      # len()是python的內置函數

4.for循環

  • for循環用法 : 咱們可使用for循環來便利(獲取)字符串中的每個字符.

  • for語法:
    for 變量 in 可迭代對象:
    pass
    可迭代對象: 能夠一個一個往外取值的對象

  • in的用法:

    • 在for中. 是把每個元素獲取到賦值給前面的變量.

    • 不在for中. 判斷xxx是否出如今str中.

      # for循環, 把s中的每個字符拿出來賦值給前面的c
      s="你們好,我是python學習者"
      for c in s:
          print(c) # 注意縮進字符
      print(c) # 此時打印結果爲for循環最後一次c的取值
      
      # in在python中的用法
      print('pyt' in s) # 此時打印出的結果是Ture

5.range範圍

語法 : range(start,end,step)

  • start : 起始位置
  • end : 結束位置
  • step : 步長

注意 : 顧頭不顧尾,當range(10)爲此形式時,起始位置默認從0開始到9結束,打印10次

相關文章
相關標籤/搜索