僅有的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()
浙公網安備 33010602011771號