python基礎學習筆記(一)

兩千個祕密發表於2018-10-16

最好有點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

相關文章