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)可以寫多行
注:其實三個單引號和三個雙引號沒有什麼區別,大部分人習慣使用單引號而已。
2、strip 去掉/移除(脫)的意思。
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環境變量是否存在該模塊名。