僅有的C語言的基礎都是大學時學的;

準備趕潮流,開始學習Python。

隨筆記錄學習過程中,靠一點點C語言基礎難以去理解的地方,以及區別于C語言的地方,做些筆記作為以后參考。

 

Python 解釋器直接可以處理的基礎數據類型: 字符串、整數、浮點數、布爾值、空值

1、整數

  Python可以處理任意大小的整數,包括負整數;(默認為10進制); 直接以數學形式描述即可。

  如果需要定義為16進制,則需要加前綴 0x  例如: 0xff , 0x1234abc

2、浮點數

  即帶小數點的小數,可以通過科學記數法來移動小數點的位置,所以稱之為浮點數;

       例如: 12.34567 就等同于 1.234567e1

3、字符串

  可以是單引號或者雙引號,例如: 'ABC'  "ABC" 是等同的;

  如果字符串中有單引號,則可以用雙引號,例如; “I'm here”

  如果字符串既有單引號又有雙引號,則需要轉義符號 \  (如果字符串中包含 \  則也需要加 \ 來轉義,即 \\  )

  如果字符串中有大量需要轉義的符號,則可以通過字符串前面加 r 來解決;(等同于C語言中字符串前面加@)

  字符串中可包含一些 回車換行、制表符等特殊字符 ( \n \t )

4、布爾值

  True 、False (注意大小寫)

5、空值

  None

 

變量: 與C語言不同的是,Python變量本身類型不固定,而C語言中一個變量在其作用域內是不可以變化本身類型的;

           變量名必須是大小寫英文、數字和_的組合,且不能用數字開頭;

  可以以下隨意定義:

  a=1

  print(a)

  a='ABC'

  print(a)

 

 

基本運算

1、整數間運算:  + - * /

  特殊說明: 除法計算結果是浮點數,即使是兩個整數恰好整除,結果也是浮點數;

  //  為取商

  % 為取余

  例如: 10/2        結果為 5.0
      10/3        結果為 3.333333333335
                   10//3       結果為 3
                   10%3      結果為 1

2、

 

3、字符串 特殊運算及處理

  用+號連接,用*號重復;例如:'A' + 'B'    或者 'A'*5

  切片操作 類似于C語言中的substring , 第一個下標為0 和C語言一樣 (切片操作與list的切片操作一樣)

    例如: A = 'Hello World!'   

      A[4] 結果為 'o'                 第5個字符

      A[0:4] 結果為'Hell'           從0開始截取4個字符    可略寫為 A[:4]

      A[2:4] 結果為 ‘ll’               從第3個字符開始截取2個字符(即 后值前值

      A[2:] 結果為 ‘llo World!’               從第3個字符開始截取后面所有字符

    可以通過負數下標來從右向左切片;

      A[-4] 結果為 ‘r’                              倒數第4個字符

      A[-4:] 結果為 ‘rld!’                         截取倒數4個字符

      A[:-4] 結果為 ‘Hello Wo’                除了倒數4個字符,截取前面所有字符 

  字符串常用操作:  

    字符串長度:len(str)

    全部大寫:str.upper()
    全部小寫:str.lower()
    大小寫互換:str.swapcase()
    首字母大寫,其余小寫:str.capitalize()
    首字母大寫:str.title()  

    獲取固定長度,右對齊,左邊不夠用空格補齊:str.ljust(width)
    獲取固定長度,左對齊,右邊不夠用空格補齊:str.rjust(width)
    獲取固定長度,中間對齊,兩邊不夠用空格補齊:str.center(width)
    獲取固定長度,右對齊,左邊不足用0補齊:str.zfill(width)

    獲取其中某個字符或子字符串出現的次數:str.count(substr) 

  字符串內部查找

    1、find方法    str1.find(str2, beg=0, end=len(str1))

    2、index方法            str1.index(str2, beg=0, end=len(str1))

    檢測 str2 是否包含在字符串str1中,如果指定范圍 beg 和 end ,則檢查是否包含在指定范圍內,如果包含返回開始的索引值,否則返回-1 (find方法)或者 ValueError: substring not found 異常 (index方法)

      

  字符串替換 

    標準語法: str.replace(old,new[,count=str.count(old)])    

      • old -- 指定的舊子字符串
      • new -- 指定的新子字符串
      • count -- 可選參數,替換的次數,默認為指定的舊子字符串在字符串中出現的總次數。

  字符串去除空格或特定字符

    標準語法: str.strip([chars])   用于移除字符串頭尾指定的字符(默認為空格或換行符)或字符序列 

    去兩邊空格:str.strip()    去左空格:str.lstrip()   去右空格:str.rstrip()     

    注:是去除字符序列中的所有存在的字符;例如:str.strip('123')  是把字符串的前后出現的 ‘1’ ‘2’ ‘3’ 都去除;

  字符串分割

    標準語法: S.split(str="", num=S.count(str))      

      • str -- 分隔符,默認為所有的空字符,包括空格、換行(\n)、制表符(\t)等。
      • num -- 分割次數。默認為 -1, 即分隔所有。

   字符串判斷

    是否以start開頭:str.startswith('start')
    是否以end結尾:str.endswith('end')
    是否全為字母或數字:str.isalnum()
    是否全字母:str.isalpha()
    是否全數字:str.isdigit()
    是否全小寫:str.islower()
    是否全大寫:str.isupper()