ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

ขอบเขตของตัวแปร ในไพทอน ตัวแปรอาจไม่สามารถเข้าถึงได้จากทุกๆ ส่วนในโปรแกรม ขึ้นอยู่กับการประกาศตัวแปรนั้นไว้ที่ไหน ซึ่งขอบเขตของตัวแปรนั้น และในไพทอนมีการระบุขอบเขตของตัวแปร อยู่สองแบบคือ
1. ตัวแปลแบบ Global
2. ตัวแปลแบบ Local

ตัวแปล Global และ ตัวแปล Local
ตัวแปล ที่ถูกประกาศภายในฟังก์ชั่นจะถือเป็นตัวแปลร Local  และตัวแปรที่ประกาศนอกฟังก์ชั่นจะถือเป็นตัวแปน Global ตัวแปล Local จะสามารถใช้งานได้ภายในฟังก์ชั่นที่ประกาศมันไว้เท่านั้น  แต่ตัวแปล Global สามารถใช้งานที่ฟังก์ชั่นไหน ก็ได้
ตัวอย่าง def_global_local_var.py
# ตัวอย่าง สอน Python ในเว็บ  Mindphp.com


def f():
    print (s)
s = "ค่าของตัวแปร s"
f()


total = 5; # ตัวแปร global
def mindphp_sum( arg1, arg2 ):
   # print ("ค่าของตัวแปร total ภายในฟังก์ชั่น : ", total)  # <---- ไม่สามารถเอาตัวแปรภายนอกชื่อเดียวกันกับตัวแปลภายในเข้ามาใช้งานภายในได้
   total = arg1 + arg2; # Here total is local variable.
   print ("ค่าของตัวแปร total ภายในฟังก์ชั่น : ", total)
   return total;

# เรียกใช้ฟังก์ชั่น
total = 5; # ตัวแปร global
after_sum = mindphp_sum( 10, 20 );
print ("ค่าของตัวแปร total ภายในฟังก์ชั่น: ", total)
print(after_sum);


จากตัวอย่าง สร้างฟังก์ชั่น f แล้วเรียกใช้ โดยสร้างตัวแปร ภายนอกฟังก์ชั่นไว้ แล้วเรียกใช้ภายในฟังก์ชั่น จะได้ค่า
ค่าของตัวแปร s
แสดงออกมา
อีกฟังก์ชั่นคือ mindphp_sum แสดงให้เห็นว่าตัวแปรภายนอกกับภายในฟังก์ชั่นจะไม่เกี่ยวข้องกัน และ ไม่สามารถเอาตัวแปรภายนอกที่มีชื่อเดียวกับตัวแปรภายในเข้ามาใช้งานในฟังก์ชั่นได้
ค่าของตัวแปร total ภายในฟังก์ชั่น :  30
ค่าของตัวแปร total ภายในฟังก์ชั่น:  5
30

*** เรื่องขอบเขตของตัวแปรนี้ จะต่างกับ php เพราะ php ถ้า php จะเอาตัวแปรภายนอกเข้ามาใช้งานภายในฟังก์ชั่นได้ ต้องประกาศ global ภายในฟังก์ชั่น ว่าจะเอาตัวแปรภายนอกตัวไหนเข้ามาใช้งานภายใน  ***

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ข้อมูลที่ทำการ loop ไม่เข้าไปเก็บใน array ครับ
โดย bankjittapol จ 18 พ.ย. 2019 8:16 pm บอร์ด Joomla Development
1
10
จ 18 พ.ย. 2019 8:30 pm โดย mindphp
ใช้คำสั่ง วันที่ยังไง โดยไม่ต้องกำหนด timezone
โดย bankjittapol จ 18 พ.ย. 2019 8:11 pm บอร์ด Joomla Development
0
7
จ 18 พ.ย. 2019 8:11 pm โดย bankjittapol
จะกำหนดเงื่อนไขภาษายังไง โดยไม่ไปกำหนดค่าภาษาตรงๆ
โดย bankjittapol จ 18 พ.ย. 2019 8:01 pm บอร์ด Joomla Development
1
10
จ 18 พ.ย. 2019 8:08 pm โดย tsukasaz
ศึกษาการใช้งาน Joomla
โดย numtan5839 จ 18 พ.ย. 2019 7:16 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
0
3
จ 18 พ.ย. 2019 7:16 pm โดย numtan5839
ผลพยากรณ์อากาศ เปลี่ยนภาษาตามการตั้งค่าของผู้ดูแลระบบ
โดย bankjittapol จ 18 พ.ย. 2019 7:11 pm บอร์ด Joomla Developing Knowledge
0
11
จ 18 พ.ย. 2019 7:11 pm โดย bankjittapol
สร้าง list box ใน joomla ที่สามารถเลือก มากกว่า 1 ค่า
โดย bankjittapol จ 18 พ.ย. 2019 6:14 pm บอร์ด Joomla Developing Knowledge
0
9
จ 18 พ.ย. 2019 6:14 pm โดย bankjittapol
จะดึงชื่อจังหวัดมาแสดงใน list ได้ยังไงครับ
โดย bankjittapol จ 18 พ.ย. 2019 5:45 pm บอร์ด Joomla Development
1
15
จ 18 พ.ย. 2019 5:52 pm โดย tsukasaz
ต้องการให้ ใน list แสดงชื่อจังหวัด เพื่อใช้เลือกแสดงครับ
โดย bankjittapol จ 18 พ.ย. 2019 12:03 pm บอร์ด Joomla Development
2
30
จ 18 พ.ย. 2019 4:02 pm โดย bankjittapol
Work's on Hand ตรีเนตร บูรณโพธิ์ทอง M097
โดย numtan5839 จ 04 พ.ย. 2019 11:09 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
25
จ 18 พ.ย. 2019 3:27 pm โดย numtan5839
ดู Logs ไฟล์ บน Windows Server แบบ Real Time ตัวอย่าง Apache Logs
โดย mindphp จ 18 พ.ย. 2019 1:45 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
12
จ 18 พ.ย. 2019 1:47 pm โดย mindphp
หา theme language file ไม่เจอ
โดย bankjittapol ส 16 พ.ย. 2019 5:33 pm บอร์ด Joomla Development
2
39
ส 16 พ.ย. 2019 5:50 pm โดย bankjittapol
ต้องการสร้าง แท็ก เพื่อเลือกจังหวัด ที่จะแสดง ต้องทำไงครับ
โดย bankjittapol จ 18 พ.ย. 2019 10:53 am บอร์ด Joomla Development
2
18
จ 18 พ.ย. 2019 11:47 am โดย bankjittapol
เริ่มลงทุนในอสังหาฯ คุณเองก็ทำได้
โดย Patty Perfume อ 17 พ.ย. 2019 6:08 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
26
จ 18 พ.ย. 2019 10:29 am โดย Losa
บันทึกตัวแปรเป็นชื่อไฟล์ลง database ไม่ได้
โดย teenproza7 อ 28 พฤษภาคม 2019 4:52 pm บอร์ด Programming - C/C++ & java & Python
0
221
อ 28 พฤษภาคม 2019 4:52 pm โดย teenproza7
งานประจำวันที่ 18 พฤศจิกายน 2562
โดย numtan5839 จ 18 พ.ย. 2019 10:14 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
12
จ 18 พ.ย. 2019 7:16 pm โดย numtan5839
Skype for Business และ Microsoft Teams
โดย Atomseed Suckseed จ 18 พ.ย. 2019 10:11 am บอร์ด MindPHP News / Feedback
0
6
จ 18 พ.ย. 2019 10:11 am โดย Atomseed Suckseed
งานประจำวันที่ 16 พฤศจิกายน 2562
โดย numtan5839 ส 16 พ.ย. 2019 10:28 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
4
23
ส 16 พ.ย. 2019 7:02 pm โดย numtan5839
การใช้งาน Ultrasonic Sensor เซ็นเซอร์ที่ใช้สำหรับตรวจจับระยะห่างของวัดถุ
โดย bankjittapol ส 16 พ.ย. 2019 4:42 pm บอร์ด IOT - Internet of things
0
16
ส 16 พ.ย. 2019 4:42 pm โดย bankjittapol
อยากทราบการแสดงวันที่ในรูปแบบของ joomla
โดย bankjittapol ส 16 พ.ย. 2019 11:14 am บอร์ด Joomla Development
5
48
ส 16 พ.ย. 2019 4:56 pm โดย mindphp
Ultrasonic Sensor คืออะไร
โดย bankjittapol ส 16 พ.ย. 2019 3:40 pm บอร์ด IOT - Internet of things
0
25
ส 16 พ.ย. 2019 3:40 pm โดย bankjittapol