เรามาดูการใช้งานกัน เริ่มแรกผมจะตั้งตัวแปร ธรรมดาขึ้นมา แล้วสั่งปริ้น ธรรมดานะครับ
โค้ด: เลือกทั้งหมด
m = "M.D.Soft"
print(m)
M.D.Soft
ต่อไปผมจะสร้างฟังก์ชั่นขึ้นมา แล้วเรียกใช้ตัวแปร global m ที่เราสร้างขึ้นนะครับ
โค้ด: เลือกทั้งหมด
m = "M.D.Soft"
def fn():
print(m)
fn() #เรียกใช้งาน fn
M.D.Soft
ี่จะเห็นได้ว่าเราสามารถเรียกใช้ตัวแปร m ได้ ต่อไปผมจะสร้างฟังก์ชั่นแล้วสร้างตัวแปรที่ชื่อเดืยวกันมาดูกันว่าโปรแกรมจะเป็นยังไงครับ
โค้ด: เลือกทั้งหมด
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 ขึ้นมา
โค้ด: เลือกทั้งหมด
m = "M.D.Soft"
def fn3():
global m
m = "minphp"
print("ค่าตัวแปรถายในฟังก์ชั่น :",m)
fn3()
print("ค่าค่าตัวแปรภายนอกฟังก์ชั่น :",m)
ค่าตัวแปรถายในฟังก์ชั่น : minphp
ค่าค่าตัวแปรภายนอกฟังก์ชั่น : minphp
จะเห็นได้ว่า ถ้าเราใช้คำสั่ง global ภายในฟังก์ชั่น แล้วตัวแปร m ที่เราสร้างมาใหม่ในฟังชั่น จะเป็นตัวเดียวกับตัวที่อยู่ข้างนอก และถ้าเราเพิ่มค่าไปในตัวแปร m ที่สร้างขึ้นให้ฟงัก์ชั่น ตัวแปร m ที่อยู่ข้างนอกก็จะเปลี่ยนค่าไปด้วย