一、什么是自動化
自動化測驗是把以人為驅動的測驗行為轉化為機器執行的一種程序,直白的就是為了節省人力、時間或硬體資源,提高測驗效率,便引入了通過軟體或程式自動化執行測驗用例進行測驗;
二、python簡介
Python是一種解釋型、面向物件、動態資料型別的高級程式設計語言,
我們先來看一各種編程語言的型別,
機器語言:是指一臺計算機全部的指令集合,計算機所使用的是由"0"和"1"組成的二進制數,二進制是計算 計算機語言機的語言的基礎,
編譯型語言:將源代碼編譯生成機器語言,再由機器運行機器碼(二進制),例如:c c++ c#
解釋型語言:相對于編譯型語言存在的,源代碼不是直接翻譯成機器語言,而是先翻譯成中間代碼,再由解釋器對中間代碼進行解釋運行,
代碼在運行的時候才進行編譯,如 java 、JavaScript、Perl 、Shell、PHP、ruby、python
腳本語言:一個腳本通常是 解釋執行而非編譯,一開始的時候這種語言只有單一的功能,如shell用戶撰寫linux的腳本,js用于制作網頁特效
python的應用:資料挖掘(爬蟲)、資料分析、自動化運維、自動化測驗、后臺服務器介面開發、AI、人工智能、嵌入式開發、web開發等,
python的特點:
1、撰寫的代碼質量高:采用縮進的方法,讓代碼的可讀性更好,也很適合團隊協作開發,
2、提高開發的效率:簡單的語法,動態的型別,不過不要認為python僅可以完成簡單的任務,其實他只是讓復雜的編程任務變的高效和有趣,曾經我一個搞JAVA的朋友,他完成一個任務要寫幾百行代碼,而我只寫了10幾行代碼,的確python這們語言是想把程式員解放出來,騰出一些時間去享受生活,
3、程式的可移植性:你撰寫的代碼可以放到幾個平臺上去運行,比如windows,linux,unix,
4、很多標準庫和第3方庫:等你了解python標準庫的時候,你就會覺的它的標準庫太多了,而且功能和強大,從字符處理到網路處理無所不能,
5、編程思想是大道至簡:python希望程式員能夠用最簡單的方法來解決問題,化繁為簡,
好了下面開始我們的python學習之旅~
三、python基礎
基本概念
字符集:是一個系統支持的所有抽象字符的集合,計算機中儲存的資訊都是用二進制數表示的,
字符編碼(Character Encoding):是一套法則,使用該法則能夠對自然語言的字符的一個集合(如字母表或音節表),與其他東西的一個集合(如號碼或電脈沖)進行配對,即在符號集合與數字系統之間建立對應關系,它是資訊處理的一項基本技術,以計算機為基礎的資訊處理系統則是利用元件(硬體)不同狀態的組合來存盤和處理資訊的,元件不同狀態的組合能代表數字系統的數字,因此字符編碼就是將符號轉換為計算機可以接受的數字系統的數,稱為數字代碼,
常用的字符集合字符編碼
常見字符集名稱: ASCII字符集、GB2312字符集、BIG5字符集、GB18030字符集、Unicode字符集等,計算機要準確的處理各種字符集文字,需要進行字符編碼,以便計算機能夠識別和存盤各種文字,
UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼(定長碼),也是一種前綴碼,它可以用來表示Unicode標準中的任何字符,且其編碼中的第一個位元組仍與ASCII兼容,這使得原來處理ASCII字符的軟體無須或只須做少部份修改,即可繼續使用,因此,它逐漸成為電子郵件、網頁及其他存盤或傳送文字的應用中,優先采用的編碼,互聯網工程作業小組(IETF)要求所有互聯網協議都必須支持UTF-8編碼,
有時我們看到頁面上的亂碼,可能就是字符集不一致導致的,
變數(variable)變數就是代表某個資料(值)的名稱,python是一種動態型別語言,在賦值的執行中可以系結不同型別的值,這個程序叫做變數賦值操作,賦值同時確定了變數型別,
靜態型別語言是指在編譯時變數的資料型別即可確定的語言,多數靜態型別語言要求在使用變數之前必須宣告資料型別,某些具有型別推導能力的現代語言可能能夠部分減輕這個要求.
動態型別語言是在運行時確定資料型別的語言,變數使用之前不需要型別宣告,通常變數的型別是被賦值的那個值的型別,
python中變數的定義
1、變數名可以包括字母、數字、下劃線,但是數字不能做為開頭,例如:name1是合法變數名,而1name就不可以,
2、系統關鍵字不能做變數名使用
3、除了下劃線之個,其它符號不能做為變數名使用
4、Python的變數名是區分大小寫的,例如:name和Name就是兩個變數名,而非相同變數哦,
5、中文也能定義變數名,單實際當中不這樣運用
python的資料型別
1)整型——int——數字
python有5種數字型別,最常見的就是整型int,例如:a = 123 或 b = -123 等號左邊是變數名,右邊是要賦的值
2)布爾型——bool——用符號==表示
布爾型是一種比較特殊的python數字型別,它只有True和False兩種值,它主要用來比較和判斷,所得結果叫做布林值,例如:33 給出True,35給出False
3)字串——str——用’ '或" "表示
例如:URL='www.iplaypy.com’或者name=“lijing”
4)串列——list——用[ ]符號表示
例如:num=[1,2,3,4]
5)元組——tuple——用( )符號表示
例如:(‘d’,300)
6)字典——dict——用{ }符號表示
例如:{‘name’:‘coco’,‘country’:‘china’}
實戰演練
安裝python,安裝pycharm編碼軟體進行編碼,
1、hello world!
python中輸出函式print函式,字串和數值型別的可以直接輸出,如下
print(‘hello world’)
print(1)
輸出內容:

輸出字串內容可以用‘’,也可以用“”,當輸出的字串中包含‘’時,則字串用“”;當輸出的字串中包含“”號時,則字串用‘’;當輸出的字串中‘’和“”都包含時,則字串用‘’‘ ‘’’來輸出;如下
print(“你真的很’帥’!”)
print(‘你真的很"帥"!’)
print(’’’‘哇!‘你真的很"帥"!’’’)
輸出內容:

輸出變數型別
x=‘hello world!’
print(x)
s=13
print(s)
l=[1,2,3,‘p’]
print(l)

格式化輸出
輸出的內容中包含定義的引數時,
name=input(‘請輸入你的姓名:’)
time=‘2017年12月19日’
print(’%s歡迎光臨!’%name)
輸出內容

%字符:標記轉換說明符的開始 ,s表示格式轉換型別為字串,f表示十進制浮點數,d表示帶符號的十進制整數
當有兩個輸出引數的使用,在%(引數1,引數2)列出需要傳參的引數名
name=input(‘請輸入你的姓名:’)
time=‘2017年12月19日’
print(’%s歡迎光臨!’%name)
print(’%s歡迎光臨!時間是:%s’%(name,time))
輸出內容:

+的形式進行字串拼接:
name=input(‘請輸入你的姓名:’)
time=‘2017年12月19日’
print(’%s歡迎光臨!’%name)
print(name+‘歡迎光臨!’)
輸出內容:

可以看到字串拼接 + 的輸出內容與%形式的轉換是一樣的;
還有一種方式更加簡便快捷常用,{}的形式進行傳參
name=input(‘請輸入你的姓名:’)
time=‘2017年12月19日’
print(’%s歡迎光臨!’%name)
print(’%s歡迎光臨!時間是:%s’%(name,time))
print(name+‘歡迎光臨!’)
print(’{}歡迎光臨!時間是:{}’.format(name,time))
輸出內容:
請輸入你的姓名:pei
pei歡迎光臨!
pei歡迎光臨!時間是:2017年12月19日
pei歡迎光臨!
pei歡迎光臨!時間是:2017年12月19日
當引數較多時,可能會記憶混亂出現傳參錯誤的情況,此時我們可重新定義一下傳參的內容:如下實作方法
name=input(‘請輸入你的姓名:’)
time=‘2017年12月19日’
print(’%s歡迎光臨!’%name)
print(’%s歡迎光臨!時間是:%s’%(name,time))
print(name+‘歡迎光臨!’)
print(’{}歡迎光臨!時間是:{}’.format(name,time))
print(’{username}歡迎光臨!時間是:{localtime}’.format(username=name,localtime=time))
輸出內容:

2、條件判斷基本使用方法
語法:
if 條件運算式:
陳述句塊
例子:
如果成績達到80分或以上,視為優秀,
成績達到60分到80分(不包括80分),視為及格,
成績60分以下,視為不及格,
我們輸入一個分數,用if陳述句判斷是否能列印出分數所屬階段:
score =input(‘請輸入分數:’)
if score >= 80:
print(‘優秀’)
elif score >=60 and score<80:
print(‘及格’)
else:
print(‘不及格!’)
執行上面的陳述句,輸入分數為89,看執行結果

上述結果我們看到執行報錯了,str型別的與int型別不能進行比較;
因為score為一個輸入型別的變數,而input函式所有形式的輸入按字串處理,如果想要得到其他型別的資料進行強制型別轉化,此處我們需要對輸入內容強制進行轉化,如下
score =int(input(‘請輸入分數:’))
if score >= 80:
print(‘優秀’)
elif score >=60 and score<80:
print(‘及格’)
else:
print(‘不及格!’)
執行上述代碼,輸入分數為99,查看輸出結果

輸入分數為78,查看輸出結果

輸入分數為55,查看輸出結果

2、for回圈和while回圈的基本使用方法
for回圈
for something in XXXX:
陳述句塊
即表示對XXXX中的每一個元素,執行某些陳述句塊,XXXX可以是串列,字典,元組,迭代器等等,
如下
for x in range(10):
print(‘test’)
執行查看輸出結果,輸入了10次test

while回圈:
while 條件運算式1:
陳述句塊
while 回圈不會迭代 list 或 tuple 的元素,而是根據運算式判斷回圈是否結束,while回圈會每次判斷 條件運算式1 是否為true,如果為true,則執行陳述句塊,否則退出回圈,
例如:
count=0
while count<3:
print(‘哈哈哈’)
count+=1
執行看一下結果

結果輸出了3次‘哈哈哈’,每一次輸入,count+1,直到不滿足條件count<3時,退出回圈,
continue和break
break:
直接退出整個回圈體;
continue:
跳出本次回圈,執行下一次回圈,
例如上邊的例子,我們加上break和continue來看一下結果
for x in range(10):
print(‘test’)
break
執行并查看結果

我們看到for回圈中添加break之后,執行一次,遇到break就退出回圈了,沒有繼續回圈,
在while中添加continue來試試:
count=0
while count<3:
count += 1
username=input(‘請輸入您的姓名:’)
if username==‘小王’:
print(’%s,歡迎光臨!’%username)
break
else:
print(‘您好,您重新輸入!’)
continue
else:
print(‘您好,輸入次數過多!’)
執行上述代碼,輸入姓名為:ww,查看結果

執行代碼,輸入姓名為:小王,查看結果

其中,字串的比較
相等:==
不等于 :=!
小于等于 :<=
大于等于:>=
我們再來試一個猜數字的例子
Python中的random模塊用于生成亂數,下面介紹一下random模塊中最常用的幾個函式,
random.random
random.random()用于生成一個0到1的隨機符點數: 0 <= n < 1.0
random.uniform
random.uniform的函式原型為:random.uniform(a, b),用于生成一個指定范圍內的隨機符點數,兩個引數其中一個是上限,一個是下限,如果a > b,則生成的亂數n: a <= n <= b,如果 a <b, 則 b <= n <= a,
random.randint
random.randint()的函式原型為:random.randint(a, b),用于生成一個指定范圍內的整數,其中引數a是下限,引數b是上限,生成的亂數n: a <= n <= b
random.randrange
random.randrange的函式原型為:random.randrange([start], stop[, step]),從指定范圍內,按指定基數遞增的集合中 獲取一個亂數,如:random.randrange(10, 100, 2),結果相當于從[10, 12, 14, 16, … 96, 98]序列中獲取一個亂數,random.randrange(10, 100, 2)在結果上與 random.choice(range(10, 100, 2) 等效,
random.choice
random.choice從序列中獲取一個隨機元素,其函式原型為:random.choice(sequence),引數sequence表示一個有序型別,這里要說明 一下:sequence在python不是一種特定的型別,而是泛指一系列的型別,list, tuple, 字串都屬于sequence,
random.shuffle
random.shuffle的函式原型為:random.shuffle(x[, random]),用于將一個串列中的元素打亂,
random.sample
random.sample的函式原型為:random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷,sample函式不會修改原有序列,
首先需要匯入random模塊
import random
random_num=random.randint(1,1999)
print(random_num)
執行查看結果為 736 ,取了一個亂數,
下面來寫猜數字的例子:如果7次之內猜出數字,則結束,如果錯誤,輸入超過7次后結束,
import random # 匯入random模塊
random_num = random.randint(1, 500)
count = 0
while count < 7:
count += 1
num = int(input(‘請輸入你猜的數字:’))
if num > random_num:
print(‘你猜的太大了’)
continue
elif num < random_num:
print(‘你猜的太小了’)
continue
else:
print(‘恭喜你猜對了,答案是:%s’%num)
break
執行輸入相應的數字,查看結果

好了,今天先說到這里,后續繼續學習,

上面是我收集的一些視瞥澩,在這個程序中幫到了我很多,如果你不想再體驗一次自學時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以加入我們扣扣群【313782132 】,里面有各種軟體測驗資源和技術討論,

更多好文章分享:
原來功能測驗轉成自動化測驗這么簡單?
見識了解python自動化測驗(3)
測驗大神的作業經驗總結
Python究竟有多簡單?
趕快進來學習了解與交流吧,我是一包傷心的辣條,關注小編,我帶你玩轉職場,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/142279.html
標籤:其他
上一篇:快手爬蟲 解決粉絲數 關注數等字體加密 python快手爬蟲
下一篇:python 打包exe出現RuntimeError: Could not find the matplotlib data files 的解決方法
