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

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: การใช้งาน ตัวแปร golbal บน ภาษา Python

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

โดย tatiya » 14/08/2018 3:00 pm

ตัวแปร Global คือ เป็นตัวแปรที่ประกาศไว้ในโปรแกรมหลัก มีขอบเขต กว้าง สามารถใช้งานได้ทุกส่วนของโปรแกรม
เรามาดูการใช้งานกัน เริ่มแรกผมจะตั้งตัวแปร ธรรมดาขึ้นมา แล้วสั่งปริ้น ธรรมดานะครับ

โค้ด: เลือกทั้งหมด

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 ที่อยู่ข้างนอกก็จะเปลี่ยนค่าไปด้วย

ข้างบน