程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

簡單的python基礎

編輯:Python

python的特點

Python 崇尚優美、清晰、簡單,是一個優秀並廣泛使用的語言。

與 Java 和 C++ 這些語言相比,Python 最大的兩個特點是:

  • 語句結束不用分號“;”。
  • 代碼塊用縮進來控制,而不用大括號“{}”

基本語法

數據類型

python是一種弱類型語言,變量的定義不需要在前加類型說明,而且不同類型之間可以方便地相互轉換。python有五個標准的數據類型:

  • Number(數字)
  • String(字符串)
  • List(列表)
  • Tuple(元組)
  • Dictionary(字典)

其中 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中還可以同時包含不同類型的數據,支持字符、數字、字符串,甚至可以包含列表(即嵌套)。

  • 列表中值的切割也可以用到變量[頭下標:尾下標],就可以截取相應的列表,從左到右索引默認0開始,從右到左索引默認-1開始,下標可以為空表示取頭或尾。
  • 加號(+)是列表連接運算符,星號(*)是重復操作。
 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_為初始化函數,相當於構造函數

訪問權限

  • foo :定義的是特殊方法,一般是系統定義名字,類似_init_()之類的。
  • _foo :以單下劃線開頭的表示的是protected類型的變量,即保護類型只能允許其本身與子類進行訪問,不能用於from module import *。
  • __foo :雙下劃線的表示的是私有類型(private)的變量,只能是允許這個類本身進行訪問了。

類的繼承
繼承的語法結構如下:

class 派生類名(基類名):
類體

Python中繼承中的一些特點:

  • 在繼承中基類的構造(init()方法)不會被自動調用,它需要在其派生類的構造中親自專門調用。
  • 在調用基類的方法時,需要使用super()前綴。
  • Python總是首先查找對應類型的方法,如果它不能在派生類中找到對應的方法,它才開始到基類中逐個查找(先在本類中查找調用的方法,找不到才去基類中找)。

如果在繼承元組中列了一個以上的類,那麼它就被稱做“多重繼承”。

基礎重載方法
Python的類中有很多內置的方法,我們可以通過重寫這些方法來實現一些特殊的功能

序號方法描述簡單的調用1init(self [,args…] )構造函數obj = className(args)2del(self)構成方法,刪除一個對象del obj3repr(self)轉化為供解釋器讀取的形式repr(obj)4str(self)用於將值轉化為適於人閱讀的形式str(obj)5cmp(self, x)對象比較cmp(obj,x)

Demo 頓悟

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

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved