ขอบเขตของตัวแปร ในไพทอน ตัวแปรอาจไม่สามารถเข้าถึงได้จากทุกๆ ส่วนในโปรแกรม ขึ้นอยู่กับการประกาศตัวแปรนั้นไว้ที่ไหน ซึ่งขอบเขตของตัวแปรนั้น และในไพทอนมีการระบุขอบเขตของตัวแปร อยู่สองแบบคือ
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 ภายในฟังก์ชั่น ว่าจะเอาตัวแปรภายนอกตัวไหนเข้ามาใช้งานภายใน  ***

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
MOD_MTB_NEWS_RECENT
"Hello World" ในภาษาต่างๆ
โดย Before Dong อ 24 ต.ค. 2017 10:54 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
18
อ 24 ต.ค. 2017 10:54 am โดย Before Dong
ตัวอย่าง Selenium Python การใช้ for while loop
โดย paoonline อ 24 ต.ค. 2017 10:22 am บอร์ด Python Knowledge
0
26
อ 24 ต.ค. 2017 10:22 am โดย paoonline
งานประจำวันที่ 23 ตุลาคม 2560
โดย AePongsak จ 23 ต.ค. 2017 10:06 am บอร์ด Part time work M039
1
4
จ 23 ต.ค. 2017 10:06 am โดย AePongsak
ว่าด้วยเรื่อง ruk-com.in.th โฮสติ้ง เมื่อเด็กรุ่นใหม่จัดเต็ม
โดย konseo อ 22 ต.ค. 2017 7:34 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
0
22
อ 22 ต.ค. 2017 7:34 pm โดย konseo
SQL Error ตอน insert คำที่มี quote ' เเละ " แก้ไขยังไงค่ะ
โดย thatsawan อ 22 ต.ค. 2017 4:07 pm บอร์ด SQL - Database
0
17
อ 22 ต.ค. 2017 4:07 pm โดย thatsawan
จะเเช่า Hosting เลือก CP ตัวไหนดี cPanel DirectAdmin
โดย บุคคลทั่วไป อ 22 ต.ค. 2017 2:16 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
2
20
อ 22 ต.ค. 2017 2:16 pm โดย บุคคลทั่วไป
หานักศึกษาทำงาน part time ช่วยงานติดตั้งระบบปฏิบัติการบน VMWare
โดย บุคคลทั่วไป อ 22 ต.ค. 2017 1:03 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
21
อ 22 ต.ค. 2017 1:03 am โดย บุคคลทั่วไป
สอบถามเรื่องการ insert ข้อมูลในรูปแบบ multiple ครับ
โดย Nueng Chiramet ส 21 ต.ค. 2017 8:00 pm บอร์ด Programming - PHP
1
19
ส 21 ต.ค. 2017 8:00 pm โดย mindphp
สอบถามเรื่องการ insert ข้อมูลในรูปแบบ multiple ครับ
โดย Nueng Chiramet ส 21 ต.ค. 2017 7:47 pm บอร์ด Programming - PHP
0
11
ส 21 ต.ค. 2017 7:47 pm โดย Nueng Chiramet
เรื่องจริงที่ Developer ทุกคนเคยเจอ
โดย Before Dong ศ 20 ต.ค. 2017 9:32 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
664
ศ 20 ต.ค. 2017 9:32 am โดย Before Dong
ภาพความฝัน กับความจริง ตอนรันโปรแกรม รันกราฟโชว์ผลงาน
โดย Before Dong พฤ 19 ต.ค. 2017 10:30 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
3
140
ศ 20 ต.ค. 2017 9:15 am โดย Before Dong
อยากหัดเขียนโปรแกรมเซฟรูปจากห้องแชทในไลน
โดย pwbank พฤ 19 ต.ค. 2017 11:59 pm บอร์ด Programming - C/C++ & java & Python
1
36
พฤ 19 ต.ค. 2017 11:59 pm โดย konseo
เขียนโค้ดยังไงให้จับคู่ตัวเลขทุกตัว โดยใช้ javascript เท่านั้น
โดย mybbb พฤ 19 ต.ค. 2017 9:59 pm บอร์ด JavaScript & Jquery Ajax
1
27
พฤ 19 ต.ค. 2017 9:59 pm โดย konseo
ตัวอย่างการใช้คำสั่ง time.sleep() ใน Selenium
โดย paoonline พฤ 19 ต.ค. 2017 6:58 pm บอร์ด Python Knowledge
0
35
พฤ 19 ต.ค. 2017 6:58 pm โดย paoonline
ติดตั้ง จูมช็อบปิ้งไม่ได้ครับ Error
โดย chungchai พ 18 ต.ค. 2017 7:54 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
4
39
พ 18 ต.ค. 2017 7:54 pm โดย xampp
ตัวอย่าง การดึงข้อมูลเวลาวันที่จากฐานข้อมูลมาแปลงเป็นรูปแบบ Date Time(เดททาม) สากล
โดย paoonline พ 18 ต.ค. 2017 4:05 pm บอร์ด Python Knowledge
0
48
พ 18 ต.ค. 2017 4:05 pm โดย paoonline
ยกเลิก Class ชื่อ JDocumentRendererHead ในเวอร์ชั่น 3.8.0 ขึ้นไป ทำให้เกิด Error ที่หน้าเว็บไซต์
โดย tsukasaz พ 18 ต.ค. 2017 3:58 pm บอร์ด Joomla Development
0
28
พ 18 ต.ค. 2017 3:58 pm โดย tsukasaz
เส้นทางที่โรยด้วย กลีบกุหลาบ ของโปรแกรมเมอร์
โดย Before Dong พ 18 ต.ค. 2017 11:29 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
283
พ 18 ต.ค. 2017 11:29 am โดย Before Dong
คำสั่ง ดู พื้นที่ใน Folder Linux
โดย mindphp อ 17 ต.ค. 2017 9:42 pm บอร์ด Linux - Web Server
2
56
อ 17 ต.ค. 2017 9:42 pm โดย mindphp
สอบถามไม่สามารถใช้ Selenium IDE ใน Firefox ได้ครับ
โดย paoonline อ 17 ต.ค. 2017 4:39 pm บอร์ด Programming - C/C++ & java & Python
0
38
อ 17 ต.ค. 2017 4:39 pm โดย paoonline