摘要:從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個隨機(jī)數(shù),基數(shù)缺省值為隨機(jī)生成下一個實(shí)數(shù),它在范圍內(nèi)。從中選取一個奇數(shù)從選取一個隨機(jī)數(shù)不會改變隨機(jī)數(shù)生成器的種子。
1.Python基礎(chǔ)語法
轉(zhuǎn)自菜鳥教學(xué):https://www.runoob.com/python
1.1 簡單執(zhí)行命令
print("Hello,Python!)"
1.2 腳本文件添加可執(zhí)行權(quán)限
$chmod +x test.py #腳本文件添加可執(zhí)行權(quán)限 $ ./test.py
1.3 標(biāo)識符:
_foo代表不能直接訪問的類屬性,需通過類提供的接口進(jìn)行訪問,不能用from xxx import *而導(dǎo)入;
以雙下劃線開頭的__foo代表類的私有成員;以雙下劃線開頭結(jié)尾的__foo__代表Python里特殊方法專用的標(biāo)識,如__init__()代表類的構(gòu)造函數(shù)。
1.4 同一行顯示多條語句,用分號;隔開,如:
>>> print ("hello");print("Python");
1.5 多行語句顯示
Python語句中一般以新行作為語句的結(jié)束符。
但是我們可以使用斜杠( )將一行的語句分為多行顯示,如下所示:
total = item_one + item_two + item_three
語句中包含 [], {} 或 () 括號就不需要使用多行連接符。如下實(shí)例:
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
1.6 Python引號
Python 可以使用引號( " )、雙引號( " )、三引號( """ 或 """ ) 來表示字符串,引號的開始與結(jié)束必須的相同類型的。
其中三引號可以由多行組成,編寫多行文本的快捷語法,常用于文檔字符串,在文件的特定地點(diǎn),被當(dāng)做注釋。
word = "word" sentence = "這是一個句子。" paragraph = """這是一個段落。 包含了多個語句"""
1.7 Python空行
函數(shù)之間或類的方法之間用空行分隔,標(biāo)識一段新的代碼開始。
類和函數(shù)入口之間也用一行空行分隔,以突出函數(shù)入口的開始。
空行不會報(bào)錯,但是程序代碼的一部分。
1.8縮進(jìn)報(bào)錯提示:
IndentationError: unindent does not match any outer indentation level
錯誤表明,你使用的縮進(jìn)方式不一致,有的是 tab 鍵縮進(jìn),有的是空格縮進(jìn),改為一致即可。
如果是 IndentationError: unexpected indent 錯誤, 則 python 編譯器是在告訴你"Hi,老兄,你的文件里格式不對了,可能是tab和空格沒對齊的問題",所有 python 對格式要求非常嚴(yán)格。
因此,在 Python 的代碼塊中必須使用相同數(shù)目的行首縮進(jìn)空格數(shù)。
建議你在每個縮進(jìn)層次使用 單個制表符 或 兩個空格 或 四個空格 , 切記不能混用
變量存儲在內(nèi)存中的值。這就意味著在創(chuàng)建變量時會在內(nèi)存中開辟一個空間。
基于變量的數(shù)據(jù)類型,解釋器會分配指定內(nèi)存,并決定什么數(shù)據(jù)可以被存儲在內(nèi)存中。
因此,變量可以指定不同的數(shù)據(jù)類型,這些變量可以存儲整數(shù),小數(shù)或字符。
2.1變量賦值
Python 中的變量賦值不需要類型聲明。
每個變量在內(nèi)存中創(chuàng)建,都包括變量的標(biāo)識,名稱和數(shù)據(jù)這些信息。
每個變量在使用前都必須賦值,變量賦值以后該變量才會被創(chuàng)建。
等號(=)用來給變量賦值。
等號(=)運(yùn)算符左邊是一個變量名,等號(=)運(yùn)算符右邊是存儲在變量中的值。例如:
counter = 100 # 賦值整型變量 miles = 1000.0 # 浮點(diǎn)型 name = "John" # 字符串 print(counter) print(miles) print(name)
2.2 多個變量賦值
Python允許你同時為多個變量賦值。例如:
a = b = c = 1
以上實(shí)例,創(chuàng)建一個整型對象,值為1,三個變量被分配到相同的內(nèi)存空間上。
您也可以為多個對象指定多個變量。例如:
a,b,c=1,2,"john"
以上實(shí)例,兩個整型對象 1 和 2 分別分配給變量 a 和 b,字符串對象 "john" 分配給變量 c。
2.3 標(biāo)準(zhǔn)數(shù)據(jù)類型
在內(nèi)存中存儲的數(shù)據(jù)可以有多種類型。
例如,一個人的年齡可以用數(shù)字來存儲,他的名字可以用字符來存儲。
Python 定義了一些標(biāo)準(zhǔn)類型,用于存儲各種類型的數(shù)據(jù)。
Python有五個標(biāo)準(zhǔn)的數(shù)據(jù)類型:
Numbers(數(shù)字)
String(字符串)
List(列表)
Tuple(元組)
Dictionary(字典)
2.3.1 Python數(shù)字
數(shù)字?jǐn)?shù)據(jù)類型用于存儲數(shù)值。
他們是不可改變的數(shù)據(jù)類型,這意味著改變數(shù)字?jǐn)?shù)據(jù)類型會分配一個新的對象。
當(dāng)你指定一個值時,Number對象就會被創(chuàng)建:
var1 = 1
var2 = 10
您也可以使用del語句刪除一些對象的引用。
del語句的語法是:
del var1[,var2[,var3[....,varN]]]]
您可以通過使用del語句刪除單個或多個對象的引用。例如:
del var del var_a, var_b
數(shù)學(xué)函數(shù)
1)隨機(jī)數(shù)函數(shù)
choice(seq)
從序列的元素中隨機(jī)挑選一個元素,比如random.choice(range(10)),從0到9中隨機(jī)挑選一個整數(shù)。seq -- 可以是一個列表,元組或字符串。
print("",random.choice(range(10,20))) print("",random.choice([1,2,3,4,5,6,7,8,9])) print("",random.choice("GOOD!")) print("",random.choice(["WL","YL","LY","QD","MY","LV","JX","SY","Teacher"])) randrange ([start,] stop [,step])
從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個隨機(jī)數(shù),基數(shù)缺省值為1
random()
隨機(jī)生成下一個實(shí)數(shù),它在[0,1)范圍內(nèi)。
import random print ("", random.randrange(1, 100, 2)) # 從 1-100 中選取一個奇數(shù) print (" ", random.randrange(100))# 從 0-99 選取一個隨機(jī)數(shù)
▲▲▲不會seed([x])
改變隨機(jī)數(shù)生成器的種子seed。如果你不了解其原理,你不必特別去設(shè)定seed,Python會幫你選擇seed。
import random random.seed() print ("使用默認(rèn)種子生成隨機(jī)數(shù):", random.random()) random.seed(10) print ("使用整數(shù)種子生成隨機(jī)數(shù):", random.random()) random.seed("hello",2) print ("使用字符串種子生成隨機(jī)數(shù):", random.random())
結(jié)果:
使用默認(rèn)種子生成隨機(jī)數(shù): 0.9186252047469824 使用整數(shù)種子生成隨機(jī)數(shù): 0.5714025946899135 使用字符串種子生成隨機(jī)數(shù): 0.3537754404730722
shuffle(lst)
將序列的所有元素隨機(jī)排序。
import random list = [20, 16, 10, 5]; random.shuffle(list) print ("隨機(jī)排序列表 : ", list) random.shuffle(list) print ("隨機(jī)排序列表 : ", list)
uniform(x, y)
隨機(jī)生成下一個實(shí)數(shù),它在[x,y]范圍內(nèi)。
import random print ("uniform(5, 10) 的隨機(jī)浮點(diǎn)數(shù) : ", random.uniform(0, 27)) print ("uniform(7, 14) 的隨機(jī)浮點(diǎn)數(shù) : ", random.uniform(27, 28))
2)三角函數(shù)
acos(x)
返回x的反余弦弧度值。
asin(x)
返回x的反正弦弧度值。
atan(x)
返回x的反正切弧度值。
atan2(y, x)
返回給定的 X 及 Y 坐標(biāo)值的反正切值。
cos(x)
返回x的弧度的余弦值。
hypot(x, y)
返回歐幾里德范數(shù) sqrt(xx + yy)。
sin(x)
返回的x弧度的正弦值。
tan(x)
返回x弧度的正切值。
degrees(x)
將弧度轉(zhuǎn)換為角度,如degrees(math.pi/2) , 返回90.0
radians(x)
將角度轉(zhuǎn)換為弧度
數(shù)學(xué)常量:pi,e
2.3.1.1 Python支持四種不同的數(shù)字類型:
int(有符號整型)
long(長整形[也可以代表八進(jìn)制和十六進(jìn)制])
float(浮點(diǎn)型)
complex(復(fù)數(shù))
長整型也可以使用小寫 l,但是還是建議您使用大寫 L,避免與數(shù)字 1 混淆。Python使用 L 來顯示長整型。
Python 還支持復(fù)數(shù),復(fù)數(shù)由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,可以用 a + bj,或者 complex(a,b) 表示, 復(fù)數(shù)的實(shí)部 a 和虛部 b 都是浮點(diǎn)型。
2.3.2 Python字符串
字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。
一般記為 :
s="a1a2···an"(n>=0)
它是編程語言中表示文本的數(shù)據(jù)類型。
python的字串列表有2種取值順序:
從左到右索引默認(rèn)0開始的,最大范圍是字符串長度少1
從右到左索引默認(rèn)-1開始的,最大范圍是字符串開頭
如果你要實(shí)現(xiàn)從字符串中獲取一段子字符串的話,可以使用 [頭下標(biāo):尾下標(biāo)] 來截取相應(yīng)的字符串,其中下標(biāo)是從 0 開始算起,可以是正數(shù)或負(fù)數(shù),下標(biāo)可以為空表示取到頭或尾。
[頭下標(biāo):尾下標(biāo)] 獲取的子字符串包含頭下標(biāo)的字符,但不包含尾下標(biāo)的字符。
比如:
>>> s = "abcdef" >>> s[1:5] "bcde"
加號(+)是字符串連接運(yùn)算符,星號(*)是重復(fù)操作。如下實(shí)例:
實(shí)例(Python 2.0+)
str = "Hello World!" print str # 輸出完整字符串 print str[0] # 輸出字符串中的第一個字符 print str[2:5] # 輸出字符串中第三個至第五個之間的字符串 print str[2:] # 輸出從第三個字符開始的字符串 print str * 2 # 輸出字符串兩次 print str + "TEST" # 輸出連接的字符串
以上實(shí)例輸出結(jié)果:
Hello World! H llo llo World! Hello World!Hello World! Hello World!TEST
字符串是 Python 中最常用的數(shù)據(jù)類型。我們可以使用引號("或")來創(chuàng)建字符串。
創(chuàng)建字符串很簡單,只要為變量分配一個值即可。例如:
var1 = "Hello World!" var2 = "Runoob" print ("var1[0]: ", var1[0]) print ("var2[1:5]: ", var2[1:5])
字符串更新
var1 = "Hello yelin" print("",var1[:6]+"hongsheng")
Python轉(zhuǎn)義字符
(在行尾時) 續(xù)行符 反斜杠符號 "單引號 "雙引號 a響鈴 退格(Backspace) e轉(zhuǎn)義