下載地址:https://www.python.org/ftp/python/3.6.8/python-3.6.8-amd64.exepython
PS:動畫安裝過程參考shell
a) 軟件下載編輯器
https://download.jetbrains.8686c.com/python/pycharm-professional-2018.3.5.exe函數
b) 安裝軟件(僅對重點步驟說明,未提到的部分Next便可。)工具
c) 中文漢化oop
- 漢化包http://dlsw.91donkey.com/software/source/pycharm/pycharm2018-hhb.zip開發工具
- 進入C:\Program Files\JetBrains\PyCharm 2018.3.5\lib目錄字體
- 用7zip或WinRAR工具打開resources_en.jar文件優化
- 進入messages目錄動畫
- 將漢化文件覆蓋原文件
- 將resources_en.jar文件名改成resources_cn.jar
d) 註冊
- 修改hosts文件綁定域名C:\Windows\System32\drivers\etc\hosts
0.0.0.0 account.jetbrains.com
- 打開PyCharm軟件
- 文件 - 設置 - 編輯器 - 文件編碼
- 文件 - 設置 - 編輯器 - 文件和代碼模板 - Python Script
- 文件 - 設置 - 編輯器 - Font
- 顯示編輯器內存佔用
設置 - 外觀和行爲 - 外觀 - 顯示內存指示的選項勾上,在右下角就顯示了當前PyCharm已佔用內存狀況。
- 修改默認的vm memory
幫助 - 查找操做 - 輸入vm - 打開"編輯自定義VM選項"
- 首次打開可能會提示文件不存在,點擊建立便可。
- 編輯pycharm64.exe.vmoptions文件,將 -Xms改成1024m, -Xmx改成2048m,保存文件,關閉程序,從新打開pycharm,在右下角發現vm memory顯示的內存上限已擴充到了2048m。(參數解釋:-Xms 堆內存的最小大小,-Xmx 堆內存的最大大小)
視圖 - 工具欄
#!/usr/bin/env python print("Hello World!")
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time: '2019/3/27 11:36' name = "devil" name2 = name print("name,name2") name = "jack" print(name,name2)
單行註釋:# 被註釋的內容
多行註釋(三個雙引號或三個單引號):""" 被註釋的內容 """
#!/usr/bin/env python # -*- coding: utf-8 -*- name = input("What's your name: ") print("Hello" + name)
格式化輸出:方式一(字符串的拼接,在內存裏開闢多塊空間,效率低下,非必要不建議使用)
name = input("name: ") age = input("age: ") job = input("job: ") msg = ''' ------ info of ''' + name + ''' ------ Name:''' + name + ''' Age: ''' + age + ''' Job: ''' + job print(msg)
格式化輸出:方式二
name = input("name: ") age = input("age: ") job = input("job: ") msg = ''' ------ info of $s ------ Name: $s Age: %s Job: %s ''' % (name,name,age,job) print(msg)
格式化輸出:方式三
name = input("name: ") age = input("age: ") job = input("job: ") msg = ''' ------ info of {_name} ------ Name: {_name} Age: {_age} Job: {_job} '''.format(_name=name,_age=age,_job=job) print(msg)
格式化輸出:方式四(不夠清晰,不建議使用)
name = input("name: ") age = input("age: ") job = input("job: ") msg = ''' ------ info of {0} ------ Name: {0} Age: {1} Job: {2} '''.format(name,age,job) print(msg)
利用getpass模塊中的getpass方法,實現輸入密碼時密文不可見的效果。
#!/usr/bin/env python # -*- coding: utf-8 -*- import getpass # 將用戶輸入的內容賦值給pwd變量 pwd = getpass.getpass("請輸入密碼: ") # 打印輸入的內容 print(pwd)
注:此模塊在pycharm中沒法使用
- 用戶登陸驗證
#!/usr/bin/env python # -*- coding: utf-8 -*- import getpass name = input("請輸入用戶名: ") pwd = getpass.getpass("請輸入密碼: ") if name == "devil" and pwd == "abc123": print("Welcome user {_name} login...".format(_name=name)) else: print("Invalid username or password!")
- 猜年齡遊戲
#!/usr/bin/env python # -*- coding: utf-8 -*- my_age = 28 user_input = int(input("input your guess num: ")) if user_input == my_age: print("yes, your got it!") elif user_input > my_age: print("think smaller!") else: print("think bigger!")
- 死循環
#!/usr/bin/env python # -*- coding: utf-8 -*- while True: print("無限循環... ",count) count = count + 1 # count +=1
- 循環100次退出
#!/usr/bin/env python # -*- coding: utf-8 -*- count = 0 while True: print("循環... ",count) count +=1 if count == 100: print("已循環100次,自動退出循環.") break
- 如何實現讓用戶不斷的猜年齡,但只給最多3次機會,再猜不對就退出程序。
#!/usr/bin/env python # -*- coding: utf-8 -*- my_age = 28 count = 0 while count < 3: user_input = int(input("input your guess num: ")) if user_input == my_age: print("yes, your got it!") break elif user_input > my_age: print("think smaller!") else: print("think bigger!") count +=1 # 每次loop 計數器+1 else: print("猜了這麼屢次都不對,你個笨蛋.")
- 循環10次
#!/usr/bin/env python # -*- coding: utf-8 -*- for i in range(10): print("loop ",i)
run result:
loop 0
loop 1
loop 2
loop 3
loop 4
loop 5
loop 6
loop 7
loop 8
loop 9
- 每隔2個數打印
#!/usr/bin/env python # -*- coding: utf-8 -*- for i in range(0,10,2): print("loop ",i)
run result:
loop 0
loop 2
loop 4
loop 6
loop 8
- 仍是上面猜數的遊戲,當循環到3次的時候詢問是否繼續
#!/usr/bin/env python # -*- coding: utf-8 -*- my_age = 28 count = 0 while count < 3: user_input = int(input("input your guess num: ")) if user_input == my_age: print("yes, your got it!") break elif user_input > my_age: print("think smaller!") else: print("think bigger!") count +=1 # 每次loop 計數器+1 if count == 3: countine_confirm = input("do you want to keep guessing...?") if countine_confirm != "n" and countine_confirm != "no": count = 0
一、break:直接結束一個循環,跳出循環體。break之後的循環體中的語句不會繼續執行,循環體外面的會執行。
二、continue:停止本次循環,繼續下次循環。continue之後的循環體中的語句不會繼續執行,下次循環繼續執行,循環體外面的會執行。
三、return:return的功能是結束一個方法。一旦在循環體內執行return,將會結束該方法,循環天然也隨之結束。與continue和break不一樣的是,return直接結束整個方法,無論整個ruturn處於多少層循環以內。
參照文章:https://blog.csdn.net/zyw0101/article/details/84649397
Python2默認爲ASCII編碼,而Python3默認爲Unicode編碼
- Python2中print爲class
print 'Python', python_version() print 'Hello, World!' print('Hello, World!') print "text", ; print 'print more text on the same line'
run result:
Python 2.7.15
Hello, World!
Hello, World!
text print more text on the same line
- Python3中print爲一個函數,必須用括號括起來。
print('Python', python_version()) print('Hello, World!') print("some text,", end="") print(' print more text on the same line')
run result:
Python 3.6.8
Hello, World!
some text, print more text on the same line
- Python2的input獲得的是int類型,raw_input獲得的是str類型。
注:python2.x中要避免使用input()
>>> num = input("enter a number: ") enter a number: 123 >>> type(num) <type 'int'> ###### 分隔符 ###### >>> num = raw_input("enter a number: ") enter a number: 123 >>> type(num) <type 'str'> ###### 分隔符 ###### >>> name = input("enter your name: ") enter your name: devil Traceback (most recent call last): File "<pyshell#18>", line 1, in <module> name = input("enter your name: ") File "<string>", line 1, in <module> NameError: name 'devil' is not defined
- Python3中input獲得的是str類型
>>> num = input("enter a number: ") enter a number: 123 >>> type(num) <class 'str'>
- Python2中帶上小數點/表示真除,%表示取餘,//結果取整
print 'Python', python_version() print '3 / 2 =', 3 / 2 print '3 // 2 =', 3 // 2 print '3 / 2.0 =', 3 / 2.0 print '3 // 2.0 =', 3 // 2.0
run result:
Python 2.7.15
3 / 2 = 1
3 // 2 = 1
3 / 2.0 = 1.5
3 // 2.0 = 1.0
- Python3中/表示真除,%表示取餘,//結果取整
print('Python', python_version()) print('3 / 2 =', 3 / 2) print('3 // 2 =', 3 // 2) print('3 / 2.0 =', 3 / 2.0) print('3 // 2.0 =', 3 // 2.0)
run result:
Python 3.6.8
3 / 2 = 1.5
3 // 2 = 1
3 / 2.0 = 1.5
3 // 2.0 = 1.0
- 做業一:博客
博客地址:https://www.cnblogs.com/91donkey/
- 做業二:編寫登陸接口
一、輸入用戶名密碼
二、認證成功後顯示環境信息
三、輸錯三次後鎖定
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time: '2019/3/29 10:37' f = open("d:\\user.txt",'r') authfile = f.read() count = 0 while count < 3: username = input("請輸入用戶名: ") try: f = open("d:\\lock.txt", 'r') lock_user = (f.readline()).strip() if username == lock_user: print("輸入的帳戶因屢次嘗試登陸,已被鎖定......請與管理員進行聯繫!") break f.close() except: print("",end="") password = input("請輸入密碼: ") if username == authfile.split()[0] and password == authfile.split()[1]: print("登陸成功,歡迎 %s 回來..." % username) break else: if count == 2: print("嘗試登陸錯誤次數過多,帳戶被鎖定,請稍後重試...") f = open("d:\\lock.txt", 'a') f.write(username+"\n") f.close() else: print("Invalid username or password!") count +=1 f.close()
優化空間:當user.txt和lock.txt中存在多條記錄的時候該如何判斷。
- 做業三
一、三級菜單
二、可依次選擇進入各子菜單
三、所需新知識點:列表、字典