Python: 學習系列之一:基礎介紹

簡介

  1. 重點:被納入高考,上升到了國家戰略的層面上

  2. 優點:大量的第三方庫
  3. 缺點:Python是解釋型語言,所以慢
  4. 適用範圍:網絡應用,包括網站、後臺服務、機器算法、大數據等
  5. 代碼易被偷:解釋型的語言,則必須把源碼發佈出去
  6. 運行Python:Python解釋器(就是負責運行Python程序的)
  7. 編輯器:Pycharm

基礎知識

  • Python中的語句不需要使用任何符號作爲結束符
  • 打印:print() 自帶換行, 或者print('hello,world',end='') 不換行
  • 單行註釋用#,多行註釋,將多行代碼包含在三個引號中。
  • 變量是沒有數據類型的,只有對象纔有數據類型,通常,一個變量只引用一種數據類型的對象。
a=18 ; a ='hello';

整數

print(0b111) #二進制
print(0o111) #10進制
print(0x111) #16進制
print(bin(100)) #二進制
print(oct(100)) #10進制
print(hex(100)) #16進制
print(int(1))
print(int(2.1)) #取整
print(int('3')) #轉整
# print(int('aa')) #報錯
print(int('0b1100100',2)) # 100 , 2爲2進制

其它

print(type(5)) ; print(type(5.4))
print(type('hello'))
print(float(1.1))
print(2.3e3) # 2.3 * 10的三次方
print(1.1+2.2 -3.3)  #4.440892098500626e-16
print((1.1 +2.2)) #3.3000000000000003


from decimal import Decimal

print(Decimal('1.1') + Decimal('2.2') - Decimal('3.3')) #0.0

from fractions import  Fraction
print(Fraction(11,10)+Fraction(22,10)-Fraction(33,10)) #0

print(True)
print(False  ==0) # True的值爲1, False的值爲0
print(True and False)
print(not False)
  • is (is not) 用於比較兩個運算數是否是同一個對象。
a=b=[1,2,3]; c=[1,2,3]; 
print(a==b) # True
print(a==c) # True
print(a is c)
  •  不可變類型對象的is比較(可以使用id()查看內存地址)
a=18; b =18;
print(id(a));print(id(b));print(a is b);#True
  •  比較運算符可用於鏈式比較
age=18; print(1<age <100)
print( 1 ==2 and 2<3)
  • 變量、函數、方法、類等名字是區分大小寫的。

對象None, 是佔據內存空間的,它並不是爲“空” 或“沒有定義”,用於表示數據值的不存在。

print(id(None)) #通常用於對象的初始化,或者將變量重置爲數據值不存在的狀態
a=18
a =None

序列類型(range)

  • range類型用於表示不可變的整數序列,它的優點在於:不管range對象有多長,此對象佔用的內存空間都是相同的,它只會存start,stop,step,只有在用的時候,纔會計算它的相關元素。
#創建的對象不包含stop
range(stop);print(list(range(5))) # [0,1,2,3,4]
range(start,stop);print(list(range(1,5))); # [1,2,3,4]
range(start,stop,step)
  • 序列類型有:列表、元組、字符串,對於序列類型對象,我們可以使用in來檢查序列類型是否包含某元素
print(3 in range(5))
print(8 not in range(5))

列表

  • 列表中可以存在重複的數據
  • 列表中可以保存任何類型的數據,多種類型的數據可以混用
  • 使用列表時不須預先聲明列表的容量
#list是列表對應的類名
a = ['python', 18, True]
print(type(a))
print([]) #空列表
print(list()) #空列表
print(list(range(5))) #構造函數

print(a.index(18)) # 1
print(a.index(18,start,stop)) 

print(a[0]) #python
print(a[-3]) #python

print(a[0:3:2]) #a[start:stop:step]

print(a[::-1]) #對列表進行的翻轉

print(a[:100]) #切片是允許索引跨界的

print(a[slice(1,7,2)]) #它等於 a[1:7:2], slice(stop), slice(start,stop), slice(start,stop,step)

a[1:2]=[1,2,3,4,5,6] #爲指定的切片賦值時,左右兩邊的個數可以不相同

a.append(8);
a.append([9,10]) #append一次只增加一個元素,這裏會變成一個二維數據
a.extend([9,10]) #如果要一次性加多個元素,可以使用extend
a.insert(3,8) #索引爲3的位置插8
a.insert(len(a),8) #相當於append

a.remove(5) # remove(value)
a.pop(3) # pop(index),一次只刪除一個元素,不指定索引的話,會刪除最後一個元素。
del a[2]
a.clear() #清空所有元素

L1=[1,2];L2=[3,4];print(L1+L2); #[1,2,3,4]
L1=[1,2];L3 =L1*3;print(L3); #[1,2,1,2,1,2]

[2,3,8,6,7]< [2,3,,9,5,1] # true, 從左到右開始比較,相等繼續比較,不相等時比較,後續的不再比較

a.reverse() #列表翻轉,它等於reversed(a)

a.sort(); #升序 a.sort(reverse = True) #降序; sorted(a); sorted(a, reverse =True)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章