print() 方法用于打印輸出,是python中最常見的一個函數(shù)。
創(chuàng)新互聯(lián)建站服務(wù)項目包括山城網(wǎng)站建設(shè)、山城網(wǎng)站制作、山城網(wǎng)頁制作以及山城網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,山城網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到山城省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
該函數(shù)的語法如下:
參數(shù)的具體含義如下:
objects --表示輸出的對象。輸出多個對象時,需要用 , (逗號)分隔。
sep -- 用來間隔多個對象。
end -- 用來設(shè)定以什么結(jié)尾。默認(rèn)值是換行符 \n,我們可以換成其他字符。
file -- 要寫入的文件對象。
無論什么類型的數(shù)據(jù),包括但不局限于:數(shù)值型,布爾型,列表變量,字典變量...都可以直接輸出。
在C語言中,我們可以使用printf("%-.4f",a)之類的形式,實現(xiàn)數(shù)據(jù)的的格式化輸出。
在python中,我們同樣可以實現(xiàn)數(shù)據(jù)的格式化輸出。我們可以先看一個簡單的例子:
和C語言的區(qū)別在于,Python中格式控制符和轉(zhuǎn)換說明符用%分隔,C語言中用逗號。
接下來我們仔細(xì)探討一下格式化輸出
(1).%字符:標(biāo)記轉(zhuǎn)換說明符的開始。
%字符的用法可參考上例,不再贅述。
最小字段寬度:轉(zhuǎn)換后的字符串至少應(yīng)該具有該值指定的寬度。如果是*(星號),則寬度會從值元組中讀出。
點(.)后跟精度值:如果需要輸出實數(shù),精度值表示出現(xiàn)在小數(shù)點后的位數(shù)。如果需要輸出字符串,那么該數(shù)字就表示最大字段寬度。如果是*,那么精度將從元組中讀出。
可參考C語言的實現(xiàn)方式。
注:字段寬度中,小數(shù)點也占一位。
轉(zhuǎn)換標(biāo)志:-表示左對齊;+表示在數(shù)值前要加上正負(fù)號;" "(空白字符)表示正數(shù)之前保留空格();0表示轉(zhuǎn)換值若位數(shù)不夠則用0填充。
具體的我們可以看一下例子:
格式字符 說明 格式字符 說明
%s 字符串采用str()的顯示 %x 十六進(jìn)制整數(shù)
%r 字符串(repr())的顯示 %e 指數(shù)(基底寫e)
%c 單個字符 %E 指數(shù)(基底寫E)
%b 二進(jìn)制整數(shù) %f,%F 浮點數(shù)
%d 十進(jìn)制整數(shù) %g 指數(shù)(e)或浮點數(shù)(根據(jù)顯示長度)
%i 十進(jìn)制整數(shù) %G 指數(shù)(E)或浮點數(shù)(根據(jù)顯示長度)
%o 八進(jìn)制整數(shù) %% 字符%
在python中,輸出函數(shù)總是默認(rèn)換行,比如說:
而顯然,這種輸出太占“空間”,我們可以進(jìn)行如下改造:
參考文本第一部分對end參數(shù)的描述:end -- 用來設(shè)定以什么結(jié)尾。默認(rèn)值是換行符 \n,我們可以換成其他字符。
import math
a = abs
print(a(-1))
n1 = 255
print(str(hex(n1)))
def my_abs(x):
# 增加了參數(shù)的檢查
if not isinstance(x, (int, float)):
raise TypeError('bad operand type')
if x = 0:
return x
else:
return -x
print(my_abs(-3))
def nop():
pass
if n1 = 255:
pass
def move(x, y, step, angle=0):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
x, y = move(100, 100, 60, math.pi / 6)
print(x, y)
tup = move(100, 100, 60, math.pi / 6)
print(tup)
print(isinstance(tup, tuple))
def quadratic(a, b, c):
k = b * b - 4 * a * c
# print(k)
# print(math.sqrt(k))
if k 0:
print('This is no result!')
return None
elif k == 0:
x1 = -(b / 2 * a)
x2 = x1
return x1, x2
else:
x1 = (-b + math.sqrt(k)) / (2 * a)
x2 = (-b - math.sqrt(k)) / (2 * a)
return x1, x2
print(quadratic(2, 3, 1))
def power(x, n=2):
s = 1
while n 0:
n = n - 1
s = s * x
return s
print(power(2))
print(power(2, 3))
def enroll(name, gender, age=8, city='BeiJing'):
print('name:', name)
print('gender:', gender)
print('age:', age)
print('city:', city)
enroll('elder', 'F')
enroll('android', 'B', 9)
enroll('pythone', '6', city='AnShan')
def add_end(L=[]):
L.append('end')
return L
print(add_end())
print(add_end())
print(add_end())
def add_end_none(L=None):
if L is None:
L = []
L.append('END')
return L
print(add_end_none())
print(add_end_none())
print(add_end_none())
def calc(*nums):
sum = 0
for n in nums:
sum = sum + n * n
return sum
print(calc(1, 2, 3))
print(calc())
l = [1, 2, 3, 4]
print(calc(*l))
def foo(x, y):
print('x is %s' % x)
print('y is %s' % y)
foo(1, 2)
foo(y=1, x=2)
def person(name, age, **kv):
print('name:', name, 'age:', age, 'other:', kv)
person('Elder', '8')
person('Android', '9', city='BeiJing', Edu='人民大學(xué)')
extra = {'city': 'Beijing', 'job': 'Engineer'}
person('Jack', 24, **extra)
def person2(name, age, *, city, job):
print(name, age, city, job)
person2('Pthon', 8, city='BeiJing', job='Android Engineer')
def person3(name, age, *other, city='BeiJing', job='Android Engineer'):
print(name, age, other, city, job)
person3('Php', 18, 'test', 1, 2, 3)
person3('Php2', 28, 'test', 1, 2, 3, city='ShangHai', job='Pyhton Engineer')
def test2(a, b, c=0, *args, key=None, **kw):
print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'key=', key, 'kw =', kw)
test2(1, 2, 3, 'a', 'b', 'c', key='key', other='extra')
args = (1, 2, 3, 4)
kw = {'d': 99, 'x': '#'}
test2(*args, **kw)
將函數(shù)作為參數(shù)傳入,這樣的函數(shù)稱為高階函數(shù)。 函數(shù)式編程就是指這種高度抽象的編程范式。
變量可以指向函數(shù),函數(shù)的參數(shù)能接收變量,那么一個函數(shù)就可以接收另一個函數(shù)作為參數(shù),這種函數(shù)就稱之為高階函數(shù)。如下所示:
map(fun, lst),將傳入的函數(shù)變量func作用到lst變量的每個元素中,并將結(jié)果組成新的列表返回。
定義一個匿名函數(shù)并調(diào)用,定義格式如--lambda arg1,arg2…:表達(dá)式
reduce把一個函數(shù)作用在一個序列[x1, x2, x3, …]上,這個函數(shù)必須接收兩個參數(shù),reduce把結(jié)果繼續(xù)和序列的下一個元素做累積計算。
filter() 函數(shù)用于過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
閉包的定義?閉包本質(zhì)上就是一個函數(shù)
如何創(chuàng)建閉包?
如何使用閉包?典型的使用場景是裝飾器的使用。
global與nonlocal的區(qū)別:
簡單的使用如下:
偏函數(shù)主要輔助原函數(shù),作用其實和原函數(shù)差不多,不同的是,我們要多次調(diào)用原函數(shù)的時候,有些參數(shù),我們需要多次手動的去提供值。
而偏函數(shù)便可簡化這些操作,減少函數(shù)調(diào)用,主要是將一個或多個參數(shù)預(yù)先賦值,以便函數(shù)能用更少的參數(shù)進(jìn)行調(diào)用。
我們再來看一下偏函數(shù)的定義:
類func = functools.partial(func, *args, **keywords)
我們可以看到,partial 一定接受三個參數(shù),從之前的例子,我們也能大概知道這三個參數(shù)的作用。簡單介紹下:
總結(jié)
本文是對Python 高階函數(shù)相關(guān)知識的分享,主題內(nèi)容總結(jié)如下:
在寫python程序時,常能用到一些函數(shù)和方法,總結(jié)一下,保存起來,方便查詢。
一、內(nèi)置函數(shù)
# abs()獲取數(shù)字絕對值
# chr(i)數(shù)字轉(zhuǎn)換為字符類型
# divmod() 獲取兩個數(shù)值的商和余數(shù)
# enumerate() 將可遍歷序列組合為索引序列
# float()轉(zhuǎn)換為浮點數(shù)
# format() 格式化字符串
# int()轉(zhuǎn)換為整數(shù)?
# input() 接受用戶輸入內(nèi)容
# len() 計算元素個數(shù)
# max() 返回最大值
# min() 返回最小值
# math.ceil() 返回指定數(shù)值的上舍整數(shù)
# open()打開文件并返回文件對象
# pow() 冪運(yùn)算
# print()打印輸出?
# range() 生成器
# reversed()反轉(zhuǎn)所有元素
# round()四舍五入求值
# sorted()對可迭代對象進(jìn)行排序?
# str() 轉(zhuǎn)換為字符串
# sum() 求和
# set() 創(chuàng)建集合
# tuple() 將序列轉(zhuǎn)換為元組
# zip()將可迭代對象打包成元組
二、方法
# append() 添加列表元素
# capitalize()首字母轉(zhuǎn)換為大寫?
# count()字符出現(xiàn)次數(shù)
# close() 關(guān)閉文件
# decode() 解碼字符串
# dict.keys() 獲取字典所有的鍵
# find()字符串首次出現(xiàn)的索引
# f.read() 讀取文件內(nèi)容
# dict.update()更新字典
# dict.items() 獲取字典鍵/值對
# dict.get() 返回指定鍵的值
# encode() 編碼字符串
# list.sort() 排序列表元素
# index() 元素首次出現(xiàn)的索引
# isdigit() 判斷字符串是否只由數(shù)字組成
# isupper() 是否所有字母都為大寫
# isnum() 判斷字符串是否由字母和數(shù)字組成
# islower() 是否所有字母都為小寫
# isdecimal() 檢查字符串是否只包含十進(jìn)制字符
# isalpha() 檢測字符串是否為純字母
# random.shuffle()隨機(jī)排序
# random.sample()返回?zé)o重復(fù)隨機(jī)數(shù)列表
# random.choice() 返回一個隨機(jī)元素
# random.randint() 生成指定范圍的隨機(jī)整數(shù)
# random.randrange() 生成指定范圍的指定遞增基數(shù)隨機(jī)整數(shù)
# pop() 刪除列表中的元素
# remove()刪除列表中的指定元素
# strip()去除空格
# lstrip()去除左側(cè)空格
# rstrip() 去除右側(cè)空格
# readline() 讀取單行內(nèi)容
# root.after() Tkinter中等待一段時間后再執(zhí)行命令
# str.isnumeric() 驗證字符串是否為數(shù)字(適用于Unicode)
# split()分割字符串
# ord() 將字符轉(zhuǎn)換為整數(shù)
# replace() 字符串替換
# ljust() 左對齊填充
# rjust() 左對齊填充
# readlines() 讀取所有行內(nèi)容
# datetime.datetime.now() 返回指定時區(qū)的本地日期時間
# datetime.datetime.today() 獲取當(dāng)前本地日期的date對象
# datetime.utcnow() 返回當(dāng)前UTC時間的datetime對象
# time.strptime()把時間字符串解析為元組
# time.time()返回當(dāng)前時間的時間戳
# time.sleep()暫停指定秒數(shù)
# time.strftime() 返回指定格式的日期字符串
# time.mktime() 接收時間元組并返回時間戳
# os.getcwd() 獲取當(dāng)前工作目錄
# os.listdir() 獲取指定路徑下的目錄和文件列表
# os.makedirs() 遞歸創(chuàng)建目錄
# os.rename() 重命名目錄或文件
# os.path.exists() 判斷路徑是否存在
# upper() 全部轉(zhuǎn)換為大寫字母
# lower()? 全部轉(zhuǎn)換為小寫字母
# sys.stdout.write() 標(biāo)準(zhǔn)輸出打印
# sys.stdout.flush()刷新輸出?
# shutil.copy() 復(fù)制單個文件到另一文件或目錄
# write() 寫入文件內(nèi)容
# winsound.Beep() 打開電腦揚(yáng)聲器
# zfill() 在字符串前面填充0
三、循環(huán)語句
# break終止當(dāng)前循環(huán)
# continue 終止本循環(huán)進(jìn)入下一次循環(huán)
# with open() as file 以with語句打開文件(數(shù)據(jù)保存)
四、轉(zhuǎn)義字符
\ 行尾續(xù)行符
\' 單引號?
\'' 雙引號
\a 響鈴
\e 轉(zhuǎn)義
\n 換行
\t 橫向制表符
\f 換頁
\xyy 十六進(jìn)制yy代表的字符
\\反斜杠符號
\b 退格
\000 空
\v 縱向制表符
\r 回車
\0yy 八進(jìn)制yy代表的字符
\other 其他的字符以普通格式輸出
當(dāng)前名稱:函數(shù)編程總結(jié)python 編程基礎(chǔ)函數(shù)
分享路徑:http://www.muchs.cn/article42/docsehc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、定制網(wǎng)站、響應(yīng)式網(wǎng)站、商城網(wǎng)站、用戶體驗、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)