Python 崇尚優美、清晰、簡單,是一個優秀並廣泛使用的語言。
與 Java 和 C++ 這些語言相比,Python 最大的兩個特點是:
python是一種弱類型語言,變量的定義不需要在前加類型說明,而且不同類型之間可以方便地相互轉換。python有五個標准的數據類型:
其中 List、Tuple、Dictionary 為容器,Python 支持四種不同的數字類型:int(有符號整型)、long(長整型)、float(浮點型)、complex(復數)。
每個變量在使用前都必須賦值,變量賦值以後該變量才會被創建。
Demo:
age = 18 # int
weight = 62.51 # float
name = "Tony" # string
print("age:", age)
print("weight:", weight)
print("name:", name)
# 變量的類型可以直接改變
age = name
print("age:", age)
a = b = c = 5
# a,b,c三個變量指向相同的內存空間,具有相同的值
print("a:", a, "b:", b, "c:", c)
print("id(a):", id(a), "id(b):", id(b), "id(c):", id(c))
age: 18
weight: 62.51
name: Tony
age: Tony
a: 5 b: 5 c: 5
id(a): 1457772400 id(b): 1457772400 id(c): 1457772400
List(列表)
List(列表)是python中使用最頻繁的數據類型,用**[ ]**標識.。
列表可以完成大多數集合類的數據結構實現,類似於java中的ArrayList。此外,一個List中還可以同時包含不同類型的數據,支持字符、數字、字符串,甚至可以包含列表(即嵌套)。
list = ['TOMDIJ',2,3,54,"SUNNY",180.2]
tinyList = [123,"tiny"]
print(list)
print(list[0])
print(list[1:3])
print(tinyList * 2)
print(list + tinyList)
list[0] = 100
print(list)
list.append("love you")
print(list)
結果
['TOMDIJ', 2, 3, 54, 'SUNNY', 180.2]
TOMDIJ
[2, 3]
[123, 'tiny', 123, 'tiny']
['TOMDIJ', 2, 3, 54, 'SUNNY', 180.2, 123, 'tiny']
[100, 2, 3, 54, 'SUNNY', 180.2]
[100, 2, 3, 54, 'SUNNY', 180.2, 'love you']
Dictionary(字典)
Dictionary(字典)是Python中除列表以外最靈活的內置數據結構類型。字典用“{}”標識,字典由索引(key)和它對應的值value組成,相當於java中的map。
列表是有序的對象集合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取的。
dict = {
}
dict['one'] = "this is one"
dict[2] = "this is two"
tinydict = {
'name': 'Tony', 'age': 24, 'height': 177}
print(dict['one']) # 輸出鍵為'one' 的值
print(dict[2]) # 輸出鍵為 2 的值
print(tinydict) # 輸出完整的字典
print(tinydict.keys()) # 輸出所有鍵
print(tinydict.values()) # 輸出所有值
結果:
this is one
this is two
{
'name': 'Tony', 'age': 24, 'height': 177}
dict_keys(['name', 'age', 'height'])
dict_values(['Tony', 24, 177])
類的定義
使用class語句來創建一個新類,class之後為類的名稱並以冒號結尾,如下
class ClassName:
'類的幫助信息' #類文檔字符串
class_suite #類體
類的幫助信息可以通過ClassName._doc_查看,class_suite由類成員,方法,數據屬性組成。如:
class Test:
"這是一個測試類"
def __init__(self):
self.__ivalue = 5
def getvalue(self):
return self.__ivalue
其中,_init_為初始化函數,相當於構造函數
訪問權限
類的繼承
繼承的語法結構如下:
class 派生類名(基類名):
類體
Python中繼承中的一些特點:
如果在繼承元組中列了一個以上的類,那麼它就被稱做“多重繼承”。
基礎重載方法
Python的類中有很多內置的方法,我們可以通過重寫這些方法來實現一些特殊的功能
class Person:
"人"
visited = 0
def __init__(self, name, age, height):
self.__name = name
self._age = age
self.height = height
def getName(self):
return self.__name
def getAge(self):
return self._age
def showInfo(self):
print("name", self.__name)
print("age", self._age)
print("height", self.height)
print("visited", self.visited)
Person.visited = Person.visited + 1
class Teacher(Person):
"老師"
def __init__(self, name, age, height):
super().__init__(name, age, height)
self.__title = None
def getTitle(self):
return self.__title
def setTitle(self, title):
self.__title = title
def showInfo(self):
print("title:", self.__title)
super().showInfo()
def testPerson():
"測試方法"
toney = Person("Toney",25,1.77)
toney.showInfo()
print();
jenny = Teacher("Jenny",45,1.80)
jenny.setTitle("教授")
jenny.showInfo();
testPerson()
測試結果
name Toney
age 25
height 1.77
visited 0
title: 教授
name Jenny
age 45
height 1.8
visited 1