成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

【Python3學(xué)習(xí)】走進(jìn)Python

fuchenxuan / 689人閱讀

摘要:如為,小數(shù)點(diǎn)后兩位是,存在四舍五入。在中,有一個(gè)小坑,就是并不是真正的四舍五入如圖而可以這樣的總結(jié)為在奇數(shù)的時(shí)候,是四舍五入,在偶數(shù)的時(shí)候是五舍六入函數(shù)執(zhí)行后輸出的提示返回的是數(shù)據(jù)類型是,所以有時(shí)需要進(jìn)行類型轉(zhuǎn)換,這樣的函數(shù)。

Python語(yǔ)言的概述

Pyhthon 是 蟒蛇的意思。
python語(yǔ)言的擁有者是 Python Software Foundation(PSF)
RSF是一個(gè)非盈利組織,致力于保護(hù)Python語(yǔ)言開放、開源和發(fā)展。

可以說(shuō):
Python語(yǔ)言是一個(gè)由編程牛人領(lǐng)導(dǎo)設(shè)計(jì)開發(fā)的編程語(yǔ)言
Python語(yǔ)言是一個(gè)有開放、開源精神的編程語(yǔ)言
從應(yīng)用上講,Python語(yǔ)言應(yīng)用于火星探測(cè)、搜索引擎、引力波等眾多領(lǐng)域

python的環(huán)境搭建

在ubuntu里面內(nèi)置了python的環(huán)境,可以在終端中輸入命令python2來(lái)進(jìn)入python2的環(huán)境,輸入python3來(lái)進(jìn)入python3的運(yùn)行環(huán)境。很是方便。

至于window版本,以后再補(bǔ)充。

第一個(gè)Python程序

學(xué)習(xí)編程少不了helloWorld!
所以開始吧!
有三種方式運(yùn)行Python,第一種方式直接在終端上操作,第二種方式用文件方式執(zhí)行,第三種用ide集成開發(fā)環(huán)境運(yùn)行。

第一種

在終端輸入python3

寫下如下程序:

myString = "hello world!"
print(myString)

第二種

在某一個(gè)文件中,書寫程序。并命名后綴名為.py

打開終端,見圖

 安裝插件

python 都是通過(guò)pip命令進(jìn)行安裝的,所以首先安裝pip
在終端中輸入sudo apt install python-pip安裝pip

安裝第一個(gè)插件

安裝科學(xué)計(jì)算包numpy
只需輸入命令pip install numpy就可以了,方便吧。

它提示pip需要更新,所以只要輸入pip install update pip即可更新。

另一種安裝插件的方法

使用python開發(fā)平臺(tái)(繼承軟件包)類似于ide,如anaconda

注釋

使用#來(lái)進(jìn)行注釋單行。
使用來(lái)進(jìn)行續(xù)行,

 無(wú)須續(xù)行符的情況
1.括號(hào)內(nèi)()  []?。?2. `"""`三引號(hào)下包括的字符串也可以跨行書寫。
縮進(jìn)

在python中,縮進(jìn)相當(dāng)重要,他代表著不同的語(yǔ)句塊。常用四個(gè)空格

python基礎(chǔ) 變量

變量用來(lái)標(biāo)識(shí)一個(gè)對(duì)象或者引用一個(gè)對(duì)象。和其他語(yǔ)言相同。使用變量名,大小寫敏感。

常量

python中是沒(méi)有常量一說(shuō)的,任何的量都是可以變得。但是我們可以通過(guò)一些方法來(lái)實(shí)現(xiàn)。如創(chuàng)建一個(gè)常量類。

關(guān)于變量的命名準(zhǔn)許你一定的規(guī)則:

必須是字母、數(shù)字、下劃線和漢字等字符組合。

如:python123 python是一門好語(yǔ)言

大小寫敏感,開頭不能是數(shù)字,同時(shí)不能與python保留字相同。駝峰式命名法。

【注】True和False是首字母大寫的,和Java語(yǔ)言不同。

運(yùn)算符

運(yùn)算符在運(yùn)算符有很多種類型。

算數(shù)運(yùn)算符 
+ - * / % **(乘方) //(取整)
位運(yùn)算符
~(取反) &(與) |或 ^異或 <<左移 >>右移
比較運(yùn)算符
< > <= >= == !=
邏輯運(yùn)算符
not and or
賦值

=來(lái)賦值。
不需要顯示的來(lái)聲明類型,為什么呢?因?yàn)閜ython是一種動(dòng)態(tài)的強(qiáng)類型語(yǔ)言。根據(jù)值來(lái)確定類型。
和其他語(yǔ)言不同的是,python是通過(guò)引用的方式來(lái)實(shí)現(xiàn)賦值。python中所有的賦值都是將一個(gè)引用指向相應(yīng)的內(nèi)存單元。

增量賦值

如:*= += /= *= %= **= <<= >>= &= |= ^=
他們的實(shí)際就是 x += 1等價(jià)于 x = x +1

鏈?zhǔn)劫x值

可以使用x = y = 1這樣的方式進(jìn)行賦值,從右向左。

多重賦值

x,y = 3,4這個(gè),運(yùn)算符,在python中代表著一種元組的數(shù)據(jù)結(jié)構(gòu),為了更加清晰,建議加上括號(hào)(x,y)=(3,4)

介于python中不同于其他語(yǔ)言的賦值方式,可以使用下面的不同賦值形式來(lái)進(jìn)行兩個(gè)元素的互換:x,y = y,x當(dāng)然應(yīng)該寫成(x,y)=(y,x)

更加細(xì)致的解釋后續(xù)再說(shuō)

數(shù)據(jù)類型

python是一種動(dòng)態(tài)的強(qiáng)類型語(yǔ)言,分為數(shù)字類型(整型、浮點(diǎn)型)布爾類型

Numbers類型

Numbers類型分為四種基本類型int long float complex

int

對(duì)于int而言,在python2.2以后的版本,將他擴(kuò)展到了和計(jì)算機(jī)內(nèi)存有關(guān)的很大的一個(gè)數(shù),不像其他語(yǔ)言會(huì)溢出。所以對(duì)于int和long已沒(méi)有本質(zhì)的區(qū)別。

也就是說(shuō) 在32位機(jī)器上面,int的值范圍是:2^31 -- 2^31-1
在64位機(jī)器上面,int的范圍是:2^63 -- 2^63-1
這個(gè)數(shù)字可是相當(dāng)大了。

float

對(duì)于float類型也就是常說(shuō)的實(shí)數(shù),如5.33
同樣float類型可以用科學(xué)計(jì)數(shù)法表示。
在python輸入1.2e-2則會(huì)輸出:

complex

complex是復(fù)數(shù)形式。復(fù)數(shù)分為實(shí)部和虛部,虛部必須有j
復(fù)數(shù)類型,有很多方法。
可以使用復(fù)數(shù).real獲取實(shí)數(shù)部分
使用復(fù)數(shù).imag獲取虛數(shù)部分
使用復(fù)數(shù).conjugate獲取它的共軛復(fù)數(shù)。

序列類型

序列類型可以分為字符串(String)、列表、元祖

String類型

可以使用" " """來(lái)包裹String,字符串是不可變類型??梢允褂?b>[]運(yùn)算符來(lái)進(jìn)行元素的獲??;提供遞增索引和遞減索引
也就是說(shuō)正向 0 , 1 , ...
反向: -1 , -2 ,...

關(guān)于字符串的操作有切片:
使用[M:N]命令,即可取出M-N的字符,包左不包右。包括N

列表

使用[]表示,中間的元素用,分離,英文為L(zhǎng)ist,可變類型

通過(guò)保留字in,來(lái)查詢一個(gè)元素是否在列表中。

元組

“圓”組,“圓”組,必須用圓括號(hào)啦,,,()它是不可變類型。

映射類型

用{}表示,里面是一些鍵值對(duì),s = {"hello":"world"}
獲取值通過(guò)s["hello"]同樣是[]操作符。

Python的變量管理

首先每個(gè)對(duì)象在創(chuàng)建的時(shí)候都會(huì)有一個(gè)身份id,這個(gè)id可以使用id()函數(shù)來(lái)查看.
對(duì)于float類型變量來(lái)說(shuō),它存儲(chǔ)的方式就和我們之前說(shuō)的一樣,每創(chuàng)建一個(gè)變量就將其指向一個(gè)地址.

而為了使運(yùn)行更加高效,針對(duì)于小整數(shù)(并無(wú)確切范圍)和字符串是不可變得,也就是說(shuō),只會(huì)為相同的數(shù)據(jù)創(chuàng)建一次.

可以說(shuō)明一切

對(duì)于一些較大的整數(shù)還是會(huì)按正常方式創(chuàng)建

函數(shù)

函數(shù)分為內(nèi)建函數(shù)和非內(nèi)建函數(shù),內(nèi)建函數(shù)可以通過(guò)使用命令`dir(__builtins__)`來(lái)進(jìn)行列出.
而非內(nèi)建函數(shù)則需要導(dǎo)入相應(yīng)的模塊.

一些函數(shù)
print函數(shù)

print(變量/字符串)
輸出語(yǔ)句
【注】在Python2中,語(yǔ)法和python3有所不同,需要python + 輸出的內(nèi)容,如上面的helloworld程序,在python2中需要這樣寫:print myString

格式化print函數(shù),有些時(shí)候我們需要按照一定的格式向外輸出語(yǔ)句,現(xiàn)在就需要格式化了。

print("轉(zhuǎn)換后的溫度值為{:.2f}C".format(C))

上面的{}表示槽,后續(xù)變量會(huì)填充在槽中,{:.2f}表示將變量C填充到這個(gè)位置時(shí)取小數(shù)點(diǎn)后兩位。如C為12.3456,小數(shù)點(diǎn)后兩位是12.35,存在四舍五入。

round函數(shù)

round函數(shù)方法返回浮點(diǎn)數(shù)的整數(shù)值,注意是整數(shù)值。具體的規(guī)則看下面。
在python3中,有一個(gè)小坑,就是round()并不是真正的四舍五入.如圖

而可以這樣的總結(jié)為:在奇數(shù)的時(shí)候,是四舍五入,在偶數(shù)的時(shí)候是五舍六入.

input函數(shù)

input("執(zhí)行后輸出的提示")
返回的是數(shù)據(jù)類型是str,所以有時(shí)需要進(jìn)行類型轉(zhuǎn)換,int(),float()這樣的函數(shù)。也可以通過(guò)eval()把他當(dāng)成有效的python表達(dá)式來(lái)求值并返回計(jì)算結(jié)果。

eval函數(shù)

去掉參數(shù)最外側(cè)引號(hào)并執(zhí)行余下語(yǔ)句的函數(shù)。評(píng)估函數(shù)。

模塊

所謂模塊,就是一個(gè).py文件.
在物理上的組織方式我們稱為文件.
而在邏輯上的組織方式我們就稱為模塊.
這樣說(shuō)來(lái)這個(gè)就是說(shuō)法不同而已.

所謂的包,就是有層次的文件目錄結(jié)構(gòu).
如下:

AAA/
    __int__.py
    bbb.py
    CCC/
        __int__.py
        c1.py
        ...
    DDD/
        __int__.py
        ...
    EEE/

以上就是一個(gè)一個(gè)目錄結(jié)構(gòu),如果我們要導(dǎo)入具體的模塊的話,如c1的話,就需要如下命令:

>>>import AAA.CCC.c1
>>>AAA.CCC.c1.func1(123)//通過(guò)import導(dǎo)入的,我們還需要寫前面的一大堆

>>>from AAA.CCC.c1 import func1
>>>func1(123)//這個(gè)就可以直接寫函數(shù)
如何導(dǎo)入模塊呢?

有以下幾種方式:

import 包名.類名
import 包名.類名,包名.類名
from 包名.類名 import 具體的屬性和函數(shù)

用import和from import有什么區(qū)別呢?
import:導(dǎo)入包,使用時(shí)要用包.屬性和方法來(lái)使用
from import:將包中的某個(gè)屬性和方法導(dǎo)入,直接用方法和屬性直接使用。

還有一個(gè)不同的地方在于,from import 因?yàn)槭侵苯訉?dǎo)的方法和屬性,這就存在著重名的問(wèn)題,如果程序很大 ,那么重名的就很難受,所以from import 適用于小型代碼量。

語(yǔ)句 分支語(yǔ)句

if : elif : else : ,來(lái)表示條件判斷分支語(yǔ)句。

循環(huán)語(yǔ)句 for循環(huán)
for 變量 in 可迭代對(duì)象:
    被執(zhí)行的語(yǔ)句

可迭代對(duì)象包括:String List Tuple Dictionary File
【注意】for j in range(10)類似這種的,在跳出循環(huán),j不會(huì)像其他高級(jí)語(yǔ)言一樣跳出之后再+1。

Range函數(shù)也生成一個(gè)可迭代的對(duì)象。
例如:

for i in range(5)
    print(i)

輸出:
0
1
2
3
4

range(N)函數(shù),產(chǎn)生循環(huán)計(jì)數(shù)序列的
range(M,N):產(chǎn)生M到N-1的整數(shù)序列。
range(M,N,Step):步長(zhǎng)
當(dāng)缺省step時(shí),默認(rèn)值為1,
缺省start和step 默認(rèn)值0 和 1
end不能缺省。
range(5): 0,1,2,3,4 產(chǎn)生0到N-1的整數(shù)序列,共N個(gè)

range()生成的是一個(gè)range對(duì)象,類似于一個(gè)生成器generator,可迭代。
可以用在列表解析和生成器表達(dá)式中,具體如下:

列表解析
>>> [i for i in range(10)]
[0,1,2,3,4,5,6,7,8,9]
>>> [i + 1 for i in range(10) if i%2 == 0 ]
[1,3,5,7.9]
生成器表達(dá)式
>>> (i+1 for i in range(10) if i % 2 == 0)
 at 0x00000100392405900> #生成一個(gè)生成器對(duì)象而不是列表

一般在數(shù)據(jù)量大的時(shí)候用生成器表達(dá)式,在數(shù)據(jù)量小的時(shí)候用列表解析。

while循環(huán)
while 條件:
    循環(huán)語(yǔ)句
continue break 和else

break:跳出當(dāng)前循環(huán)
continue:跳出本次循環(huán)
else:如果循環(huán)代碼從break出終止,跳出循環(huán)
如果正常結(jié)束循環(huán),則執(zhí)行else中的代碼

如:

from math import sqrt
num = int(input("Please enter a number:"))
j = 2 
while j <= int(sqrt(num)):
    if num% j == 0:
        print("{:d} is not prime".format(num))
        break
    j += 1
else:
    print("{:d} is a prime".format(num))
自定義函數(shù)
def 函數(shù)名(參數(shù)):
    文檔字符串"apply operation + to argument"
    函數(shù)體

通過(guò)print fn.__doc__來(lái)獲取文檔字符串

默認(rèn)參數(shù)

默認(rèn)參數(shù)可以按照以下給出:

def f(x,y=True):
    ...
    ...

這樣在調(diào)用的時(shí)候,如果不給出默認(rèn)參數(shù)就會(huì)直接傳入默認(rèn)參數(shù)。
如調(diào)用f(20)其實(shí)等同于`f(20,True)

【注】不可以將默認(rèn)參數(shù)放在其他參數(shù)的前面。結(jié)合前面的例子:如

def f(x = True,y):
    ...

如果以上可行的話,調(diào)用f(False)是將False傳給哪一個(gè)呢?

關(guān)鍵字參數(shù)

關(guān)鍵字參數(shù)指的是,在調(diào)用函數(shù)的時(shí)候,可以自己指定參數(shù)。如
調(diào)用上面的f函數(shù),可以這樣調(diào)用:f(y= False,x=20)這樣就可以打亂順序自己定義。

【注】:一旦出現(xiàn)了一個(gè)關(guān)鍵字定義了,就必須全部,可以理解為,有兩種模式,一種是普通的參數(shù)傳遞,另一種就是這個(gè)按鍵值進(jìn)行傳,我把這個(gè)開關(guān)打開了,你就必須全部按照這個(gè)規(guī)則去做、

函數(shù)傳遞

函數(shù)可以作為參數(shù)進(jìn)行傳遞。

lambda表達(dá)式

所謂的lambda表達(dá)式,其實(shí)是匿名函數(shù)。
它是這樣的格式:

lambda 參數(shù)1,參數(shù)2,... : 返回的值

當(dāng)然這個(gè)lambda表達(dá)式賦值給一個(gè)變量就可以通過(guò)這個(gè)變量進(jìn)行調(diào)用了。

如:

r = lambda x : x+x
r(5)

輸出:

10

其實(shí)就是等同于以下語(yǔ)句:

def r(x):
    return x + x
測(cè)試

=

1單選(1分)
以下哪一個(gè)語(yǔ)句不可以打印出"hello world"字符串(結(jié)果需在同一行)?

A.print("hello world")

B.print("""hello 
    world""")

1.00/1.00
C. print("hello 
    world")

D.print("hello world")

2單選(1分)
Python中input()函數(shù)的返回的是以下哪一種類型?

A.dict
B.int
C.list
D.str
1.00/1.00

3單選(1分)
以下關(guān)于模塊module的描述中錯(cuò)誤的是哪一項(xiàng)?

A.用import導(dǎo)入了模塊之后,可以按照“模塊.函數(shù)”的格式使用這個(gè)模塊的函數(shù)
B.一個(gè)完整的Python文件即是一個(gè)模塊,是增強(qiáng)Python功能的擴(kuò)展
C.Python目前還不支持一次性導(dǎo)入多個(gè)模塊
1.00/1.00
D.可以使用變量來(lái)引用函數(shù),例如可以通過(guò)bar=math.sqrt進(jìn)行賦值,然后就可以使用bar來(lái)進(jìn)行計(jì)算平方根,例如bar(9)結(jié)果是3.0

4單選(1分)

以下關(guān)于Python的賦值說(shuō)法中錯(cuò)誤的是哪一個(gè)選項(xiàng)?

A.Python 賦值時(shí)大小寫不敏感
1.00/1.00
B.Python中同一個(gè)變量名在不同位置可以被賦予不同的類型與數(shù)值
C.Python中不需要顯式聲明該變量的類型,根據(jù)“值”確定類型
D.Python支持鏈?zhǔn)劫x值和多重賦值

5多選(1分)

以下表達(dá)式的計(jì)算結(jié)果是3(或3.0)的選項(xiàng)有哪些?

A.ord("D") – ord("A")
0.50/1.00
B.1 / 2 + 2.5
0.50/1.00
C.9 // 2 – 1.5
D.35 % 10

6多選(1分)

如果想要查看math庫(kù)中pi的取值是多少,可以利用以下什么方式(假設(shè)已經(jīng)執(zhí)行了import math,并且只要包含pi取值就可以)?

A.help(math)
0.50/1.00
B.dir(math)
C.print(math.pi)
0.50/1.00
D. print(pi)

7多選(1分)

以下哪些不是Python的關(guān)鍵字?

A.from
B.as
C.list
0.50/1.00
D.dict
0.50/1.00

8判斷(1分)

判斷如下陳述是否正確?

Python既可以在Shell中運(yùn)行執(zhí)行,也可以存儲(chǔ)成以.py為擴(kuò)展名的文本文件使用Python解釋器去執(zhí)行。

A.不可以
B.可以
1.00/1.00

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/44637.html

相關(guān)文章

  • Tensorflow快餐教程(2) - 標(biāo)量運(yùn)算

    摘要:在機(jī)器學(xué)習(xí)中,用途最廣泛的是向量和矩陣的運(yùn)算。同樣,也提供了到各種數(shù)據(jù)類型的轉(zhuǎn)換函數(shù)。定義這么多函數(shù)太麻煩了,還有一個(gè)通用的轉(zhuǎn)換函數(shù)格式為類型名。這在機(jī)器學(xué)習(xí)的計(jì)算中是件可怕的事情。只有是例外,它會(huì)立即返回這兩個(gè)是否是同一對(duì)象的結(jié)果。 Tensorflow的Tensor意為張量。一般如果是0維的數(shù)組,就是一個(gè)數(shù)據(jù),我們稱之為標(biāo)是Scalar;1維的數(shù)組,稱為向量Vector;2維的數(shù)組...

    gggggggbong 評(píng)論0 收藏0
  • [零基礎(chǔ)學(xué)python]一個(gè)免費(fèi)的實(shí)驗(yàn)室

    摘要:在學(xué)生時(shí)代,就羨慕實(shí)驗(yàn)室,老師在里面可以鼓搗各種有意思的東西。再后來(lái),終于發(fā)現(xiàn)原來(lái)計(jì)算機(jī)是一個(gè)最好的實(shí)驗(yàn)室。通過(guò)實(shí)驗(yàn),研究清楚了,才能在編程實(shí)踐中使用。其實(shí),這就是一個(gè)非常好的實(shí)驗(yàn)室。 在學(xué)生時(shí)代,就羨慕實(shí)驗(yàn)室,老師在里面可以鼓搗各種有意思的東西。上大學(xué)的時(shí)候,終于有機(jī)會(huì)在實(shí)驗(yàn)室做大量實(shí)驗(yàn)了,因?yàn)槲沂俏锢硐?,并且,遇到了一位非常令我尊敬的老師——高老師,讓我在他的?shí)驗(yàn)室里面,把所有已經(jīng)...

    soasme 評(píng)論0 收藏0
  • Sanic + 前端MVVM 一種新一代Python高性能全棧開發(fā)實(shí)踐

    摘要:前端一種新一代高性能全棧開發(fā)實(shí)踐背景本項(xiàng)目將使用配合最簡(jiǎn)單的邏輯來(lái)展示一個(gè)基于的全新一代高性能全棧開發(fā)實(shí)踐的為什么是對(duì)于為何不是等著名框架,或許可能很多人會(huì)產(chǎn)生疑惑,本身和非常的相似,而它的出現(xiàn),不僅是大大改進(jìn)過(guò)去時(shí)代性能低下通病,外加配 SanicCRUD-vue Sanic + 前端MVVM 一種新一代Python高性能全棧開發(fā)實(shí)踐showImg(https://segmentfa...

    Profeel 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<