Python基本語法1(基礎知識)
1、將Python當成計算器
直接在裡面使用+,-,*,/即可,取整數//,求餘%
2、賦值
width=20
i=j=k=0
a,b=0,1
賦值後計算:width+i
3、字串
單引號和雙引號混合使用' "yes,", she said.'這樣可以直接轉移裡面的雙引號進行顯示,外面使用雙引號,裡面使用單引號也可以。
也可以使用\進行轉義。可以使用+進行連線字串。也可以類似於陣列進行取值。使用“”“三個雙引號表示裡面所有的值都是直接顯示出來了的。不管是斜槓還是引號
word="help"
word[0]的值為'h'
word[0:2]的值為'he'。同時也支援負數操作和邊界判斷
word[0:100]值仍然為hello,不會越界
word[-1]即p
word[-0]即word[0]
字串取值是隻讀的,如word[0]='w'是不能執行的
如果要改變值,只能進行賦值一份拷貝出來再進行操作
len(word)取值長度,此處大小為4
字串格式化%前面為格式,後面為內容
str1="abcd %s,%d" % ("efg", 5)
4、列表
類似於list,字串中已經使用了部分,裡面可以容納任意值,可以通過list("abc")進行賦值
可以通過append,del等對裡面資料進行操作
array=[1,2,"a",4,5]
取某一個值array[1]為2
取一段值array[1:3]為[2,"a"],也可以array[1:]為[2,"a",4,5],array[:2]為[1,2]
修改元素的值
array[1] = 5
array[0:2]=[1,2]
刪除
array[0:2]=[]
刪除所有
array[:]=[]
同樣可以使用len:len(array)
允許巢狀
array2=[1,2,array,4,5]
array2[2][2]就是'a'了
array[2].append('b')在array最後面追加資訊
4.2、元組
不可變序列,不能修改,新增,刪除元素
array3=(1,2,3),也可以由tuple("abc")建立
一個值得元組
array3=(1,)
4.3、型別轉換
int("e", 16),e是16進位制,轉換成int型別
int("11",2),“11”是2進位制,轉換成int型別
str(123),123轉換成字串
5、語句
python沒有大括號,對齊的語句就是值並列的,縮排的語句就是表示是它的子語句,while等語句後面都需要加:
5.1 while語句
a,b=0,1
while b < 10:
print(b) // 屬於while的子語句,縮排
a,b=b,a+b // 屬於while的子語句,縮排
5.2 if語句
x=int(input("input x: "))
if x<0:
x=0 // 縮排
print("error") // 縮排
elif x==0: // 與if並列
print("zero")
elif x==1:
print("one")
else:
print("more")
5.3 for語句
for x in array:
print("x is ", x)
5.4 range函式
range(5,10)即表示5~9的資料
rang(0,10,3)即表示0,3,6,9
range(6)即表示0,1,2,3,4,5
for i in range(len(array):
print(i, array[i]) #遍歷
5.5 break和continue語句
5.6 pass語句
表示什麼也不做,後面是沒有冒號的,continue和break也沒有冒號的
6 函式
6.1、函式呼叫
def fib(n): #記得冒號
a,b=0,1 #記得縮排
while a < n:
print(a, end=' ')
a,b=b,a+b
print()
呼叫函式
fib(1000)
也可以增加返回值
def fib(n): #記得冒號
a,b=0,1 #記得縮排
result[]
while a < n:
reult.append(a)
a,b=b,a+b
return result
列印輸出值
fib100 = fib(100)
fib100即可
或則print(fib(100))也可以
不帶有return的返回值是None
6.2、函式引數
預設引數
def parrot(a1,a2='a2',a3='a3')
呼叫方法
parrot(10)
parrot(a1=10)
parrot(a2='aaa2',a1=200)
parrot(10,'aaa20','aaaa30')
設定一個必選引數,可選引數可以順序排列,也可以通過引數名稱進行指定
但是型別必須要匹配的,a2的值不能用int賦值
6.3複雜引數
*name 表示一元引數,可以接受變長的字元
**name表示二元引數
如
def concat(*arguments, sep='/')
for arg in arguments:
print(arg)
return sep.join(arguments)
呼叫concat("a1","a2","a3", sep='.')
輸出結果
a1
a2
a3
a1.a2.a3
*name和**name的拆分形式
list(range(3,6))結果為3,4,5
args=[3,6]
我們可以使用list(range(*rags))即可
6.4 Lambda形參
通過Lambda建立短小的匿名函式
def make_in(n):
return lamdba x: x+n
使用
f=make_in(10)
f(100)表示100+10,n初始化為10,x初始化為100,然後加上n賦值給x
7、其它關鍵字及函式
input:接收輸入,輸入型別為數字,就賦值為數字了
raw_input:接收輸入,輸入型別轉換為string
len,min,max,cmp等基本函式
None
in
list
tuple