Page 1 of 1

การใช้งาน ตัวแปร golbal บน ภาษา Python

Posted: 14/08/2018 3:00 pm
by tatiya
ตัวแปร Global คือ เป็นตัวแปรที่ประกาศไว้ในโปรแกรมหลัก มีขอบเขต กว้าง สามารถใช้งานได้ทุกส่วนของโปรแกรม
เรามาดูการใช้งานกัน เริ่มแรกผมจะตั้งตัวแปร ธรรมดาขึ้นมา แล้วสั่งปริ้น ธรรมดานะครับ

Code: Select all

m = "M.D.Soft"
print(m)
ผลลัพท์ คือ
M.D.Soft

ต่อไปผมจะสร้างฟังก์ชั่นขึ้นมา แล้วเรียกใช้ตัวแปร global m ที่เราสร้างขึ้นนะครับ

Code: Select all

m = "M.D.Soft"
def fn():
    print(m)
fn()  #เรียกใช้งาน fn
ผลลัพท์ คือ
M.D.Soft

ี่จะเห็นได้ว่าเราสามารถเรียกใช้ตัวแปร m ได้ ต่อไปผมจะสร้างฟังก์ชั่นแล้วสร้างตัวแปรที่ชื่อเดืยวกันมาดูกันว่าโปรแกรมจะเป็นยังไงครับ

Code: Select all

m = "M.D.Soft"
def fn2():
    m = "mindphp"
    print(m)
fn2()   #เรียกใช้งาน fn2
print(m)
ผลลัพท์ คือ
mindphp
M.D.Soft

ถึงตอนนี้เราคงทราบแล้วว่า ตัวแปร m (ตัวแปร m ที่อยู่ข้างในฟังก์ชั่น จะเป็นตัวแปรแบบ local variable คือ เป็นตัวแปรที่ประกาศในฟังก์ชั่น มีขอบเขตแคบใช้งานได้เฉพาะภายในฟังก์ชั่นนั้นๆ) ที่อยู่ในฟังก์ชั่น จะเป็นตัวแปรคนละตัว กับ ตัวแปร global m ที่อยู่ข้างนอก

ต่อไปผมจะลองใช้ตัวแปร global ในฟังก์ชั่น และลองเปลี่ยนดูนะครับ code จะคล้ายๆ fc2 แต่ จะเพิ่ม คำว่า global ขึ้นมา

Code: Select all

m = "M.D.Soft"
def fn3():
    global m
    m = "minphp"
    print("ค่าตัวแปรถายในฟังก์ชั่น :",m)
fn3()
print("ค่าค่าตัวแปรภายนอกฟังก์ชั่น :",m)
ผลลัพท์ คือ
ค่าตัวแปรถายในฟังก์ชั่น : minphp
ค่าค่าตัวแปรภายนอกฟังก์ชั่น : minphp

จะเห็นได้ว่า ถ้าเราใช้คำสั่ง global ภายในฟังก์ชั่น แล้วตัวแปร m ที่เราสร้างมาใหม่ในฟังชั่น จะเป็นตัวเดียวกับตัวที่อยู่ข้างนอก และถ้าเราเพิ่มค่าไปในตัวแปร m ที่สร้างขึ้นให้ฟงัก์ชั่น ตัวแปร m ที่อยู่ข้างนอกก็จะเปลี่ยนค่าไปด้วย