python語法
TIPS:本文適合有一定編程語言基礎的人快速復習python基本語法
python的IO:
- 基礎input
a=input()
:默認輸入
- 基礎output
print()
:默認輸出- 默認換行
- 參數
end=""
控制字母之間的距離,可以理解為默認為換行符,修改后就不會自動換行
python字符串
- 三種定義:
'A',''A'','''A'''
前兩種沒有任何區別,python沒有字符類型,第三種可以換行輸入字符 - 字符串的索引:
str[start:stop:step]
“范圍索引”,這是python的特色
- 字符串的格式化
message="%.2f+%s"%(n1,n1)
注意還有一個 % 作為分隔
python的運算符
- 成員運算符:返回bool
list=[1,2,3,4,5,6,8]if 7 in list:print("yes!")else:print("no!")if 7 not in list:print("yes!")else:print("no!")
- 身份運算符 :比較數據類型,返回bool
a=20
b=20#等價于C++ typeid(a)=typeid(b)
if a is b:print("yes!")
else:print("no!")
- Python邏輯運算符
&&-and / ||-or / !-not
if 1+1==2 and 1>2:print("yes!")
else:print("no!")
- 除法運算符:
3//2=1
整除,返回整數3/2=1.5
浮點數除法,返回浮點數
python循環
for i in range(10):#
while(i<10):#
- python的for和while循環可以加else語句,在不break的情況下自動執行一次
- 其他與C++完全一致
-
range函數
- 生成整數序列,可用于生成列表!
range(stop)
默認是結束范圍(不包括)range(start,stop,step)
默認左閉右開,step是步長
-
random函數
import random
導入random包- 類內靜態函數
分別有生成隨機整數和隨機浮點數的靜態方式random.random()
默認生成[0,1)浮點數random.randint(1,100)
生成指定范圍的隨機整數random.uniform(0.01,1e+9)
生成指定范圍的隨機浮點數
print(random.random()*10)
print(random.randint(1,100))#分別生成指定的整數和浮點數
print(random.uniform(0.01,1e+9))
print(random.randrange(0,100,3))#在一個按步長遞增的集合里隨機選元素
python列表
- 基本操作
- 直接初始化:
- 循環初始化:
[i for i in range(10)]
- 范圍索引:
[1:4:2]
和[-1]
python數組的下標可以是負數 list3=list1*4
:倍增列表list3=list1+list2
:拼接列表list1.append(1)
:添加元素del list1[2]
:刪除元素 注意這個操作不是類內操作,而是腳本操作del list
:刪除列表
tuple元組
- 類似于列表,可以是n元組,但是不可以修改元素
- 基本操作
tup=(a,b,c)
:初始化del tup
:刪除元組del tup[2]
:錯誤的,不能夠修改元素
python字典
key:value
:基本數據類型,key必須是不可變對象- 基本操作:
len(d)
:長度d.get(key)
:尋找鍵為key的元素,類似于C++map的map.find(key)
d.values()
:返回所有值d.clear()
:清空元素
python的函數
- python的函數參數類型分為可變對象和不可變對象
- 可變對象默認是引用傳遞,不可變對象默認是值傳遞,與C++和Java最大的區別
- python的函數參數類型推導是動態的,所以只需要定義變量即可
- 可以在變量旁加上
a:int
作注釋,不影響解釋器
- 可以在變量旁加上
def f(n:int):if n==0:return 1else: return n*f(n-1)
#這段代碼不改變傳入參數的值def h(list4):list4.append(5)return list4
#這段代碼改變傳入參數的值
python的模塊
import support
:導入python文件,類似C++的頭文件import support.xxx
:導入support下具體某個方法或類from numpy import xxx
:導入numpy內下的特定文件from numpy import *
:導入numpy整個庫,類似Java