python學習筆記(一)

python學習筆記-基礎語法

一、多行語句

  • 反斜槓 \ 實現
  • [], {}, () 不需要 \
  • 使用"""…""" 或者’’’…’’’

二、對象類型

在 python 中,類型屬於對象,變量沒有類型,變量只是一個對象的引用(指針)
類型可不可變,取決於變量指向對象的指針有沒有變!

  • Number(不可變): int、bool1、float、complex(複數)
  • String(不可變): 字符串不能被改變;轉義符 \ ,使用r可以讓反斜槓不發生轉義;* 運算符表示重複;截取:變量[頭下標:尾下標:步長],從左往右以0開始,從右往左以-1開始
  • List(可變):a=[1,2];列表元素類型可以不同;截取變量[頭下標:尾下標]
  • Tuple(不可變):
a=(1,2);
tup1 = ()    # 空元組
tup2 = (20,) # 一個元素,需要在元素後添加逗號
tup3 = "a", "b", "c", "d"   # 不需要括號也可以
  • Set(可變):基本功能是進行成員關係測試和刪除重複元素;可以進行集合運算:-(差集)、|(並集)、&(交集)、^(兩個集合中不同時存在)
#創建集合的兩種方法,創建一個空集合必須用 set() ,print(集合)會去重。
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
num=set('abcdef')
  • Dictionary(可變):列表是有序的對象集合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
#鍵值是字符串,必須加引號
dict={}  #創建空字典
dict["name"]="yola"
dict["age"]=18
print(dict.keys())  #輸出所有鍵
print(dict.values())  #輸出所有值

三、基礎知識

  • input(“提示文字”) #用戶輸入後,回車鍵退出
  • 同一行多條語句用 ; 分隔
  • 首行、代碼組、子句
  • print默認換行輸出,不換行可以這麼寫:print( x, end="" )
  • 導入整個模塊:import somemodule
  • 導入模塊中的某個函數:from somemodule import firstfunc, secondfunc
  • 算數運算符:+、-、*、/、% 取餘、// 向下取整、** 冪次方
  • 比較運算符:==、!=、>、<、>=、<=
  • 賦值運算符:=、+=、-=、*=、/=、%=、**=、//=
  • 位運算符:把數字看作二進制來進行計算,&、|、^、~、<<、>>
  • 邏輯運算符:and、or、not
  • 成員運算符:in、not in
  • 身份運算符:is、is not,判斷兩個標識符是不是引用自一個對象,相當於id(x) == id(y)、 id(a) != id(b),id() 函數用於獲取對象內存地址。
  • 運算符優先級,高——>低
運算符
**
* / % //
+ -
>> <<
&
^
<= < > >=
<> == !=
= %= /= //= -= += *= **=
is is not
in not in
and or not

四、變量

Python 中的變量不需要聲明。每個變量在使用前都必須賦值,變量賦值以後該變量纔會被創建。

在 Python 中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內存中對象的類型。

  • 變量賦值:a = 1 或 a = b = c = 1 或 a, b, c = 1, 2, “runoob”

五、語法

  • 判斷變量類型-輸出類型
In [14]: a='hello'                                                                                                                                                                                          
In [15]: print(type(a))                                                                                                                                                                                     
<class 'str'>
  • 判斷變量類型-輸出布爾值
In [18]: isinstance(a,str)                                                                                                                                                                                  
Out[18]: True
  • 刪除單個或多個對象
In [19]: del a,b
  • 字符串
# %s字符串,%d整數, %f浮點數,%.2f兩位浮點數,'%%'輸出一個單一的'%'
print ("我叫 %s 今年 %d 歲!" % ('小明', 10))
str.rjust(10,'*') #參數爲包括填充符的總長度,以及填充符。此外還有 ljust() 和 center()
str.format() # {位置:數字格式化格式}代替%,參數可以是字符串、列表、字典、對象等。
"{1} {0} {1}".format("hello", "world")
"{:.2f}".format(3.1415926)
"{} 對應的位置是 {{0}}".format("runoob") # {}轉義{}
var1 = 'Hello World!'
var1[0]
var1[1:5]
var1*2 #重複
'H' in var1  #返回True/False 
'M' not in var1
#字符串內建函數
var1.capitalize() #首字母大寫
var1.count('lo', beg= 0,end=len(string)) #'lo'出現的次數,可以指定搜索區間
var1.find('lo',beg= 0,end=len(string)) #有的話返回開始的索引值,否則返回-1
var1.index('lo', beg=0, end=len(string)) #同find,but沒有的話報異常
var1.isalnum() #至少有一個字符並且所有字符都是字母或數字則返 回 True,否則返回 False
var1.isalpha() #至少有一個字符並且所有字符都是字母則返回 True, 否則返回 False
var1.isdigit() #只包含數字則返回 True 否則返回 False
var1.isnumeric() #同上
var1.islower() #所有可區分大小寫的字符都是小寫,則返回 True,否則返回 False
var1.isupper()
var1.isspace() #只包含空白,則返回 True,否則返回 False.
len(var1)
var1.split(str="o", num) #對字符串進行分裂,可以指定分隔符、分隔次數
s1 = "-"
seq = ("r", "u", "n", "o", "o", "b") 
s1.join(seq)  # 輸出r-u-n-o-o-b

  • 訪問、修改列表元素
list = ['Google', 'Runoob', 1997, 2000]
list[0]
list[1:5]
list[2] = 2001  #修改第三個元素的值,append()方法
del list[2] #根據索引刪除第三個元素,remove()方法根據值刪元素
len(list)
max(list)
min(list)
list(seq) #元組轉換爲列表
'2000' in list #返回True/False 
for x in [1, 2, 3]: print(x, end="")  #迭代
list*4  #重複
list.append('happy') #列表末尾添加新的對象
list.count('Google') #某個元素在列表中出現的次數
list.extend(seq) #列表末尾一次性追加另一個序列中的多個值
list.index('Google') #找出某個值第一個匹配項的索引
list.insert(2, 'Baidu')  #指定索引插入元素
list.pop(2) #移除列表中的一個元素(默認最後一個元素),並且返回該元素的值
list.remove('happy') #移除某個值的第一個匹配項
list.reverse() #反向列表中元素
list.sort(cmp=None, key=None, reverse=False) #排序
list.clear()  #清空
list.copy()  #複製
  • 訪問、修改集合元素
#沒有*重複操作符
s={'apple', 'orange'}
s.add('banana')  #如果元素已存在,則不進行任何操作
s.update([1],[2,3])  #update也可以增加元素,參數可以是列表,元組,字典等
s.remove('apple') #元素不存在則會報錯
s.discard('orange') #元素不存在不會報錯
s.pop() #隨機刪除一個元素,交互模式,pop 是刪除集合排序後的第一個元素
len(s) #集合元素個數
s.clear() #清空集合
banana in s  #返回True/False
  • 元組
#元組不能對其中對元素增、刪、改,但可以刪除整個元組
tup = ('Google', 'Runoob', 1997, 2000)
tup[0]
tup[1:5]
del tup #刪除
len(tup)
max(tup)
min(tup)
tuple(list) #列表轉元組
tup*2 #重複
1997 in tup
for x in (1, 2, 3): print (x,) #迭代
  • 字典
#key必須唯一且不可變
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
dict([('Name': 'Runoob'), ( 'Age': 7), ( 'Class': 'First')])
dict(Name='Runoob', Age=7, Class='First') #當鍵值只是簡單的字符串時用
dict['Name'] 
dict.get('Name') #返回指定鍵的值,如果值不在字典中返回默認值None
dict['Name'] = 'Hello' #修改值
dict['School'] = 'yel' #新增
del dict['Name'] #刪除鍵 'Name'
del dict #刪除字典
dict.clear() #清空字典
dict.pop('鍵值') #刪除給定鍵值對鍵值對
dict.popitem() #隨機刪除一個鍵值對
dict.keys() #返回key,可以用list轉化爲列表
dict.values()
dict. items() #返回可遍歷的(鍵, 值) 元組數組。
Name in dict

  1. 在 Python2 中是沒有布爾型的,它用數字 0 表示 False,用 1 表示 True。到 Python3 中,把 True 和 False 定義成關鍵字了,但它們的值還是 1 和 0,它們可以和數字相加。 ↩︎

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