Python辦公自動化 2.2 Python 10分鐘快速入門:Python基礎知識及正則表達式

本章講述Python最常用的語法知識,最後一小節講述瞭如何在Python中使用正則表達式來匹配字符串。

2.2 Python 10分鐘快速入門

2.2.1 輸入、輸出和註釋

# 我是單行註釋,我並不會執行
print("Hello Python!")

name = input()
print('hello,', name)

"""
我是多行註釋,我也不會被執行
"""

2.2.2 調用本文件的函數

main.py:

# 創建函數
def myFirstPythonFun():
    print("我的第一個Python函數")


if __name__ == '__main__':
    # 我是註釋,我並不會執行
    print("程序從這裏開始運行")

    # 調用函數
    myFirstPythonFun()

image-20200613150854349

2.2.3 調用本文件路徑下其它文件的函數

① 新建 module1.py,鍵入以下代碼:

module1.py:

def otherFileFun():
    """
    我是不同文件的一個函數
    :return: 一個字符串,可以爲任意類型
    """
    print("我 module1 裏面的函數,我被調用了!")

    return "module文件內 otherFileFun函數的 返回值"

image-20200613151634439

② 在 main.py 中調用module函數

main.py:

import module1
import subdirectory.subdirectoryFile as subDir

# 創建函數
def myFirstPythonFun():
    print("我的第一個Python函數\n")

if __name__ == '__main__':
    # 我是註釋,我並不會執行
    print("程序從這裏開始運行\n")

    # 調用本文件函數
    myFirstPythonFun()

    # 調用其他文件函數
    print("在此調用其他文件函數\n---------")
    result = module1.otherFileFun()
    print("函數返回值爲:\n---------")
    print(result)

image-20200613152041811

2.2.4 調用子目錄下其它文件內的函數

① 創建子目錄,並建立python文件

subdiretoryFile.py:

# 我是子文件目錄的函數
def subDirFun():
    print("子目錄下的函數被調用")

    return 0

image-20200613152322691

image-20200613152543432

② 子目錄下函數調用

main.py:

import module1
import subdirectory.subdirectoryFile as subDir

# 創建函數
def myFirstPythonFun():
    print("我的第一個Python函數\n")

if __name__ == '__main__':
    # 我是註釋,我並不會執行
    print("程序從這裏開始運行\n")

    # 調用本文件函數
    myFirstPythonFun()

    # 調用其他文件函數
    print("在此調用其他文件函數\n---------")
    result = module1.otherFileFun()
    print("函數返回值爲:\n---------")
    print(result)

    # 調用子目錄文件的函數
    subResult = subDir.subDirFun()
    print("子目錄函數返回結果:",subResult)

image-20200613152842669

2.2.5 數據類型和變量

推薦閱讀:https://www.liaoxuefeng.com/wiki/1016959663602400/1017063413904832

Python的語法比較簡單,採用縮進方式,寫出來的代碼就像下面的樣子:

# print absolute value of an integer:
a = 100
if a >= 0:
    print(a)
else:
    print(-a)

數據類型測試函數:

# 數據類型測試函數
def dataTypeTest():
    # 1.數字 整型、浮點型、布爾型
    dt_int = 100
    dt_float = 99.99
    dt_bool = True
    print("dt_int value = ",dt_int,"typeof(dt_int) = ",type(dt_int))
    print("dt_float value = ",dt_float,"typeof(dt_float) = ", type(dt_float))
    print("dt_bool value = ", dt_bool, "typeof(dt_bool) = ", type(dt_bool),"\n")

    # 2.字符串 單行、多行
    dt_singlestring = "單行字符串"
    dt_multistring = """---
多行
字符串
    """
    print(dt_singlestring)
    print(dt_multistring)

    # 3.列表 可以存放數字,字符串等
    dt_list1 = [1,2,3,4,5]
    dt_list2 = ['你好','thank you', 222]
    print(dt_list1)
    print(dt_list2,"\n")

    # 4.元組 生成之後不能修改
    dt_tuple = (1,2,3,4,5)
    print(dt_tuple,"\n")

    # 5.字典 可以存放鍵值對
    dt_dict = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
    print(dt_dict)
    print(dt_dict['Michael'],"\n")

    # 6.集合 不能有重複的值
    dt_set = set([1, 1, 2, 2, 3, 3])
    print(dt_set)

輸出結果:

image-20200613160032214

2.2.6 條件判斷

條件判斷測試函數:

# 條件判斷測試函數
def if_else_test():
    age = int(input('Input your age: '))

    if age >= 18:
        print('adult')
    elif age >= 6:
        print('teenager')
    else:
        print('kid')

輸出結果:

image-20200613160602950

2.2.7 循環

① for循環

for測試函數

def circlefor_test():
    # 打印list:
    names = ['Michael', 'Bob', 'Tracy']
    for name in names:
        print(name)

    # 打印數字 0 - 9
    for x in range(10):
        print(x)

image-20200613161110105

② while循環

while測試函數:

def circlewhile_test():
    # 計算1+2+3+...+100:
    sum = 0
    n = 1
    while n <= 100:
        sum = sum + n
        n = n + 1
    print(sum)

    # 計算1x2x3x...x10:
    acc = 1
    n = 1
    while n <= 10:
        acc = acc * n
        n = n + 1
    print(acc)

image-20200613161228648

2.2.8 正則表達式

① 介紹

​ 字符串是編程時涉及到的最多的一種數據結構,對字符串進行操作的需求幾乎無處不在。

​ 正則表達式是一種用來匹配字符串的強有力的武器。它的設計思想是用一種描述性的語言來給字符串定義一個規則,凡是符合規則的字符串,我們就認爲它“匹配”了,否則,該字符串就是不合法的。

image-20200613162528358

② 工具下載

正則表達式測試器:https://www.cr173.com/soft/88309.html

image-20200613162023489

③ 正則表達式教程

java--正則表達式用法

此處,作爲例子,我們就在一串字符串裏面分別找出 問題描述、原因分析、整改建議和整改方案。

字符串內容爲:

[問題描述]:
1.我是問題描述的內容1
1.我是問題描述的內容2

[原因分析]:
我是原因分析的內容。。。


[整改建議]:
我是整改建議的內容。。。


[整改方案]:
我是整改方案的內容。。。


使用以下正則表達式可匹配到 “問題描述” 的相應內容:

\[問題描述\]:([\s\S]*)\[原因分析\]

使用工具來做測試:

image-20200613164614811

④ 在python中使用正則表達式
import re

image-20200613165241141

正則表達式測試函數:

# 正則表達式測試函數
def regex_test():
    source_string = """[問題描述]:
1.我是問題描述的內容1
1.我是問題描述的內容2

[原因分析]:
我是原因分析的內容。。。


[整改建議]:
我是整改建議的內容。。。


[整改方案]:
我是整改方案的內容。。。


"""
    print(source_string)

    regex_str = "\[問題描述\]:([\s\S]*)\[原因分析\]"

    match_result = re.match(regex_str, source_string)
    if(match_result != None):
        print(match_result)

        result_str = match_result[1]
        print("匹配到的結果爲:\n",result_str)

輸出結果:

image-20200613170053940

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章