1. 程式人生 > 實用技巧 >第十週周總結

第十週周總結

所學時間(包括上課) 二十二個小時以上
程式碼量(行) 1k左右
部落格量 2篇
瞭解到的知識點 python函式
編譯原理
設計模式
演算法與資料結構

函式

  1. 定義函式--封裝獨立的功能
  2. 呼叫函式--享受封裝的成果
  • 函式的作用,在開發程式時,使用函式可以提高編寫的效率以及程式碼的重用

定義函式

pyf_01_九九乘法表.py
def multiple_table():
    row = 1
    while row <= 9:
        i = 1
        while i <= row:
            print("%d * %d = %d\t" % (i, row, i * row), end=" ")
            i += 1
        print("")
        row += 1

呼叫

import pyf_01_九九乘法表
pyf_01_九九乘法表.multiple_table()

defdefine的縮寫

  • 可以由字母、下劃線和數字組成
  • 不能以數字開頭
  • 不能與關鍵字重名
def say_hello():
    print("hello 1")
    print("hello 2")
    print("hello 3")
say_hello()

使用函式名呼叫函式之前,必須保證python已經知道函式的存在

格式:函式定義上方應該保留兩個空行,在定義函式的下方使用連續的三對引號,在函式呼叫位置,使用快捷鍵CTRL+Q可以檢視函式說明資訊

示例:

def sum_2_num(num1, num2):
    """對兩個數字的求和"""

    result = num1 + num2

    print("%d + %d = %d" % (num1, num2, result))


sum_2_num(10, 20)

使用引數增加函式的通用性

一個函式執行結束之後會告訴呼叫者一個結果,以便呼叫者針對具體的結果做後續的處理

def sum_2_num(num1, num2):
    """對兩個數字求和"""
    result = num1 + num2
    return result


print(sum_2_num(10, 20))

在一個函式裡面呼叫另一個函式

def test1():
    print("*" * 50)


def test2():
    print("-" * 50)
    test1()
    print("-" * 50)


test2()

列印分隔線:

def print_line(char, times):
    """列印單行分隔線

    :param char: 分隔字元
    :param times: 分隔次數
    """
    print(char * times)


def print_lines(char, times):
    """列印多行分隔線

    :param char: 分隔線使用的分隔字元
    :param times: 分隔線重複的次數
    """
    row = 0

    while row < 5:
        print_line(char, times)
        row += 1


print_lines("-", 20)

模組是python程式架構的一個核心概念

  • 模組就好比是工具包,通過import匯入
  • 每一個以副檔名py結尾的python原始碼檔案都是一個模組
  • 在模組中定義的全域性變數、函式都是模組能夠提供給外界直接使用的工具

分隔線模組:

def print_line(char, times):
    """列印單行分隔線

    :param char: 分隔字元
    :param times: 分隔次數
    """
    print(char * times)


def print_lines(char, times):
    """列印多行分隔線

    :param char: 分隔線使用的分隔字元
    :param times: 分隔線重複的次數
    """
    row = 0

    while row < 5:
        print_line(char, times)
        row += 1


name = "pyf"

體驗模組:

import pyf_10_分隔線模組

pyf_10_分隔線模組.print_line("-", 50)
print(pyf_10_分隔線模組.name)

模組名不能以數字開頭不能與關鍵字重名,以數字開頭是無法被import匯入的

Pyc檔案:ccompile編譯過的意思