1. 程式人生 > >python day01&day02筆記整理

python day01&day02筆記整理

這一週開始我們學習python

首先python是解釋性語言 

也就是說編寫python程式碼時候 要指定直譯器的位置 直譯器將程式碼解釋成機器語言

這樣計算機才能明白你讓他幹啥

就像c的編譯器GCC一樣 沒有這個東西 程式碼就是你能懂 但是機器不懂

所以python程式碼 頭一行都是

#!/usr/bin/env python

這樣是讓系統自己找環境變數下的直譯器位置 而不是將直譯器位置寫死 這樣的話程式碼就不會因為在不同的機器上 直譯器位置不一樣而不能運行了

第二行一般都是指定編碼格式

#coding=utf-8

因為我們可能用到中文 所以編碼格式一般都是指定utf-8 如果確定不會用到中文 那也可以不寫

同時python還是面向物件的 我學c++時候就不怎麼學的懂面向物件 

還是比較習慣面向過程的C 但是畢竟面向物件能實現更好的封裝

面向過程的話 一般都用來寫底層的驅動 啊 這些東西 這些東西就是一個過程 無關物件 或這說物件的狀態固定就是硬體 不會有變化

要解決一些實際的問題或這組一些實際的專案 還是要面向物件 才好分析問題

而且python確實十分的簡潔 比較瞭解C的話就很容易理解了 相比C的話

python確實簡單不少 變數不用事先定義宣告型別 想用就用 這一點就很簡單 

而且python有很多內鍵函式 這一點相比C來說就跟方便了 如果是C 的話 實現這些操作都需要自己一步一步的寫模組

而python直接呼叫就可以了 省去了不少麻煩

對python的初步感覺就到這裡 

下面是一些基礎的語法

1.

首先是數值型別 這裡還是和C差不多的 整形 長整型 浮點 字串 和C相比 沒有單一的字元型char了 

然後運算子 和C也是基本一樣  唯一區別就是邏輯關係不再用 && ||   ! 了 而是用 and or not 

而且python還支援複數型別 這一點在做影象處理時候 對於一些 座標系下的運算 肯定要方便不少

2.

下來就是字串 字串應該是最常用的 最關鍵的資料型別

python裡單引號 雙引號 三引號都可以表示這個是一個字串 

如果語句中有單引號 雙引號  那最外層直接用三引號包裹 就行了  如果不嫌麻煩 可以用轉義字元 我反正直接三引號 比C必須要用轉義字元方便多了

同時三引號還有塊註釋的功能

下來就是字串的一些操作

索引 切片 判斷子串  重複 連線 以及長度

索引就類似於C的陣列 反正C裡面 字串本身實質上就是個陣列 

這個索引倒是很好理解

切片 [ : : ] 前後可以跟三個引數  上下界 步長

而且 精髓的是 步長如果為負值 還可以實現逆序 這個就很強了

可能主要還是因為 python的索引 下標可以根據順序用負值表示倒序 這個是C裡面沒有的 C的下標都是從零開始的正序 

判斷子串的話 我理解就相當於一個 內建的方法 呼叫格式也很簡單 " xxx "  is  in  " xxx " 或者 " xxx " is not in " xxx "

呼叫返回一個bull

重複的話就是一個字串後面跟*x 就可以實現 重複幾次

連線就是str1 + str2 就直接拼接好了 相當於strcat

求長度 就是一個明顯的內建方法 len( s ) 返回int型的s長度

這還說到強制轉換 C 裡面用的 是類似 int*() 這種 python裡面不用加* 直接 int()就可以 括號裡的 表示式 值型別直接轉化為指定型別

常用方法

str.capitalize( )  首字母大寫後返回 

str.center(width[,fillchar])   返回一個長為width的新字串,在新字串 中原字元居中,其他部分用fillchar指定的符號填充, 未指定時通過空格填充。

str.count(sub[, start[, end]])   返回sub在str中出現的次數,如果start與end指定, 則返回指定範圍內的sub出現次數。

str.endswith(suffix[, start[, end]])   判斷字串是否以suffix結束,如果start和end指 定,則返回str中指定範圍內str子串是否以suffix結尾,如果 是,返回True;否則返回False 

str.find(sub[,start[,end]])  判斷sub是否在str中,存在返回索引值,不存在返回-1.

str.isalnum() //判斷是否都是字母或數字

 str.isalpha() //判斷是否都是字母 

str.isdigit() //判斷是否都是數字

 str.islower() //判斷是否都是小寫 

str.isspace() //判斷是否都是英文空格 

str.istitle() //判斷是不是都是標題(有大小寫) 

str.isupper() //判斷是不是都為大寫字母

str.join(seq)   以str作為分隔符,將序列seq中的所有元素合併為 一個新的字串。

str.replace(old,new[,count])    將str中的old字串替換為new字串,並將替換 後的新字串返回,如果count指定,則只替換前count個 字串

 str.split([sep[,maxsplit]])    以sep字串作為分割符對str進行切割,預設為空格   maxsplit代表切割的此處

str.strip([chars])  返回一字串,將str中首尾包含指定的chars字元 刪除的字串,未指定時,刪除首尾的空格。

總之看了python的字串 感覺python的字串是真的強大 各種姿勢各種方法 突然想到昨天的筆試題還有很多可以改進的地方 

當時雖然用的是python 但是其實還是按照原來寫C 的思路去做的 

可能這就是面向物件的力量吧 很多東西封裝好了 你直接去用就好了 很強 有種別人已經提前幫你做好事情的感覺