python基礎-列表,文件,運算符

1.變量與賦值

1.1變量

name="xiaofeng"    <== 注:等號前面的name是變量;如果等號後面沒有加引號,會認爲xiaofeng是變量;加引號是字符串。

age=21

print (name,age)   <==調用兩個變量,中間用逗號。

例1

name=input("print input your name: ")
print (name)

 

例2

name=input("print input your name: ")
age=
input("printinput your age: ")
print (name,age)

例3:

a=3
b=a
a=
5
print (a,b)

5 3

例3:

id是查看變量內存地址

 

1.2給變量起名的原則

1)顯示通俗易懂

2)nums_of_alex_gf = 19

3)NumsOfAlexGf = 2

4)names-of-alex-gf = 22

5)5name = 數字不能開頭,na5me=

6)!name 特殊字符不能有,!~&*……%¥¥

7)name of teacher = 不能有空格

8)某些關鍵字不能被定義

 

2.用戶交互

python3.0裏是 input
name=input("print input your name: ")
age=
input("print input your age: ")
print (name,age)

 

3. 條件判斷與縮進

if...else 和縮進

 

 

小結:只要代碼是同一級別的,縮進就要保持一致。不然就會出現IndentationError錯誤。

官方給的建議是縮進4個空格,如果使用IDE寫python程序,一個TAB鍵,就是4個空格。

#是註釋

 

4.循環控制

1、python2.7的程序格式

python2.7中, 後面的變量是什麼格式,輸出就是什麼格式。

但是在3.0中,默認輸出的格式就是字符串的格式。所有,一般如果輸出的結果是數字,可以在前面寫上int(),代表整型的意思。

 

 

2、如果不相等,就一直循環下去的代碼

 

5.循環次數限制

guess_count=0

 

 

6.常用數據類型

1、for 循環

 

for i in range(3):
print (i)

注:range相當於shell的seq

 

2、數據類型

 

int 整型

float 浮點(小數點)

long 長整型

 

 

3、通過type命令可以查看數據的類型

>>> a=2**63

>>> type(a)

<type 'long'>

>>> a=2

>>> type(a)

<type 'int'>

>>> a=2.03 

>>> type(a)

<type 'float'>

 

 7.字符串格式化

1、用%怎麼輸出多個字符串

name=input("name: ")
age=
input("age:")
job=
input("job:")

print("Inromationof %s:\nName:%s\nAge:%s\nJob:%s"%(name,name,age,job))

1.1 單引號與雙引號在python中基本沒什麼區別。

但是三個單引號有兩種用法

(1)註釋

(2)可以寫多行

 

注:其實三個單引號和三個雙引號沒有什麼區別,大部分人習慣使用單引號而已。

 

2strip 去掉/移除(脫)的意思。

name=input("name: ").strip("x")
age=
input("age:")
job=
input("job:")

print ("Inromationof %s:\nName:%s\nAge:%s\nJob:%s" %(name,name,age,job) )

name: xxiaoxsox

age: 21

job:IT

 

Inromation of iaoxso:

Name:iaoxso

Age:21

Job:IT

小結:去掉變量中首尾包含x的字母

 

3、分割

 

4、列表

4.1  創建列表

例:

>>> name_list=["xiaofeng","zhourui","ganna"]

>>> name_list

['xiaofeng', 'zhourui', 'ganna']

>>> name_list[1]

'zhourui'

>>> name_list[0]

'xiaofeng'

>>> name_list[2]

'ganna'

 

小結:xiaofeng,zhourui,ganan是三個元素,每個元素對應一個自己的下標,這個下標一般是從0先開始的。

 

4.2  列表的相關命令

通過 dir(name_list) 查看可以使用的命令。(前後都有下劃線的用不了)

append   追加

count    統計

extend   拓展

index      索引

insert    插入

pop      刪除最後一個

remove    刪除指定的一個

reverse    反轉

sort    排序

 

例1:追加一個元素

>>> name_list.append ("zhiwei")

>>> name_list

['xiaofeng', 'zhourui', 'ganna', 'zhiwei']

 

>>> name_list.append("zhourui")

>>> name_list

['xiaofeng', 'zhourui', 'ganna', 'zhiwei', 'zhourui']

 

        統計zhourui的數量

>>> name_list.count("zhourui")

2

 

        查看zhourui的索引號

>>> name_list.index("zhourui")

1

 

 

例2:列表中相同元素的,如何快速刪除

 

 

8.列表常用操作

1、字符串格式化

注:大部分常用的是%s字符串類型

 

2、字符串常用功能

 

9.列表的後續操作

切片

假如列表a中有

>>> a=[1,2,3,'a','b','c'] 

>>> a

[1, 2, 3, 'a', 'b', 'c']

 

例1:在第5個位置插入一個數字5.由於元素是從0開始算,所以是4.

[1, 2, 3, 'a', 'b', 'c']

>>> a.insert(4,5)

>>> a

[1, 2, 3, 'a', 5, 'b', 'c']

 

例2,:切片  取出列表中第一個到第兩個元素,元素下標分別是0和1

[1, 2, 3, 'a', 5, 'b', 'c']

>>> a[0:2]

[1, 2]

 

小結:切片是顧首不顧尾。且用:連接

 

例3:隔一個元素輸出出來

>>> a[3:6:2]

['a', 'b']

>>> a.insert(6,6)

>>> a

[1, 2, 3, 'a', 5, 'b', 6, 'c']

>>> a[3:8:2步長是2

['a', 'b', 'c']

 

例4,:從後面取出列表中的元素

>>> a

[1, 2, 3, 'a', 5, 'b', 6, 'c']

>>> a[-2:] 

[6, 'c']

>>> a[-4:-1]

[5, 'b', 6]

>>> a[-4:-2]

[5, 'b']

 

例5:排序

[1, 2, 3, 'a', 5, 'b', 6, 'c']

>>> a.sort()

>>> a

[1, 2, 3, 5, 6, 'a', 'b', 'c']

 

例6:合併兩個列表

>>> a

[1, 2, 3, 5, 6, 'a', 'b', 'c']

>>> b=[4,7,8]

>>> b

[4, 7, 8]

法1:

>>> a=a+b

>>>a

[1, 2, 3, 5, 6, 'a', 'b', 'c', 4, 7, 8]

法2:

>>> a.extend(b)

>>> a

[1, 2, 3, 5, 6, 'a', 'b', 'c', 4, 7, 8]

 

 

10.二進制位運算

一、元組

注:元組跟列表是一樣一樣的,唯一的區別是元組是隻讀的,列表是中括號,元組是小括號

 

創建一個元組

>>> t=(1,2,3)

>>> t

(1, 2, 3)

>>> type(t)

<class 'tuple'>

 

元組改成列表 -----list()

>>> list(t)     <==

[1, 2, 3]

>>> t

(1, 2, 3)

 

小結:list()的方式只是改變了輸出方式,實際本身仍然是元組

 

 

列表轉元組

>>> a=["a","b","c"]

>>> a

['a', 'b', 'c']

>>> type(a)

<class 'list'>

>>> tuple(a)

('a', 'b', 'c')

 

二、算數運算符

 

>>> 1//2

0

>>> 1/2

0.5

>>> 10%2   <==用於判斷奇偶數。比如以後奇數行是白色,偶數行是黑色

0

>>> 10%3

1

運算符

 

 

位運算

0是假 1是真

&  與,0與任何值都是0

|    或,1或任何值都是1

^   異或,只要不一樣就是1,一樣爲0

~   按位取反,每一位的數字都取反,0變1,1變0

 

 

邏輯運算符

例:

 

 

身份運算符

 

11.文件基本操作及作業

1、打開文件:

file_obj=open("文件路徑",“模式”)

 

2、打開文件的模式有:

 

例:創建一個文件,並寫入數據:

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

f=open("test.log","w")
f.write("This is the first line\n")
f.write("This is the second line\n")
f.write("This is the 3 line\n")
f.write("This is the 4 line\n")

f.close()

例2:讀一個文件的內容,並打印出來

法1:

f = open("test.log","r")
print (f.read())
f.close()

法2:

f = open("test.log","r")
for line in f:
print (line,)
f.close()

拓展

f = open("test.log","r")
for line in f:
if "3" in line:
print ("itis third line")
else:
print (line)
f.close()



3追加

f = open("test.log","a")

4、寫讀

f = open("test.log","w+")

只要是w在前面,就會將原文件內容清空並覆蓋掉,十分危險。必須提前備份。所以一般都沒人用它。


用open的方式需要close,不然容易丟數據,很麻煩,建議使用with的方式;

Localtime=time.strftime("%Y-%m-%d %H:%M:%S")
dir=os.path.dirname(os.path.abspath(__file__))  #獲取當前目錄
with open('%s/login_log.txt' %dir,'a',encoding='utf-8') as f:   #以追加的方式寫入文件
    f.write("%s %s %s 登錄成功\n" %(Localtime,ip,usr))


12.Python模塊

sys模塊

#!/usr/bin/env python
#Author:xuliangwei
import sys #導入sys模塊
print (sys.path) #打印python環境變量
print(sys.argv) #打印腳本相對路徑,執行的時候可以傳入參數
print (sys.argv[2]) #取出傳入的參數

os模塊

import os
print(os.system("df -h"))  #調用系統命令#
disk = os.system("ls -l") #執行命令,不保存結果
disk = os.popen("ls -l").read() #結果存入變量
print ("-->",disk)
os.mkdir("new_dir") #創建新目錄

第三方庫,默認找當前目錄,然後找Python環境變量是否存在該模塊名。 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章