python高性能編程 pdf,python 核心編程 第一部分

 2023-10-06 阅读 29 评论 0

摘要:2.2 python高性能編程 pdf。%s 表示由一個字符串來替換,而%d 表示由一個整數來替換,另外一個很常用的就是%f, 它表示由一個浮點數來替換 ? print ('I am %s,%d years old !'%('kaili',8))print ('momey %f'%7.356)輸出:

2.2

python高性能編程 pdf。%s 表示由一個字符串來替換,而%d 表示由一個整數來替換,另外一個很常用的就是%f, 它
表示由一個浮點數來替換

?

print ('I am %s,%d years old !'%('kaili',8))print ('momey %f'%7.356)輸出:
I am kaili,8 years old !
momey 7.356000

python核心編程3??

# 將輸出重定向到日志文件
logfile = open(r'D:/pythontest/test.txt','a')
print ('Fatal error: invalid input!',file=logfile)
logfile.close()重定向輸出到日志文件中,'a'表示從日志最后一行追加
Fatal error: invalid input!
'''從用戶那里得到數據輸入的最容易的方法是使用input()內建函數。 它讀取標準輸入,
并將讀取到的數據賦值給指定的變量。 你可以使用 int() 內建函數將用戶輸入的字符串轉換
為整數'''# 文本輸入
user = input('qing shu ru')
print('shu ru:',user)# 輸入一個數值字符串(并將字符串轉換為整數)
age = input('qing shu ru')
print('age is:%d'%(int(age)+5))輸出:
qing shu rutangjian
shu ru: tangjian
qing shu ru2
age is:7

?

Python 中的標準算術運算符
+ - * / // % **
加、減、乘、除和取余都是標準運算符。Python 有兩種除法運算符,單斜杠用作傳統除法,
雙斜杠用作浮點除法(對結果進行四舍五入)。而浮點除法是真正的除法,不管操作數是什么類型,浮點除法總是執行真正的除法。
乘方運算符, 雙星號(**)有標準比較運算符, 比較運算根據表達式的值的真假返回布爾值:
< <= > >= == != <>邏輯運算符:
and or not
使用邏輯運算符可以將任意表達式連接在一起,并得到一個布爾值
Python 是動態類型語言, 也就是說不需要預先聲明變量的類型。 變量的類型和值在賦值
那一刻被初始化。變量賦值通過等號來執行。
Python 支持五種基本數字類型,其中有三種是整數類型。 int (有符號整數) 
long (長整數) 
bool (布爾值) 
float (浮點值) 
complex (復數) 
下面是一些例子: 
Python 中有兩種有趣的類型是 Python 的長整型和復數類型。請不要將 Python 的長整數
與 C 語言的長整數混淆。Python 的長整數所能表達的范圍遠遠超過 C 語言的長整數, 事實上,
Python 長整數僅受限于用戶計算機的虛擬內存總數。如果你熟悉 Java, Python 的長整數類似
于 Java 中的 BigInteger 類型。

從長遠來看, 整型與長整型正在逐步統一為一種整數類型。從 Python2.3 開始,再也不會
報整型溢出錯誤, 結果會自動的被轉換為長整數。在未來版本的 Python 中, 兩種整數類型將
會無縫結合, 長整數后綴 “L”也會變得可有可無。
布爾值是特殊的整數。 盡管布爾值由常量 True 和 False 來表示, 如果將布爾值放到一
個數值上下文環境中(比方將 True 與一個數字相加), True 會被當成整數值 1, 而 False
則會被當成整數值 0。 復數(包括-1 的平方根, 即所謂的虛數)在其它語言中通常不被直接
支持(一般通過類來實現)

python核心編程怎么樣、?

字符串賦值換行時如下:
gg = 'python ' \'is cool' \' okok'
print(gg)aa = 'ni hao' \'  a  ' \'shi  fff'
print(aa)輸出:
python is cool okok
ni hao  a  shi  fff
列表和元組有幾處重要的區別。列表元素用中括號( [ ])包裹,元素的個數及元素的值可
以改變。元組元素用小括號(( ))包裹,不可以更改(盡管他們的內容可以)。元組可以看成是
只讀的列表。通過切片運算( [ ] 和 [ : ] )可以得到子集,這一點與字符串的使用方法一樣。元組也可以進行切片運算,得到的結果也是元組(不能被修改)
字典是 Python 中的映射數據類型,工作原理類似 Perl 中的關聯數組或者哈希表,由鍵-
值(key-value)對構成。幾乎所有類型的 Python 對象都可以用作鍵,不過一般還是以數字或者
字符串最為常用。 
值可以是任意類型的 Python 對象,字典元素用大括號({ })包裹。

?

標準 if 條件語句的語法如下: 
if expression: if_suitePython 當然也支持 else 語句, 語法如下: 
if expression: if_suite 
else: else_suitePython 還支持 elif (意指 “else-if ”)語句,語法如下: 
if expression1: if_suite 
elif expression2: elif_suite 
else: else_suite
標準 while 條件循環語句的語法類似 if. 再說一次, 要使用縮進來分隔每個子代碼塊。 
while expression: while_suite語句 while_suite 會被連續不斷的循環執行, 直到表達式的值變成 0 或 False; 接著
Python 會執行下一句代碼。 類似 if 語句, Python 的 while 語句中的條件表達式也不需要用
括號括起來。 
>>> counter = 0 
>>> while counter < 3: 
... print 'loop #%d' % (counter) 
... counter += 1 
loop #0 
loop #1 
loop #2
Python 中的 for 接受可迭代對象(例如序列或迭代器)作為其參數,每次
迭代其中一個元素range()函數經常和 len()函數一起用于字符串索引。 在這里我們要顯示每一個元素及其
索引值: 
>>> foo = 'abc' 
>>> for i in range(len(foo)): 
... print foo[i], '(%d)' % i 
... 
a (0) 
b (1) 
c (2)

打開一個文件, 并顯示它的內容到屏幕上
 
logfile = open(r'D:/pythontest/test.txt','r')
for i in logfile:
print (i,end='')
# end -- 用來設定以什么結尾。默認值是換行符 \n,我們可以換成其他字符串。
# end="" 可使輸出不換行。雙引號之間的內容就是結束的內容,
# 可以是空格,也可以是其他字符。默認為換行
logfile.close()

輸出:
Fatal error: invalid input!
Fatal error: invalid input!

?

編譯時會檢查語法錯誤, 不過 Python 也允許在程序運行時檢測錯誤。當檢測到一個錯誤,
Python 解釋器就引發一個異常, 并顯示異常的詳細信息。程序員可以根據這些信息迅速定位
問題并進行調試, 并找出處理錯誤的辦法。 
要給你的代碼添加錯誤檢測及異常處理, 只要將它們封裝在 try-except 語句當中。 try 
之后的代碼組, 就是你打算管理的代碼。 except 之后的代碼組, 則是你處理錯誤的代碼。try:logfile = open(r'D:/pythontest/test.txt1','r')for i in logfile:print (i,end='')logfile.close()
except IOError as error:print(error)
#IOError,找不到文件時觸發
輸出:
[Errno 2] No such file or directory: 'D:/pythontest/test.txt1'

?

定義函數如下(使用def定義函數):
def addMe2Me(x): 'apply + operation to argument' return (x + x)
使用 class 關鍵字定義類。 可以提供一個可選的父類或者說基類; 如果沒有合適的基類,
那就使用 object 作為基類。class 行之后是可選的文檔字符串, 靜態成員定義, 及方法定
義。 
class FooClass(object): 
"""my very first class: FooClass""" 
version = 0.1 # class (data) attribute 
def __init__(self, nm='John Doe'): 
"""constructor""" 
self.name = nm # class instance (data) attribute 
print 'Created a class instance for', nm 
def showname(self): 
"""display instance attribute and class name""" 
print 'Your name is', self.name 
print 'My name is', self.__class__.__name__ 
def showver(self): 
"""display class(static) attribute""" 
print self.version # references FooClass.version 
def addMe2Me(self, x): # does not use 'self' 
"""apply + operation to argument""" 
return x + x在上面這個類中, 我們定義了一個靜態變量 version, 它將被所有實例及四個方法共享,
__init__(), showname(), showver(), 及熟悉的 addMe2Me(). 這些 show*()方法并沒有做什
么有用的事情, 僅僅輸出對應的信息。 __init__() 方法有一個特殊名字, 所有名字開始和
結束都有兩個下劃線的方法都是特殊方法。 
當一個類實例被創建時, __init__() 方法會自動執行, 在類實例創建完畢后執行, 類
似構建函數。__init__() 可以被當成構建函數, 不過不象其它語言中的構建函數, 它并不創
建實例--它僅僅是你的對象創建后執行的第一個方法。它的目的是執行一些該對象的必要的初
始化工作。通過創建自己的 __init__() 方法, 你可以覆蓋默認的 __init__()方法(默認的
方法什么也不做),從而能夠修飾剛剛創建的對象。在這個例子里, 我們初始化了一個名為 name 
的類實例屬性(或者說成員)。這個變量僅在類實例中存在, 它并不是實際類本身的一部分。
__init__()需要一個默認的參數, 前一節中曾經介紹過。毫無疑問,你也注意到每個方法都有
的一個參數, self. 
什么是 self ? 它是類實例自身的引用。其他語言通常使用一個名為 this 的標識符。
當一個實例被創建,__init__()就會被自動調用。不管這個__int__()是自定義的還是默認的。

?

函數 描述 
dir([obj]) 顯示對象的屬性,如果沒有提供參數, 則顯示全局變量的名字 ???????????????????????????????
help([obj]) 以一種整齊美觀的形式 顯示對象的文檔字符串, 如果沒有提供任何參
數, 則會進入交互式幫助。 
int(obj) 將一個對象轉換為整數 
len(obj) 返回對象的長度 
open(fn, mode) 以 mode('r' = 讀, 'w'= 寫,'a'=追加)方式打開一個文件名為 fn 的文件 range([[start,]stop[,step]) 返回一個整數列表。起始值為 start, 結束值為 stop - 1; start 
默認值為 0, step默認值為1。 
raw_input(str) 等待用戶輸入一個字符串, 可以提供一個可選的參數 str 用作提示信
息。 
str(obj) 將一個對象轉換為字符串 
type(obj) 返回對象的類型(返回值本身是一個 type 對象!)

?

# 分別使用while 和 for 創建一個循環:
# (a)寫一個while 循環,輸出整數從 0 到 10。(要確保是從 0 到 10, 而不是從 0到9或從1到10)
a = 0
while a < 11:print(a)a +=1# (b)做同(a)一樣的事, 不過這次使用range()內建函數
for i in range(11):print(i)
# 條件判斷 判斷一個數是正數,還是負數, 或者等于 0. 開始先用固定的數值,然
# 后修改你的代碼支持用戶輸入數值再進行判斷
a = int(input('請輸入數值'))
if a < 0:print('a is 負數')
elif a > 0:print('a is 正數')
else:print('a = 0')
# 循環和字串 從用戶那里接受一個字符串輸入,然后逐字符顯示該字符串。先用 while 循
# 環實現,然后再用 for 循環實現

a = input("請輸入字符串")
b = 0
while b < len(a):print(a[b])b += 1c = input("請輸入字符串")
for i in c:print(i)
# 循環和運算符 創建一個包含五個固定數值的列表或元組,輸出他們的和。然后修
# 改你的代碼為接受用戶輸入數值。 分別使用 while 和 for 循環實現
#使用while
# a = [1,2,3,4,5]
i = 0
b = 0
while i < len(a):b = b + a[i]i += 1
print(b)
# 使用for
a = [1,2,3,4,5]
b = 0
for i in a:b = b + i
print(b)# # 接受用戶輸入數值,使用WHILE
a = list(input("請輸入數值"))
i = 0
b = 0
while i < len(a):b = b + int(a[i])i += 1
print(b)# 接受用戶輸入數值,使用for
a = list(input("請輸入數值"))
b = 0
for i in a:b = b + int(i)
print(b)# 注意,int類型的數值是不能直接轉換成列表的,需要先轉換成字符串STR類型,才能正常轉換成列表
# 循環和運算符 創建一個包含五個固定數值的列表或元組,輸出他們的平均值
a = [1.2312,2.5612,3.45,4,5.2]
b = 0
for i in a:b = i + b
b = b/len(a)
print(b)
# 帶循環和條件判斷的用戶輸入 使用 raw_input()函數來提示用戶輸入一個 1 和 100 之間的
# 數,如果用戶輸入的數滿足這個條件,顯示成功并退出。否則顯示一個錯誤信息然后再次提示
# 用戶輸入數值,直到滿足條件為止
while True:a = int(input('請輸入1到100之間數值'))if 1<=a<=100:print('%d 滿足條件'%a)breakelse:print('%d 不滿足條件,請繼續'%a)continue

?

分號( ; )允許你將多個語句寫在同一行上,語句之間用分號隔開,而這些語句也不能在這行開始一個新的代碼塊。這里有一個例子:
import sys; x = 'foo'; sys.stdout.write(x + '\n') 
必須指出一點, 同一行上書寫多個語句會大大降低代碼的可讀性,Python 雖然允許但不提倡你這么做
多重賦值
>>> x = y = z = 1 
>>> x 
1 
>>> y 
1 
>>> z 
1 
在上面的例子中,一個值為 1 的整數對象被創建,該對象的同一個引用被賦值給 x、y 和
z 。也就是將一個對象賦給了多個變量。當然,在 Python 當中,將多個對象賦給多個變量也是
可以的。
“多元”賦值
>>> x, y, z = 1, 2, 'a string' 
>>> x
1 
>>> y 
2 
>>> z 
'a string'
在上面的例子里, 兩個整數對象(值分別為1和2)及一個字符串對象, 被分別賦值給
x, y 和 z。通常元組需要用圓括號(小括號)括起來,盡管它們是可選的。我們建議總是加上
圓括號以使得你的代碼有更高的可讀性。 
>>> (x, y, z) = (1, 2, 'a string')
Python 標識符字符串規則和其他大部分用 C 編寫的高級語言相似: 
第一個字符必須是字母或下劃線(_) 
剩下的字符可以是字母和數字或下劃線 
大小寫敏感 
標識符不能以數字開頭;除了下劃線,其他的符號都不允許使用。處理下劃線最簡單的方
法是把它們當成字母字符。大小寫敏感意味著標識符 foo 不同于 Foo,而這兩者也不同于 FOO。

?

轉載于:https://www.cnblogs.com/biqiuqiu/p/10892825.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/119003.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息