#!/user/bin/env python
# -*- coding:utf-8 -*-
# author:berlin
# 1、3種程式設計方法:
# (1)物件導向---->核心內容是:類------>class
# (2)面向過程---->核心內容是:過程------>def
# (3)函式式程式設計----->核心內容是:函式------>def
# 2、函式的定義:
# (1)初中教學時的函式定義是:一般的,在乙個變化過程中,如果有兩個變數x和y,並且對於x的每乙個確定的值,y都有
# 唯一的值與其對應,那麼我們就把x稱之為自變數,把y稱之為因變數,y是x的函式,自變數x的取值範圍叫做這個函式的定義域。
# (2)程式語言中函式的定義是:函式是邏輯結構化和過程化的一種程式設計方法。
# python中函式定義方法:
# def test(x): # def代表函式的關鍵字;test代表函式名;()代表括號內可定義形參
# '這是函式定義' # 『』指文件描述(非必要,但是強烈建議為你的函式新增描述資訊)
# x += 1 # 泛指**塊或程式處理邏輯
# return x # 定義返回值##
# # 3、面向過程與函式式程式設計的區別?(定義過程和定義函式的區別?)
# # (1)函式案例:
# def function1():
# '定義函式的案例'
# print('定義函式')
# return 0##
# # (2)過程案例:
# def function2():
# '定義過程的案例'
# print('定義過程')##
# # (3)分別呼叫函式和過程,並輸出:
# a = function1()
# b = function2()
# print('函式返回的值是:%s' % a)
# print('過程返回的值是:%s' % b)
# (4)故,函式和過程的區別在於函式有return,而過程沒有return。在python中,函式和過程沒有很明確的界限,
# 因為過程雖然沒有return,但是pyton**的給過程返回了none。
# 4、為什麼要使用函式?
# (1)例1:
# 假設我們編寫好了乙個邏輯(功能),用未以追加的方式寫日誌:
# with open('a.txt', 'ab') as f:
# f.write('end action')
## # 現在有3個函式,每個函式在處理完自己的邏輯後,都需要呼叫上面的邏輯,那麼唯一的方法就是:拷貝3次這段邏輯。
# def test1():
# print('test1 starting action...')
# with open('a.txt', 'ab') as f:
# f.write('end action')
## def test2():
# print('test2 starting action...')
# with open('a.txt', 'ab') as f:
# f.write('end action')
## def test3():
# print('test3 starting action...')
# with open('a.txt', 'ab') as f:
# f.write('end action')
# 那麼假設有n個函式,你就拷貝n次嗎?--------------顯然不可能的!!!
# (2)例2:
# 把例1優化後:
# def logger_test():
# with open('a.txt', 'ab') as f:
# f.write('end action')
## def test1():
# print('test1 starting action...')
# logger_test()
## def test2():
# print('test2 starting action...')
# logger_test()
## def test3():
# print('test3 starting action...')
# logger_test()
# (3)例3:
# 需求增加:為日誌加上時間~
import time #使用時間庫
deflogger_test()
: time_format =
'%y-%m-%d %x'
#定義時間格式,『年月日小時』
time_current = time.strftime(time_format)
#指明按照定義的時間格式顯示時間
with
open
('a.txt'
,'a+'
)as f:
f.write(
'%s end action\n'
%time_current)
deftest1()
:print
('test1 starting action...'
) logger_test(
)def
test2()
:print
('test2 starting action...'
) logger_test(
)def
test3()
:print
('test3 starting action...'
) logger_test(
)# 呼叫輸出:
test1(
)test2(
)test3(
)# 故,為什麼要用函式?使用了函式有什麼好處?在例1和例2可以看出函式具有「**重用」的好處。
# 在例2和例3又可以看出函式具有「保持一致性」、「可擴充套件性」的好處。
# (1)**重用
# (2)保持一致性
# (3)可擴充套件性
Python筆記 函式定義與函式引數
def 函式名 引數 函式介面 pass return 表示式def 函式關鍵字 函式名 自行定義 引數 需要輸入的變數 函式介面 對函式作用解釋,以及每個引數的意義 pass 函式體,函式需要執行的功能的據體 return 函式所返還的結果,多個值用逗號隔開 函式名 以函式名加括號的方式呼叫,括號...
c語言函式筆記19之函式3
庫函式 由 語言系統提供 使用者無須定義,也不必在程式中作型別說明 只需在程式前包含有該函式定義的標頭檔案 如sytem函式就要包含stdlib.h這個標頭檔案,也就是從商店裡買的鐮刀,已經固定了 自定義函式 使用者在程式中根據需要而編寫的函式 自己打磨的鐮刀,可以任意形狀 和變數一樣,要想使用乙個...
Python內建函式 19 oct
英文文件 oct x convert an integer number to an octal string.the result is a valid python expression.if x is not a python intobject,it has to define an ind...