day2_Python_基礎_Pycharm常用設置、數據類型、條件判斷、循環


 

1 Python簡介

  • python應用用途:寫代碼幫你測試、網絡爬蟲、數據分析、web開發、人工智能、自動化運維、自動化測試、嵌入式開發、黑客
  • python特點:第三方庫特別多,安裝后即可使用。所以python上手比較容易(eg.xpin模塊,將中文轉換成拼音)
  • 自動化測試主流開發語言:java、python(自動化測試開發語言與被測系統的開發語言沒有關系)。python不是腳本語言。腳本語言是比較單一
  • 主流開發語言:java、python、php、ruby
  • 開發語言分為:
    • 編譯型語言:編譯型語言,在運行代碼之前,首先將源代碼編譯生成機器語言,再由機器運行機器碼二進制)。eg. c/c++/c#。
    • 解釋型語言:相對於編譯型語言存在的,源代碼不是直接翻譯成機器語言,而是先翻譯成中間代碼,再由解釋器對中間代碼進行解釋運行。運行效率沒有編譯型語言快。eg. Python/JavaScript /ruby/Perl /Shell等都是解釋型語言。
  • Python版本:2.x 及3.x,現在基本用3.x

2 Python安裝

  • 下載安裝包,windows下直接傻瓜式安裝

 

  • 配置環境變量:python.exe路徑

  • python執行:
    • pycharm工具:可以自動補全命令,推薦使用。

 

    • pycharm交互式:快速運行。可用於調試。

 

    • 交互式編輯工具:自帶的Idle.exe。特點:輸入代碼后回車,自動執行。沒有自動補全功能,不好用。了解即可。

  • 命令行模式:cmd輸入Python,直接編輯代碼。缺點也是不能自動被全命令,不好用。

 

3 Pycharm常用設置

3.1pycharm常用快捷鍵

  • Ctrl+Shift+F10 運行當前的頁面

    Ctrl + / 注釋(取消注釋)選擇的行 (加#號單行注釋,加3個單引號前后括起來實現多行注釋)

    Ctrl+Shift+F 高級查找

    Shift + Enter 開始新行

    TAB Shift+TAB 縮進/取消縮進所選擇的行

    Ctrl + Y 刪除當前插入符所在的行

    Ctrl + D 復制當前行、或者選擇的塊

    Ctrl + Shift + J 合並行

    Delete 刪除到字符結尾

    Backspace 刪除到字符的開始

    Ctrl + NumPad+/- 展開或者收縮代碼塊

    Ctrl + Shift + NumPad+ 展開所有的代碼塊

     標簽頁右鍵→Split Vertically  分屏顯示  

 

3.2pycharm常用調試

  • 在代碼行號處單擊,打斷點
  • 右鍵debug
  • 按如下按鈕執行下一步(或按F8),檢查變量值及執行的代碼行

 

4 Python基礎

 

4.1 python語法

  • tab縮進:Python以縮進來區分代碼塊。只要有冒號":",下一行代碼要加上縮進(可參考條件判斷案例)
  • 分號:python在代碼末尾可以不需要加分號";"
  • 等號:判斷符號中,需要使用2個等號”==“
  • 百分號:格式化用如%s,如果想表示百分號,每打一個百分號,需要2個百分號,如打印%%,需要寫%%%%

 

 

4.2 數據類型

  • int()--整型、str()--字符串、float()--小數、list--數組 
 

4.2.1 int

a // b 表示用a除以b,把小數位舍掉

  • 數據類型轉換:
 1 # input默認都是string類型,整型數字需要通過int(xxx)進行轉換
 2 age = input ('請輸入年齡:')
 3 print ('1',type(age))
 4 age = int (age)
 5 print ('2',type(age))
1 # 運行結果如下:
2 請輸入年齡:20
3 1 <class 'str'>
4 2 <class 'int'>
 

4.2.2 string

  • string格式化:
 1 # 格式化字符串:登錄成功提示
 2 import datetime
 3 user = 'zr'
 4 today = datetime.date.today()
 5 today = str(today)
 6 #1、+: 使用+號拼接,不推薦使用
 7 msg1 = '歡迎光臨'+user+',今天的日期是:'+today
 8 # 2、%s: 推薦使用,使用%s等占位。%s:格式化為字符串
 9 msg2 = '歡迎光臨%s,今天的日期是:%s\n' %(user,today)
10 # 3、format:推薦使用,使用{}占位。在參數值較多的情況下更直觀,不需要按順序賦值
11 msg3 = '歡迎光臨{name},今天的日期是:{date}\n'.format(date=today,name=user)
12 sql = 'insert into {} value {}:'.format('a1,','b2') # {}內可以為空,這種方式format是按順序賦值
13 d = {'name':'小黑','sex':'女'}
14 # 4、fomat_map: 與format的區別是format_map的參數是字典
15 words='名字:{name},性別:{sex}'.format_map(d)
16 print ('1=====',msg1)    #print后自動換行
17 print ('2=====',msg2*3)  #打印3遍,需要加\手動換行
18 print ('3=====',msg3)
19 print('4=====',sql)
20 print('5=====',words)
1 1===== 歡迎光臨zr,今天的日期是:2018-08-24
2 2===== 歡迎光臨zr,今天的日期是:2018-08-24
3 歡迎光臨zr,今天的日期是:2018-08-24
4 歡迎光臨zr,今天的日期是:2018-08-24
5 
6 3===== 歡迎光臨zr,今天的日期是:2018-08-24
7 
8 4===== insert into a1, value b2:
9 5===== 名字:小黑,性別:女

 

4.2.3 float

  • int、float格式化:
1 # 格式化數字:年齡分數提示
2 age = input('請輸入年齡:')
3 age1 = int (age)
4 score = input ('請輸入分數:')
5 score1 = float(score)
6 msg1 = '年齡是:%d,分數是:%.3f'%(age1,score1) # %d: 格式化成整型;%.2f :格式化為2位小數
7 msg2 = '年齡是:%s,分數是:%s'%(age1,score1)  # %s:可以顯示字符串、數字
8 print (msg1)
9 print (msg2)
1 # 運行結果如下:
2 請輸入年齡:20
3 請輸入分數:90.61
4 年齡是:20,分數是:90.610
5 年齡是:20,分數是:90.61
 

4.2.3 list(列表)

  • List(列表) 是 Python 中使用最頻繁的數據類型。列表是寫在方括號([ ])之間、用逗號分隔開的元素列表。

    列表可以完成大多數集合類的數據結構實現。列表中元素的類型可以不相同,它支持數字,字符串甚至可以包含列表(所謂嵌套)。

  • 特點:

1、List寫在方括號之間,元素用逗號隔開,下標從0開始。

2、和字符串一樣,list可以被索引和切片。

3、List可以使用+操作符進行拼接。

4、List中的元素是可以改變的。

  • 定義數組:
    • 一維數組:listname = ['value1','value2','valuen']
    • 二維數組:listname =[ [10,11,12],[20,21,22]],元素20的下標為listname[1][0]
    • 三維數組:listname =[[10,11,12],[20,21,22,23,[31,32,33],5],3],元素32的下標為listname[1][4][1]
 

4.2.4 dictionary(字典)

  • 字典(dictionary)是Python中另一個非常有用的內置數據類型。列表是有序的對象集合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
  • 字典是一種映射類型,字典用"{ }"標識,它是一個無序的鍵(key) : 值(value)對集合。鍵(key)必須使用不可變類型。在同一個字典中,鍵(key)必須是唯一的。
  • 特點:

1、字典是一種映射類型,它的元素是鍵值對。

2、字典的關鍵字必須為不可變類型,且不能重復。

3、創建空字典使用 { }

 

4.3 變量

  • 變量是存儲在內存中的值。

  • 定義變量:格式為key = value ,不需要聲明數據類型,python會自動識別數據類型。變量名只能是 字母、數字或下划線的任意組合。變量名的第一個字符不能是數字。
  • 批量定義變量:a,b,c,d=1,2,3,4      a=b=c=d=1
  • 以下關鍵字不能聲明為變量名

 

['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 
'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 
'try', 'while', 'with', 'yield']
  • 單引號與雙引號的使用:
    • 變量值中只包含單引號時,外部要用雙引號括起來。

 1 print ("I'm zr") 

    • 變量值中只包含雙引號時,外部要用單引號括起來。

 1 print ('肉肉長得很”帥”') 

    • 變量值中包含單引號及雙引號時,外部要用3個單引號括起來。

 1 print ('''I'm zr,肉肉長得很”帥”''') 

    • 3個單引號或者3個雙引號括起來,也可以實現多行注釋的效果

 

 1 '''
 2 import random
 3 num = random.randint(1,100) #隨機產生的數字
 4 print(num)
 5 #代碼都是從上到下運行
 6 count = 0
 7 while count<7:
 8     count+=1
 9     guess = input('請輸入一個數字:')
10     guess = int(guess) #轉成int類型
11     if guess>num:
12         print('猜大了')
13     elif guess==num:
14         print('恭喜你,猜對了')
15         break
16     else:
17         print('猜小了')
18 else:
19     print('錯誤次數過多')
20 '''

 

 

  • 輸入輸出: 
1 # 輸入輸出(只要是Input輸入的,都是string類型)
2 name = input('請輸入你的名字');
3 print (name);
 

4.4 條件判斷

  • 格式:if xxx: code  elif xxx: code   elif xxx:code  else: code  
  • 非空即真(if not username or not passwd  or not cpasswd: xxxxx  #username或passwd或cpasswd為空)
  • 非零即真 (if i: xxxxx  # i非0)
  • 常用的條件判斷符號:
    • 等於     ==
    • 大於          >
    • 小於          <
    • 大於等於  >=
    • 小於等於  <=
    • 不等於      !=,不能寫<>
    • 且      and,不能寫&&
    • 或            or
  • 常用的運算符
    • count +=1     (count = count+1)
    • count -=1      (count = count-1)
    • count *=1      (count = count*1)
    • count /=2      (count =count/2)
  • 基本嵌套條件判斷:
1 # if else
2 name = input ('請輸入名字:')
3 if name == "肉肉":
4     print ('你最帥!')
5 elif name == "小敏兒":
6     print ('你最美!')
7 else:
8     print ('哈哈哈!')
  •  嵌套條件判斷:
 1 # 嵌套條件判斷
 2 name = input ('請輸入名字:')
 3 age = input ('請輸入年齡:')
 4 age = int (age)
 5 if name == "肉肉":
 6     print ('你最帥!')
 7     if age > 30:
 8         print (age,'成熟魅力男!!')
 9 elif name == "小敏兒":
10     print ('你最美!')
11 else:
12     print ('哈哈哈!')
 

4.5 循環

  • break:立即結束循環,不管循環有沒有完成
  • continue:結束本次循環,繼續進行下一次循環
  • Python中的for、while循環都有一個可選的else分支(類似if語句和try語句那樣),在循環迭代正常完成之后執行。換句話說,如果我們不是除正常以外的其他方式退出循環,那么else分支將被執行。也就是在循環體內沒有break語句、沒有return語句,或者沒有異常出現。--引用https://www.cnblogs.com/gengcx/p/6707017.html
 

4.5.1 while 循環

  • while循環,要帶上計數器,如果使用continue,計數器不會累計,可能會產生死循環
  • while + break
 1 # while循環:猜數字游戲
 2 import random
 3 num = random.randint(1,100) # 隨機產生一個1~100的數字
 4 count = 0
 5 while count < 3:
 6     guess = input ('請輸入你猜的數字:')
 7     guess = int (guess);
 8     if guess == num:
 9         print ('猜中了')
10         break   #立即結束循環
11     elif guess > num:
12         print ('猜大了')
13     else:
14         print ('猜小了')
15     count = count +1
16 else:    #循環正常結束后,會執行
17     print ('GAME OVER,LOSED!!')
1 # 運行結果如下:
2 請輸入你猜的數字:8
3 猜小了
4 請輸入你猜的數字:30
5 猜小了
6 請輸入你猜的數字:56
7 猜大了
8 GAME OVER,LOSED!!
  • while + continue

1 # while循環猜數字游戲
 2 import random           #運行順序1
 3 num = random.randint(1,100)            #運行順序2 ,假設num=51
 4 count = 0           #運行順序3 
 5 while count < 3:           #運行順序4、11
 6     guess = input ('請輸入你猜的數字:')           #運行順序5,輸入guess=91 
 7     guess = int (guess);           #運行順序6
 8     if guess == num:           #運行順序7
 9         print ('猜中了')
10         break   #立即結束循環
11     elif guess > num:           #運行順序8
12         print ('猜大了')           #運行順序9
13         continue           #運行順序10,不執行count = count +1,直接跳出本次循環,循環一直到猜中了break
14     else:
15         print ('猜小了')
16         continue
17     count = count +1
18 else:    #循環正常結束后,會執行
19     print ('GAME OVER,LOSED!!')
 

4.5.2 for循環

  •  python的for循環,不需要計數器,與while不同的是,使用continue,count也會累計,不會死循環
1 # for循環:猜數字游戲
 2 for i in range(3):
 3     guess = input ('請輸入你猜的數字:')
 4     guess = int (guess);
 5     if guess == num:
 6         print ('猜中了')
 7         break   #立即結束循環
 8     elif guess > num:
 9         print ('猜大了')
10     else:
11         print ('猜小了')
12 else:    #循環正常結束后,會執行
13     print ('GAME OVER,LOSED!!')

 注冊小程序練習

寫一個登陸的小程序
username = tanailing
passwd = 123456
1、輸入賬號密碼,輸入正確就登陸成功,
提示歡迎xxxx登陸,今天的日期是多少
2、最多輸入錯誤3次
賬號/密碼錯誤,請重新登陸
3、如果失敗測試超過3次,提示,失敗次數過多
4、要校驗輸入是否為空,如果輸入為空,你要提示賬號./密碼不能為空
什么都不輸入和輸入一個空格多個空格都算空。
輸入為空也算操作錯誤一次

 1 #  for循環:登錄
 2 import datetime
 3 
 4 username = 'tanailing'
 5 passwd = '123456'
 6 today = datetime.date.today()
 7 times = 3
 8 for i in range(3):
 9     name = input("請輸入您的賬號:")  # 輸入賬號
10     passw = input("請輸入您的密碼:")  # 輸入密碼
11     if name.strip() == username:  # 輸入的用戶名正確的情況
12         if passw.strip() == passwd:  # 輸入的密碼正確的情況
13             print('%s歡迎您登錄!'\
14                   '今天是 %s ' % (name, today))
15             break
16         elif passw.strip() == '':  # 輸入的密碼為空的情況
17             times -= 1  # 可實施次數減1
18             print("賬號/密碼不能為空!")
19             print('您還有 %s 次機會' % (times))
20 
21         else:  # 輸入的密碼錯誤或者其他的情況
22             times -= 1  # 可實施次數減1
23             print("賬號/密碼錯誤,請重新登陸!")
24             print('您還有 %s 次機會' % (times))
25     elif name.strip() == '':  # 輸入的用戶名為空的情況
26         times -= 1  # 可實施次數減1
27         print("賬號/密碼不能為空!")
28         print('您還有 %s 次機會' % (times))
29     else:  # 輸入的用戶名錯誤或者其他的情況
30         times -= 1  # 可實施次數減1
31         print("賬號/密碼錯誤,請重新登陸!")
32         print('您還有 %s 次機會' % (times))
33 else:  # 實施錯誤次數>3的情況
34         print("錯誤次數過多!賬號已鎖定!請稍后再試!")
View Code
 1 #  while 循環:登錄
 2 import datetime
 3 count = 0
 4 username = 'tanailing'
 5 passwd = '123456'
 6 times = 3
 7 today = datetime.date.today()
 8 while count < 3:
 9     name = input('請輸入您的賬號:')  # 輸入賬號
10     passw =input('請輸入您的密碼:')  # 輸入密碼
11     if name.strip() == username and passw.strip() == passwd:  # 輸入的賬號和密碼都匹配的情況
12         print('%s歡迎您登錄!今天是 %s ' % (name, today))
13         break  # 跳出當前所有循環
14     elif name.strip() == '' or passw.strip() == '':  # 輸入的賬號或者密碼任意一個為空的情況
15         print('賬號/密碼不能為空!')
16         times -= 1  # 可實施次數減1
17         count += 1  # 循環計數器加1
18         print('您還有 %s 次機會' % (times))
19         continue
20     elif name.strip() != username or passw.strip() != passwd:  # 輸入的賬號或者密碼任意一個不匹配的情況
21         print('賬號/密碼錯誤,請重新登陸!')
22         times -= 1  # 可實施次數減1
23         count += 1  # 循環計數器加1
24         print('您還有 %s 次機會' % (times) )
25         continue
26 else:  # 實施錯誤次數>3的情況
27         print("錯誤次數過多!賬號已鎖定!請稍后再試!")
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM