Python第一天課程

一、在linux下寫python腳本,開頭的解釋器宣告的寫法應該是#!/usr/bin/env pythonpython

 

定義變量name="XXX"  age=21   全部使用引號引發的內容都是字符串linux

 

變量的意義是標示數據,因此變量名稱應該有意義windows

 

遇到複雜變量名是使用「_」分割多個單詞或單詞首字母大寫less

 

son_of_twins_brother_age = 2編碼

NameOfTwinsGf = "FengJie"orm

 

不可使用「-」鏈接單詞ip

不可使用數字開頭內存

不可使用特殊字符utf-8

變量名中不能夠有空格ssl

不可使用關鍵字做爲變量

 

在python2.X的時候默認支持ASCII編碼,若是須要中文須要明確指示編碼表,寫法爲:

#!/usr/bin/env python

#_*_ coding:utf-8 _*_

 

python3默認使用utf-8編碼,所以不須要特別宣示,僅須要

#!/usr/bin/env python用來宣示解釋器便可(linux運行)

 

python開發規範,每一行最大不該超過80個字符

 

註釋

#用於單行註釋

使用3個引號(先後各三個)用於多行註釋

'''

XXX

XXX

'''

 

 

打印用戶輸入的內容

在3.0中的寫法

 

user_input = input("input your name:")

 

print("user input msg:",user_input)

 

在2.7中的寫法

 

user_input = raw_input("input your name:")

 

print("user input msg:",user_input)

 

在2.7中input會認爲你輸入的不是字符串,而是變量名,所以若是要將輸入的內容付給變量,應該使用raw_input。不然會報錯

可是input若是是數字,就會認爲是數字。所以 在2.7中input能夠是數字,也能夠是變量名,若是是字符串則只能用raw_input

 

 

所以2.7中基本不用input

 

 

 

格式化字符串

 

#!/usr/bin/envpython

#_*_coding:utf-8_*_

 

Name=input("inputyourname:")

Age=input("inputyourage:")

Job=input("inputyourjob:")

 

msg='''

Informationforuser:%s

-----------------------

Name:%s

Age:%s

Job:%s

-----------END------------

'''%(Name,Name,Age,Job)# %先後均有空格

 

 

print(msg)

 

 

%s表明字符串,還能夠替換爲%d表明輸入的是數字

可是若是要使用%d,必需要確保這個變量爲數字類型,input輸入的內容都是字符串類型,所以Age變量不能直接使用%d,而要將輸入的內容轉爲int類型

 

Age=int(input("input your age: "))

 

 

Name=input("inputyourname:")

Age=int(input("inputyourage:"))

Job=input("inputyourjob:")

 

msg='''

Informationforuser:%s

-----------------------

Name:%s

Age:%d

Job:%s

-----------END------------

'''%(Name,Name,Age,Job)#%先後均有空格

 

 

print(msg)

 

 

 

格式化數據類型有3中

$s 字符串

$d 數字

$f 小數

 

 

導入模塊(導入的內容只能在windows的CMD或linux下使用,pycharm不能用)

import getpass #導入一個可使輸入變成密文的模塊

username = input("username: ")

password = getpass.getpass("password : ")

 

import os #導入系統命令模塊

os.system("df") #用於打印系統命令

os.mkdir("/root/123") #用於建立一個文件夾

 

os.system("df -h") 這個命令的輸出有2個,一個是實際的命令輸出,一個是輸出結果,命令輸出就是df的內容(系統存儲使用狀況),輸出結果就是0

 

若是咱們直接 cmd = os.system("df -h"),則cmd中只有輸出結果,若是要想將命令輸出複製則應該寫爲

cmd = os.popen("df -h").read(),先用popen將結果保存到內存中,再read一下

 

實際import 命令後面接的模塊就是一個python的腳本,可是不能帶.py後綴

但是這個腳本的位置須要注意,默認狀況下系統會到特定的路徑下尋找腳本,或者是當前路徑下。查找特定路徑的方法爲

 

import sys

print(sys.path)

 

 

>>> import sys

>>> print(sys.path)

['', '/usr/local/python3/lib/python35.zip', '/usr/local/python3/lib/python3.5', '/usr/local/python3/lib/python3.5/plat-linux', '/usr/local/python3/lib/python3.5/lib-dynload', '/usr/local/python3/lib/python3.5/site-packages']

 

從這裏能夠看出由於第一個位子的是'',所以說明當前路徑的優先級是最高的,所以若是在當前路徑下存在一個其餘路徑中的同名腳本,則當前路徑優先

 

 

 

咱們能夠本身寫一個模塊,就用以前的

 

import getpass

username = input("username: ")

password = getpass.getpass("password : ")

print(username,password)

 

保存爲pass.py,而後將其保存到上面的路徑中,以後就能夠在其餘的腳本中import pass來導入這個模塊了

 

 

if 判斷

 

python是一個有強烈格式的語言,其語法格式依照嚴格的縮進

user="XXX"

passwd="cisco,123"

 

username=input("inputyourusername;")

password=input("inputyourpassword:")

 

if user == username:

print("usernameiscorrect...")

 

if passwd == password:

print("Welcomelogin...")

else:

print("passwordisinvalid...")

else:

print("usernameisinvalid")

 

同時,if能夠多條件判斷

user="XXX"

passwd="cisco,123"

 

username=input("inputyourusername;")

password=input("inputyourpassword:")

 

if user==username and passwd==password:

print("Welcome login")

else:

print("usernameorpassworisinvalid")

 

 

 

循環

for i in range(10):  range(10)表明0到9的10個數

 

循環10次,可是隻能猜3次,超過3次自動跳出

age=32

foriinrange(10):

ifi<3:

gage=int(input("inputage:"))

 

ifgage>age:

print("guessmorethanage")

elifgage<age:

print("guesslessthanage")

else:

print("yougotit")

break

else:

print("toomanytimes")

break

 

 

 

 

for i in range(10)

    i=100

 

在上面的內容中,range(10)表明的是一個序列,所以在for的循環中每次i的值是這個序列中的值依次被賦值,即使下面從新將i賦值,只要仍在這個循環中,這個i仍然會被range覆蓋

 

跳出程序

一、跳出整個程序,break,設置完成後,當運行到break時,就會結束程序

二、跳出當次循環,continue,設置完成後,當運行到continue時,會結束當次循環,可是總體循環仍然還會有

 

 

 

 

 

做業一:博客

 

做業二:編寫登陸程序

輸入用戶名密碼

認證成功後顯示歡迎信息

輸錯三次後鎖定

 

做業三:多級菜單

1.北京

2.上海

>>input

    1.東城

    2.西城

>>input

        1.沙河

>>input

 

同時輸入b返回上級菜單,q退出程序

 

 

流程圖 processon.com

readme:

SVN:

做業命名day1

相關文章
相關標籤/搜索