最好有點c++基礎來看,,每天都更新一篇吧
這一篇是一些基礎東西
1.運算子
2.變數
3.基本輸入輸出
4.字串
5.列表
6.元組
7.字典
8.集合
9.簡單的說下迴圈啥的
1.運算子
特別的
a / b:為浮點數,a // b 為整數,丟棄小數部分 a**b 為a的b次方
還有 c // = a,c ** = a;
python 中沒有 &&, ||, !
分別為 如 if(a and b) ,if(a or b) if( not a),
and ,or , not來代替
其中還有 in 和 not in
可以在字串,列表或元組序列中使用 直接查詢是否存在
還有is 和 is not 顧名思義
2.變數
不必宣告變數型別 直接 比如 x = 3即可
改變的時候也可以直接轉換
x = `a` y = `b` print(x) print(y) x = 1 y = 2 print(x) print(y)
3.基本輸入輸出
輸入用input
x = input("x:") y = input("y:") #print(x * y) 則錯誤 ,因為輸入的內容是以字串的形式返回的,應該轉換成int型 print(int(x) * int(y))
輸入不區別單引號和雙引號
print(`hello
runoob`) # 使用反斜槓()+n轉義特殊字元
print(r`hello
runoob`) # 在字串前面新增一個 r,表示原始字串,不會發生轉義”””
或者
寫成 \n 其中 \ 表示
# 換行輸出 print( x ) print( y ) print(`---------`) # 不換行輸出 print( x, end=" " )#表示末尾為空格 print( y, end=" " ) print()```
print用,連線字串和變數
x = "aaaa" print("x:" ,x)
4.字串
str = "wangpeibing" print(str) print(str[0:-1]) print(str[0]) print(str[2:5])#擷取 print(str[2:])#第二個字元到最後 print(str*2)#輸出兩次 print(str+"你好")#連線
可以有查詢
if("wang" in str): print(1)
字串的格式化:就是類似於c語言的表達形式
print("My name is %s and weight is %d kg!" % (`peibing`, 21) )
5.列表
類似c語言陣列,有下標。特徵是中括號,也有切片,,類似字串
a = [1,2,3] b = [4 ,5 ,6] print(a + b)#連線 print(len(a))#長度 print(a*4)
del a[0]#刪除第一個元素 print(a[-1])#倒數第一個 print(3 in a) for i in a :#迴圈迭代輸出 print(i)
還可以巢狀
c = [a,b] #巢狀 類似於二維陣列 print(c) print(c[1][0])
一些常用方法
max(a)#列表最大值 min(a)#列表最小值 list.append(1)#a的末尾新增1 list.count(1)#a中統計出現1次數 list.index(1)#從列表中找出某個值第一個匹配項的索引位置 list.insert(下標,obj)#將物件插入列表,obj自己定義 list.pop([index=-1]])#移除列表中的一個元素(預設最後一個元素),並且返回該元素的值 list.remove(obj)#移除列表中某個值的第一個匹配項 list.reverse()#反向列表中元素 list.clear()#清空列表 list.copy()#複製列表
sort,sort 方法不適合 int 和 str 型別的比較。
#list.sort(cmp=None, key=None, reverse=False)#對原列表進行排序 #reverse = True 降序, reverse = False 升序(預設) # 獲取列表的第二個元素 def takeSecond(elem):#函式 return elem[1] # 列表 random = [(2, 2), (3, 4), (4, 1), (1, 3)] # 指定第二個元素排序 random.sort(key=takeSecond) # 輸出類別 print(`排序列表:`, random)
list=[ ["1","c++","demo"], ["1","c","test"], ["2","java",""], ["8","golang","google"], ["4","python","gil"], ["5","swift","apple"] ] list.sort(key=lambda ele:ele[0])# 根據第1個元素排序 print(list) list.sort(key=lambda ele:ele[1]) #先根據第2個元素排序 print(list) list.sort(key=lambda ele:ele[1]+ele[0]) #先根據第2個元素排序,再根據第1個元素排序 print(list)
6.元組
元組和列表差不多 特點是不能修改,小括號啊
只有一個元素要加,
>>>tup1 = (50) >>> type(tup1) # 不加逗號,型別為整型 <class `int`> >>> tup1 = (50,) >>> type(tup1) # 加上逗號,型別為元組 <class `tuple`>
刪除的話要麼全部刪除,要不就不能刪
其他的方法都和列表 差不多
list(元組) 將元組轉化成列表 tuple(列表) 將列表轉化成元組
7.字典
理解為c++中的map。特點是大括號,每一個鍵都對應這鍵值
dict = {`Name`: `Runoob`, `Age`: 7, `Class`: `First`} print ("dict[`Name`]: ", dict[`Name`]) print ("dict[`Age`]: ", dict[`Age`]) dict[`Name`] = `peibing` #修改相應的鍵值 del dict[`Name`] # 刪除鍵 `Name` dict.clear() # 清空字典 del dict # 刪除字典
注意 鍵必須不可變,所以可以用數字,字串或元組充當,而用列表就不行,
一些方法
求長度 len(dict) 為3
顯示 str(dict)
判斷型別type(dict)
8.集合
和c++的set差不多,主要是去重
可以使用大括號 { } 或者 set() 函式建立集合,注意:建立一個空集合必須用 set() 而不是 { },因為 { } 是用來建立一個空字典。
a = {`abracadabra`}#這時候set裡面有一個字串的值 print (type(a)) print(a) a = set(`abracadabra`)#這時候給他規定為這個set裡依次存放了這個字串的字元 print (type(a)) print(a)
>>> a = set(`abracadabra`) >>> b = set(`alacazam`) >>> a {`a`, `r`, `b`, `c`, `d`} >>> a - b # 集合a中包含元素 {`r`, `d`, `b`} >>> a | b # 集合a或b中包含的所有元素 {`a`, `c`, `r`, `d`, `b`, `m`, `z`, `l`} >>> a & b # 集合a和b中都包含了的元素 {`a`, `c`} >>> a ^ b # 不同時包含於a和b的元素 {`r`, `d`, `b`, `m`, `z`, `l`}
>>>thisset = set(("Google", "Runoob", "Taobao", "Facebook")) >>> thisset.pop() `Facebook` >>> print(thisset) {`Google`, `Taobao`, `Runoob`}
9.簡單的說下迴圈啥的
有while 和for兩個,基本用法都和c差不多,包括break和continue,先看while
i = 1 while i < 10: i += 1 if i%2 > 0: continue print i i = 1 while 1: # 迴圈條件為1必定成立 print i # 輸出1~10 i += 1 if i > 10: # 當i大於10時跳出迴圈 break
有c++基礎的應該不難看懂,注意這個沒有大括號,是通過縮排和一些 : 來判別的
接下來是for迴圈
可以是
fruits = [`banana`, `apple`, `mango`] for fruit in fruits: # 第二個例項 print (當前水果 :`, fruit)
也可以是
fruits = [`banana`, `apple`, `mango`] for index in range(len(fruits)): print (`當前水果 :`, fruits[index])
range返回一個序列的數。
for num in range(10,20): # 迭代 10 到 20 之間的數字 for i in range(2,num): # 根據因子迭代 if num%i == 0: # 確定第一個因子 j=num/i # 計算第二個因子 print (`%d 等於 %d * %d` % (num,i,j)) break # 跳出當前迴圈 else: # 迴圈的 else 部分 print (num, `是一個質數`)
else if 在python中寫成elif