1. 程式人生 > >Python學習 Week1

Python學習 Week1

密碼 獲取 大於 count 模塊 解釋型 學習 操作系統 函數

什麽是Python?

  是一種面向對象的解釋型計算機程序設計語言,由荷蘭人Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。(摘自百度百科)

Python的優缺點

先看優點

  1. Python的定位是“優雅”、“明確”、“簡單”,所以Python程序看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常復雜的程序。
  2. 開發效率非常高,Python有非常強大的第三方庫,基本上你想通過計算機實現任何功能,Python官方庫裏都有相應的模塊進行支持,直接下載調用後,在基礎庫的基礎上再進行開發,大大降低開發周期,避免重復造輪子。
  3. 高級語言————當你用Python語言編寫程序的時候,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節
  4. 可移植性————由於它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工 作在不同平臺上)。如果你小心地避免使用依賴於系統的特性,那麽你的所有Python程序無需修改就幾乎可以在市場上所有的系統平臺上運行
  5. 可擴展性————如果你需要你的一段關鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然後在你的Python程序中使用它們。
  6. 可嵌入性————你可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。

再看缺點:

  1. 速度慢,Python 的運行速度相比C語言確實慢很多,跟JAVA相比也要慢一些,因此這也是很多所謂的大牛不屑於使用Python的主要原因,但其實這裏所指的運行速度慢在大多數情況下用戶是無法直接感知到的,必須借助測試工具才能體現出來,比如你用C運一個程序花了0.01s,用Python是0.1s,這樣C語言直接比Python快了10倍,算是非常誇張了,但是你是無法直接通過肉眼感知的,因為一個正常人所能感知的時間最小單位是0.15-0.4s左右,哈哈。其實在大多數情況下Python已經完全可以滿足你對程序速度的要求,除非你要寫對速度要求極高的搜索引擎等,這種情況下,當然還是建議你用C去實現的。
  2. 代碼不能加密,因為PYTHON是解釋性語言,它的源碼都是以名文形式存放的,不過我不認為這算是一個缺點,如果你的項目要求源代碼必須是加密的,那你一開始就不應該用Python來去實現。
  3. 線程不能利用多CPU問題,這是Python被人詬病最多的一個缺點,GIL即全局解釋器鎖(Global Interpreter Lock),是計算機程序設計語言解釋器用於同步線程的工具,使得任何時刻僅有一個線程在執行,Python的線程是操作系統的原生線程。在Linux上為pthread,在Windows上為Win thread,完全由操作系統調度線程的執行。一個python解釋器進程內有一條主線程,以及多條用戶程序的執行線程。即使在多核CPU平臺上,由於GIL的存在,所以禁止多線程的並行執行。關於這個問題的折衷解決方法,我們在以後線程和進程章節裏再進行詳細探討。(摘自alex li博客)

Python基礎

Hello world

1 #在屏幕中打印出Hello World!
2 print("Hello World!")

變量

  變量只能是字母、數字、下劃線的組合

  變量不可用數字開頭

  系統保留關鍵字不可用做變量名

#定義一個變量,將Hello World!賦值給它,打印出來
a="Hello World!"
print(a)

用戶輸入

  使用input函數獲取用戶輸入的數據

#使用input函數獲取用戶輸入的Hello World!賦值到變量a中
a=input("please input Hello World!:")
print (a)

字符串拼接

#字符串拼接,用戶輸入任意字符,直接生成Hello (str)!
#方法一
a=input ("please input your name:")
print ("Hello",a,"!")

#方法二
a= input ("please input your name:")
info=‘‘‘Hello %s‘‘‘%(a)+"!"
print (info)

#方法三
a= input ("please input your name:")
info=‘‘‘Hello {b}‘‘‘.format(b=a)+"!"
print (info)

PS:字符串是 %s;整數 %d;浮點數%f。

初識模塊

#用戶輸入用戶名和密碼,密碼要求不顯示,使用getpass模塊
import getpass
username=input("Please input username:")
password=getpass.getpass("Please input password:")
print ("username:",username,"password:",password)

if...else

用法:

#if 條件:
#   執行語句
#else :
#   執行語句
a=int(input("Please input a number:"))
if a<3:
   print("Y")
else:
   print("N")

#if 條件:
#   執行語句
#elif :
#   執行語句
#else :
#   執行語句
a=int(input("Please input a number:"))
if a<3:
   print("a<3")
elif a>3:
   print("a>3")
else :
   print("a=3")

結合上面的例子:

#判斷用戶輸入的賬號和密碼是否正確
import getpass
username="kiwi"
password="kiwi123"
_username=input("Plsease input username:")
_password=getpass.getpass("Please input password:")
if username==_username and password==_password :
   print("Welcome",_username)
else :
   print("Worng Username or Password,please input again!")

while

用法:

#定義一個變量count,條件為一直為真就循環執行命令
#while True:
#    執行命令
count=0
while count=0:
    print ("a is apple;b is ball!")
#定義一個變量count,如果小於3,打印a is apple,反之打印b is ball
#while True:
#    執行命令
#else :
#    執行命令
count=0
while count<3:
    print ("a is apple")
    count+=1
else :
   print("b is ball")
   count+=1
#定義一個變量count,打印10次a is apple
#while True
#   執行條件
#  if 等於10次
#      break
count=0
while count>=0:
    print ("a is apple;")
    count+=1
    if count==10:
     break

結合上面的例子:

#判斷用戶輸入的賬號和密碼是否正確,如果輸入錯誤3次,自動退出
import getpass
username="kiwi"
password="kiwi123"
count=0
while count>3 :
    _username=input("Plsease input username:")
    _password=getpass.getpass("Please input password:")
   if username==_username and password==_password :
         print("Welcome",_username)
         break
   elif count==2:
         print("So many worngs,please try again!")
         break
   else:
         print("Worng Username or Password,please input again!")
         count += 1

for

用法:

#循環10次
for i in range(10):
    print("loop:",i)
#循環10次,如果i小於5,不打印
for i in range(10):
    if i<5:
        continue
    print("loop:",i)
#循環10次,如果i大於5,自動退出
for i in range(10):
    if i>5:
        break
    print("loop:",i)

結合上面的例子:

import getpass
username="kiwi"
password="kiwi123"
for i in range(3):
   _username=input("Plsease input username:")
   _password=getpass.getpass("Please input password:")
   if username==_username and password==_password :
         print("Welcome",_username)
         break
   elif i==2:
         print("So many worngs,please try again!")
         break
   else:
         print("Worng Username or Password,please input again!")

(以上代碼使用Python3.6.1編寫,純手敲,IDE:PyCharm)

以上是本周Python學習筆記。

如有錯誤的地方,歡迎指正,互相學習!

Life is short,you need Python!

人生苦短,我用Python!

作業如下:

  1.編寫登錄接口

  • 輸入用戶名密碼
  • 認證成功後顯示歡迎信息
  • 輸錯三次後鎖定
  • 需要使用Python自帶的讀取文件功能

  2.多級菜單

  • 三級菜單
  • 可依次進入各子菜單以及返回上一級菜單

Python學習 Week1