在python基礎知識這個系列中,準備羅列出我學習python的一些基礎知識,包括:
基本文法 控制語句 內建資料結構 模組和函數 字串 檔案處理 物件導向 異常處理 以前寫機器學習演算法喜歡使用 Matlab 語言,接觸 python 後,覺得 python 有很多地方還是比 Matlab 方便點,各有各的優勢吧,在公司還是使用 python 較多,這裡會羅列出一些 python 的基礎知識。
一、編碼規則
1、命名規則
變數名通常是由字母和底線組成,包名,模組名通常是由小寫字母組成。
類名的首字母用大寫,其他字母用小寫;對象名用小寫字母;類的私人變數、私人方法以兩個底線作為首碼。
class Person:#定義一個Person類__name = ''#定義一個私人變數__age = ''#定義一個私人變數def __init__ (self, name, age):self.__name = nameself.__age = agedef getName (self):return self.__namedef getAge (self):return self.__age
函數名通常採用小寫字母。
2、代碼縮排和冒號
在python中,代碼縮排和冒號都是一種文法,在Java,C/C++中有{}文法,在python中則是採用的縮排和冒號。
如在Java中實現如下的判斷:
if (x < 10){y = x + 1;}else{y = x * 2;}
則在 python 中的寫法為:
if x < 10:#冒號y = x + 1#縮排else:y = y * 2
3、模組的匯入
模組是指類或者函數的集合。與Java中的import類似,在python中有兩種匯入方式:
import ... from ... import ... 如要需要使用 random 模組中的 rangrange 函數。則有以下兩種方式:
from ...
import randomnum = random.randrange(1,9)#使用randrange函數print num
from ... import ...
from random import randrangenum = randrange(1,9)#使用randrange函數print num
註:這兩種方式的區別, from ... 匯入的是整個模組,而 import ...import ... 匯入的只是部分內容,而且還建立了匯入對象的引用,可以直接使用。在 import ... 模式中為模組建立別名,則使用 as ,如
import random as rd#為random建立別名rdnum = rd.randrange(1,9)#使用randrange函數print num
4、注釋
在python中注釋使用的是#,#號後面為注釋的內容,如上面的例子。
這裡還要注意一下其他幾種特殊的注釋
中文注釋:#coding:UTF-8 跨平台注釋:#。 /usr/bin/python
5、語句分隔
python中不必使用;分隔,但是一行寫多條語句時要使用;分隔。
如
x = 1; y = 2; print x + y
6、變數和常量
變數名由字母、數字或者底線組成,其中,首字元必須是字母或者底線。
注意全域變數的定義和使用:
# 在檔案的開始處定義全域變數_a = 1#全域變數,加底線以示區別_b = 2def add(): global _a _a = 3 return _a + _b
要使用 global 關鍵字。
在python中沒有直接定義常量的關鍵字。
7、資料類型
主要的資料類型有:數字、字串、元祖、列表和字典。
數字直接定義
i = 1
查看i的地址:
i = 1print id(i)#查看i的地址
查看變數的類型
i = 1j = 1.print type(i)print type(j)
<type 'int'>
<type 'float'>
8、運算子
| 算術運算子 |
算術運算式 |
說 明 |
| + |
x + y |
加法 |
| - |
x - y |
減法 |
| * |
x * y |
乘法 |
| / |
x / y |
除法 |
| % |
x % y |
求模 |
| ** |
x ** y |
求冪 |
註:1/2要進行浮點運算,需要匯入 division 模組
from __future__ import division
關係運算子
| 關係運算子 |
關聯運算式 |
說 明 |
| < |
x < y |
小於 |
| > |
x > y |
大於 |
| <= |
x <= y |
小於等於 |
| >= |
x >= y |
大於等於 |
| == |
x == y |
等於 |
| !=或<> |
x != y或x<>y |
不等於 |
邏輯運算子
| 邏輯運算子 |
邏輯運算式 |
| and |
x and y |
| or |
x or y |
| not |
not x |