python學習(一)

學習資源:https://www.bilibili.com/video/av4050443 python編程:從入門到實踐

環境:win10+vscode +Anaconda(python3.7)

一、遇到問題

1.CMD中無法無法查的python版本 並跳轉微軟商店

解決方法:修改環境變量 系統變量中將安裝的python優先級提前

二、學習筆記

1."與’的區別

(https://blog.csdn.net/kevindree/article/details/86796664)
兩者沒有區別,都可以用來表示一個字符串。但可以通過單雙混合使用,可以減少轉義字符

my_str1 = 'I\'m a student'
my_str2 = "I'm a student"
print(my_str1)
print(my_str2)
————————————————————下方爲輸出結果————————————————————
I'm a student
I'm a student
兩者結果都爲I'm a student
my_str1 = "Jason said \"I like you\""
my_str2 = 'Jason said "I like you"'
print(my_str1)
print(my_str2)
————————————————————下方爲輸出結果————————————————————
Jason said "I like you" 
Jason said "I like you" 
結果都爲 Jason said "I like you"  

2.(&,|)和(and,or)之間的區別

https://blog.csdn.net/weixin_40041218/article/details/80868521

2.1數值變量

&、|分別表示按位與、按位或

1 & 2         # 輸出爲0
1 | 2         # 輸出爲3

and有0反0,無0反第二個數
or 返回第一個非0數

# 判斷變量是否爲0, 是0則爲False,非0判斷爲True,
# and中含0,返回0; 均爲非0時,返回後一個值, 
2 and 0   # 返回0
2 and 1   # 返回1
1 and 2   # 返回2

# or中, 至少有一個非0時,返回第一個非0,
2 or 0   # 返回2
2 or 1   # 返回2
0 or 1   # 返回1 

2.2邏輯變量

兩者基本一致

In[103]:(3>0) | (3<1)
Out[103]: True
In[104]:(3>0) and (3<1)
Out[104]: False
In[105]:(3>0) or (3<1)
Out[105]: True
In[106]:(3>0) & (3<1)
Out[106]: False

注意事項: x and y 中 ,x爲false則不會計算y 等同 |

3.python語句中的 end=’'用法

結合程序講解:

原程序

temp= input("請輸入一個整數 :") 
number =int(temp) 
while number: 
     i = number - 1 
     while i: 
          print(' ',end ='') 
          i = i - 1 
     j = number 
     while j: 
          print('*', end = '') 
          j = j - 1 
     print() 
     number = number - 1 
————————————————————下方爲輸出結果————————————————————
請輸入一個整數 :5
    *****
   ****
  ***
 **
*

將print(’ ‘,end =’’)改爲 print(’ ')後 此時每個print函數在字符串末尾添加一個換行符

temp= input(" 請輸入一個整數 :") 
number =int(temp) 
while number: 
     i = number - 1 
     while i: 
          print(' ') #此處發生了變化
          i = i - 1 
     j = number 
     while j: 
          print('*', end = '') 
          j = j - 1 
     print() 
     number = number - 1 
請輸入一個整數 :5
 
 


*****



****


***

**
*
 
#若把print(' ')換成print('1') 更爲明顯
 請輸入一個整數 :5
1
1
1
1
*****
1
1
1
****
1
1
***
1
**
*

end =’‘的位置 print(’ ‘,‘1’,end =’’) 並調換三者之間的關係 (無影響,但注意格式,end =’'前面加,後面加+)

print(' ','1',end ='') 
————————————————————下方爲輸出結果————————————————————
 請輸入一個整數 :5
  1  1  1  1*****
  1  1  1****
  1  1***
  1**
*
#其中,經過print之後顯示爲” “(空格) print('The quick brown fox', 'jumps over', 'the lazy dog')
爲The quick brown fox jumps over the lazy dog


print(end =''+' '+'1') 
print(' ' ,end =''+'1') 
————————————————————下方爲輸出結果————————————————————
均爲:
 請輸入一個整數 :5
 1 1 1 1*****
 1 1 1****
 1 1***
 1**
*

print(end =''' ','1')  #錯誤

print(end ='5'+' '+'1')
————————————————————下方爲輸出結果————————————————————  
 請輸入一個整數 :5
5 15 15 15 1*****
5 15 15 1****
5 15 1***
5 1**
*

4.字符串轉換()

在這裏插入圖片描述
浮點型轉化爲整數,直接截斷處理,去掉小數點後面的 5.99——>5

str float int 可定義爲變量 str=”“ 但完全不建議

切記int()只能轉化由純數字組成的字符串

a ="520"#字符串
b =int (a)
c=float(b)
print(b+c)
————————————————————下方爲輸出結果————————————————————
1040.0

a ="520.9" #字符串
b =int(a)#切記int()只能轉化由純數字組成的字符串
c=float(b)
print(b+c)
————————————————————下方爲輸出結果———————————————————— 
報錯  發生異常: ValueError
invalid literal for int() with base 10: '520.9'

a ="520.9" #字符串
c=float(a)
b =int(c)
print(b+c)
————————————————————下方爲輸出結果———————————————————— 
1040.9

type() 函數如果你只有第一個參數則返回對象的類型,三個參數返回新的類型對象(暫不深究)。
isinstance() 函數來判斷一個對象是否是一個已知的類型
isinstance(320.25,bool) 判斷類型是否一致

5.python運算符

https://www.runoob.com/python/python-operators.html#ysf4

注意:python2與python3存在不一樣的地方

python3中 /正常除法 10/8=1.25 “//”表示地板除法

python2中 / 地板除法 10/8 =1

3**5=3^5

-32=-(3 ** 2)=-9 3-2=3**(-2)=0.11111111111111

not or and 的優先級是不同的: not > and > or (直接用括號)

在這裏插入圖片描述

6.分支和循環(8-10)

x,y,z="五五開","white","馬飛飛"
盧本偉=x if x == y else z
print(盧本偉)
————————————————————下方爲輸出結果————————————————————
馬飛飛
#結果爲馬飛飛 if 後面的判斷句,正確爲x,錯誤爲z

assert 斷言 在其自殺前將其擊斃 可當作檢查點
Python assert(斷言)用於判斷一個表達式,在表達式條件爲 false 的時候觸發異常。
x,y,z互換 :x, y, z = z, y, x

for i in range(0, 10, 2): 從0到小於10 每次跳2 0,2,4,6,8

Python 字典 in 操作符用於判斷鍵是否存在於字典中,如果鍵在字典 dict 裏返回 true,否則返回 false。

而 not in 操作符剛好相反,如果鍵在字典 dict 裏返回 false,否則返回 true。

break continue

7.列表(11-13)

7.1列表中插入

append #每次只能加一個

member=['盧本偉','white']
print(member)
print(len(member))
member.append('五五開')
print(member)
print(len(member))
————————————————————下方爲輸出結果————————————————————
['盧本偉', 'white']
2
['盧本偉', 'white', '五五開']
3

extend #可插入列表 即[]

extend() 函數用於在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)

member=['盧本偉','white']
member.extend(['五五開',"盧本偉牛逼"])
print(member)
print(len(member))
————————————————————下方爲輸出結果————————————————————
['盧本偉', 'white', '五五開', '盧本偉牛逼']
4

insert #從指定位置或0開始 插入

insert() 函數用於將指定對象插入列表的指定位置,無返回值
list.insert(index, obj)
index – 對象 obj 需要插入的索引位置。(插完後 在index處指向obj)
obj – 要插入列表中的對象。

7.2列表中刪除

remove(‘’)查找並刪除 只刪除第一個

member=['盧本偉牛逼','盧本偉牛逼','盧本偉牛逼','五五開牛逼','五五開牛逼','痛苦呀馬飛飛']
member.remove('盧本偉牛逼')
print(member)
————————————————————下方爲輸出結果————————————————————
['盧本偉牛逼', '盧本偉牛逼', '五五開牛逼', '五五開牛逼', '痛苦呀馬飛飛']
#只刪除找到的第一個

在這裏插入圖片描述

del[] 刪除第幾個

member=['盧本偉牛逼','五五開牛逼','盧本偉牛逼','盧本偉牛逼','五五開牛逼','痛苦呀馬飛飛']
del member[2]
print(member)
del member #全部刪除
————————————————————下方爲輸出結果————————————————————
['盧本偉牛逼', '五五開牛逼', '盧本偉牛逼', '五五開牛逼', '痛苦呀馬飛飛']

pop() 取出最後一個並刪除 而且返回值

7.3列表分片

member[a:b] 從a到b且不包含b

在這裏插入圖片描述
member2=member #指針方式指向

member2=member[]
下面着重講解[]與直接賦值的區別

member=['盧本偉牛逼','五五開牛逼','盧本偉牛逼','盧本偉牛逼','五五開牛逼','痛苦呀馬飛飛']
member2= member[:]#不受member修改影響
member3= member
del member[1]#刪除
print(member2)#不受member修改影響
print(member3)#受影響
del member    
print(member2)
print(member3)#此時已經沒有了member  無影響
————————————————————下方爲輸出結果————————————————————
['盧本偉牛逼', '五五開牛逼', '盧本偉牛逼', '盧本偉牛逼', '五五開牛逼', '痛苦呀馬飛飛']#member2
['盧本偉牛逼', '盧本偉牛逼', '盧本偉牛逼', '五五開牛逼', '痛苦呀馬飛飛']#member3
['盧本偉牛逼', '五五開牛逼', '盧本偉牛逼', '盧本偉牛逼', '五五開牛逼', '痛苦呀馬飛飛']
['盧本偉牛逼', '盧本偉牛逼', '盧本偉牛逼', '五五開牛逼', '痛苦呀馬飛飛']

————————————————————以地址的形式看下之間的變化————————————————————
old = [1, 2, 3, 4, 5] 
new = old 
print(id(new))  #2405817776456
print(id(old))  #2405817776456
old = [6] 
   
print(id(new))  #2405817776456
print(id(old))  #2405834175048
print(new)   
print(old)  
————————————————————下方爲輸出結果————————————————————
2405817776456
2405817776456
2405817776456
2405834175048
[1, 2, 3, 4, 5]
[6]

由上面可得:重新賦值時,地址會發生改變

7.4列表中的比較操作符

依次比較

list1=[123,456]
list2=[234,456]
print(list1<list2)
————————————————————下方爲輸出結果————————————————————
True

列表可拼合、重複

在這裏插入圖片描述

用in判斷列表中的列表

在這裏插入圖片描述

常見列表的內置函數

list.count(a)      a在list中出現了多少次
list.index (a,b,c)  在list[b,c]中第一次出現a的位置 含b不含c
list.reverse()     前後反轉
list.sort()      默認從小到大排, sort(revers=True) 反着來
list.copy()    方法更使用切片拷貝是一樣的,即地址會發生改變
list.clear()    清空列表,但列表仍存在
在這裏插入圖片描述
​​​​​​​​在這裏插入圖片描述

發佈了12 篇原創文章 · 獲贊 0 · 訪問量 6996
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章