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