Python Day1

Python安裝

在linux系統上安裝Python3.X
安裝依賴:

yum -y install gcc zlib zlib-devel xz

下載Python安裝包

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

解壓並編譯安裝

tar -xf Python-3.6.2.tar.xzcd Python-3.6.2./configuremake && make install

修改系統中python軟連接

ln -sf /usr/local/bin/python3 /usr/bin/python
[root@bogon tool]# ll /usr/bin/pythonlrwxrwxrwx 1 root root 22 3月  22 11:09 /usr/bin/python -> /usr/local/bin/python3

爲保證yum正常使用,修改指定yum命令所使用的python版本(要根據/usr/bin/目錄下python原來的版本修改)

sed -i '1s@[email protected]@' /usr/bin/yum

文件頭

#!/usr/bin/env python# -*- coding: utf-8 -*-

變量

變量名稱不允許使用數字開頭,不允許有空格,不允許有*號等特殊符號
 

age_of_dzm = 18


#上面這是推薦的變量名稱
 

AGE_OF_DZM = 18


#上面這種全部使用大寫字母的方式不會報錯,但約定俗成一般表示常量,Python裏沒有嚴格意義上的常量

#引用變量

age_of_dzm = 18print(age_of_dzm)18print('age_of_dzm')age_of_dzm

#由此可見,加了單引號後print出的是字符串本身,並沒有引用變量

多引號的用途

'''這裏的多引號表示多行註釋(我是第二行)'''

#多引號也可以用於定義變量時定義一多行內容

info = '''-------info---------name : dzmage : 18sex: male-------end---------'''

#身份運算

is比較的是id而==比較的是值

#賦值
#交叉賦值

m=1n=2m,n=n,mprint(m)print(n)

#解壓
#可以解壓元組,列表,字典(key)

l=[1,2,3,4]a,b,c,d=lprint(a,b,c,d)#示例1#只要第一個值和最後一個值l=[1,2,3,4]a,b,c,d=l(a,_,_,d)=lprint(a,d)#也可以(a,*_,d)=l*_代表無數個_#示例2t=(10,20,30,40,50,60)x,*_,z=tprint(x,z)10 60

#格式化輸出

#第一種

name=input('請輸入您的用戶名: ')password=input('請輸入您的密碼: ')print('您的用戶名是:%s ,您的密碼是:%s' %(name,password))

#第二種

name=input('請輸入你的名字:')age=int(input('請輸入你的年齡:'))sex=input('請輸入你的性別:')job=input('請輸入你的工作:')msg='''------------ info of %s ----------Name  : %sAge   : %dSex   : %sJob   : %s------------- end -----------------''' %(name,name,age,sex,job)print(msg)

基本數據類型

數字

int整型
一般表示整數
float浮點型
一般表示帶小數點的數字,如體重等

字符串

#在python中,加了引號的字符就是字符串類型
name='dzm’
#字符串還能進行拼接,且只能是字符串之間的相加或相乘

name = 'dzm'age = '18'print(name+age)dzm18

原始字符串
原始字符串不以特殊方式處理反斜槓,在例如DOS路徑這種情況下很有用。
舉例:

print("C:\nowhere")  #此時反斜槓有特殊含義C:owhereprint("C:\\nowhere")  #對反斜槓本身進行轉義C:\nowhere

這很好,但對於很長的路徑以爲着將需要使用大量的反斜槓
這樣的情況下原始字符串就排上用場了

print(r'C:\nowhere')C:\nowhere

注意:
原始字符串不能以單個反斜槓結尾,如果要指定以反斜槓結尾的原始字符(比如DOS路徑),可以將反斜槓作爲單獨的字符。
舉例:

print(r'C:\nowhere')C:\nowhere

列表

在[]內用逗號分隔,可以存放n個任意類型的值

 
name_list = ['dzm','egon','alex']print(name_list[1])egon

#列表嵌套與取值

name_list = ['dzm','egon','alex',[18,19,20]]print(name_list[3][0])0
name_list = [['dzm',[18,19]],['egon',[20,21]]]print(name_list[1][1][0])20
dzm = ['dzm',18]gq = ['gq',19]database = [dzm, gq]database[['dzm', 18], ['gq', 19]]

字典

#在{}內用逗號分隔,可以存放多個key:value的值,value可以是任意類型

user = {'name':'dzm','age':'18','sex':'male'}print(user['name'])dzm

#字典的嵌套與取值

user = {    'name':'dzm',    'age':[18,19,20],    'sex':'male'}print(user['age'][2])20
user = {    'name':{'name1':'dzm',            'name2':'egon',            'name3':'alex'            },    'age':[18,19,20],    'sex':'male'}print(user['name']['name3'])alex

#由此可見,字典裏還可以套列表和字典
#重點,可變與不可變類型
#1.可變類型:在id不變的情況下,value可以變,則稱爲可變類型,如列表,字典
#2. 不可變類型:value一旦改變,id也改變,則稱爲不可變類型(id變,意味着創建了新的內存空間)


#for循環

#for

for i in range(5):    print(i)else:    print('ok')01234ok

#上面這個例子顯示,如果for循環沒有被break打斷那麼執行else的內容
#如果上面的for循環觸發了break則下面的else不會執行

if

not與邏輯判斷句if連用,代表not後面的表達式爲False的時候,執行冒號後面的語句。比如:

a = Falseif not a:   (這裏因爲a是False,所以not a就是True)    print "hello"

可以用來判斷用戶輸入的是否爲空

在python中 None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元組()都相當於False
使用if not x這種寫法的前提是:必須清楚x等於None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元組()時對你的判斷沒有影響才行。

判斷變量是否爲None下面的寫法更清晰

if not x is None

不等於空可以這樣寫

if line != '':    print()

如需更多的瞭解加入python裙906407826嗷~🤭

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