หน้า 1 จากทั้งหมด 2
ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โพสต์แล้ว: 11/01/2017 6:13 pm
โดย dawthana
ขอบเขตของตัวแปรฟังก์ชันในภาษา python (ไพทอน) แบ่งออกเป็น 2 ชนิด
- ตัวแปรชนิด
Global (โกลบอล) คือตัวแปรที่มีขอบเขตกว้าง สามารถใช้งานได้ทุกส่วนของโปรแกรม
- ตัวแปรชนิด
Local (โลคอล) คือตัวแปรที่มีขอบเขตแคบ ใช้งานได้เฉพาะภายในฟังก์ชันนั้นๆ
ตัวอย่างขอบเขตตัวแปร Global และ Local ที่มีชื่อตัวแปรเหมือนกัน
จะเห็นว่าถึงตัวแปรจะชื่อเดียวกันแต่ผลลัพธ์ที่ได้มีค่าไม่เท่ากัน เพราะเรื่องของขอบเขตตัวแปร Global และ Local
- gl1.png (43.48 KiB) Viewed 2122 times
ตัวอย่างขอบเขตของตัวแปร Global และ Local ที่มีชื่อตัวแปร Global ซ้ำ
- gl2.png (50.56 KiB) Viewed 2122 times
ตัวอย่างขอบเขตของตัวแปร Global และ Local ที่ส่งค่า Global แล้วกำหนดเป็น Local ซ้ำ
จะเห็นว่า ตัวแปร a มีค่าเปลี่ยนแปลงเพราะกำหนดให้เป็น local อีกครั้ง ตัวแปร b มีค่าเท่าเดิมเพราะยังคงเป็นตัวแปร Global อยู่
- gl3.png (59.76 KiB) Viewed 2122 times
ตัวอย่างขอบเขตของตัวแปร Global และ Local ที่ส่งค่า Global แล้ว return เป็น Local
- gl4.png (53.2 KiB) Viewed 2122 times
ศึกษาข้อมูลมากจาก
https://www.youtube.com/watch?v=9KP4C9g ... M&index=21
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โพสต์แล้ว: 11/01/2017 6:14 pm
โดย dawthana
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โพสต์แล้ว: 03/02/2017 5:11 pm
โดย Dive Demo
ในหัวข้อนี้คือต้องตระหนักถึงตำแหน่งของ ตัวแปร Global และ Local เป็นสำคัญเพราะมีผลในการประมวลผลของระบบ
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โพสต์แล้ว: 23/01/2018 4:32 pm
โดย Four
โค้ด: เลือกทั้งหมด
def func():
a = 1
b = 2
print("local A", a)
print("local B", b)
a = 10
b = 20
print("local A", a)
print("local B", b)
func()
print("local A", a)
print("local B", b)
ผลรัน
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โพสต์แล้ว: 25/01/2018 1:13 am
โดย Jom07
โค้ด: เลือกทั้งหมด
total = 0
def test(a,b,c):
total = a + b + c
print('แสดงผลรัน local = ', total)
return total
total = 30
test(10,20,30)
print('แสดงผล global =',total)
ผลรัน
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โพสต์แล้ว: 21/04/2018 11:30 am
โดย Patcharanan.0399
โค้ด: เลือกทั้งหมด
total = 0
def mysum(arg1, arg2, arg3):
total = arg1 + arg2 + arg3
print 'Local is : ', total
return total
mysum(15, 25, 35)
print 'Globle is : ', total
ผลการรัน
- ตัวแปรมีค่าไม่เท่ากัน แม้ว่าจะเป็นชื่อเดียวกัน เพราะเรื่องขอบเขตของตัวแปร Global กับ Local
- Global.JPG (10.65 KiB) Viewed 1969 times
โค้ด: เลือกทั้งหมด
total = 0
def mysum(arg1, arg2, arg3):
total = arg1 + arg2 + arg3
print 'Local is : ', total
return total
total = 30
mysum(15, 25, 35)
print 'Globle is : ', total
ผลการรัน
- เมื่อมีชื่อตัวแปร Global ซ้ำ จะเท่ากับค่าที่กำหนดไว้ล่าสุด
- Global1.JPG (11.08 KiB) Viewed 1969 times
ศึกษาจาก
https://youtu.be/9KP4C9g3ys8
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โพสต์แล้ว: 03/05/2018 1:55 pm
โดย rangsan
ขอบเขตของตัวแปรฟังก์ชัน
โค้ด: เลือกทั้งหมด
total = 0
def mySum(arg1,arg2,arg3):
total1 = arg1+arg2+arg3
total2 = arg1*arg2-arg3
total = total1+total2
print 'Value Total in Local : ',total
return total
total = 20
mySum(2,3,4)
print '--------------------------'
print 'Value Total in Global : ',total
ผลลัพธ์การรันโค้ด
- ขอบเขตของตัวแปรฟังก์ชัน.png (17.62 KiB) Viewed 1947 times
จะเห้นได้ว่าตัวแปรของ total ในแบบ Local และ total ในแบบ Global นั้นมีค่าที่ต่างกันถึงแม้ว่าจะมีการ return ค่าออกมาแต่เราไม่ได้เอาค่านั้นมาทำงานต่อแต่อย่างใดค่า total ในแบบ Global จึงมีค่าเท่ากับ 20 เพราะมีการประกาศค่าซ้ำอีกครั้ง
ศึกษาจาก :
https://www.youtube.com/watch?v=9KP4C9g3ys8
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โพสต์แล้ว: 06/07/2018 3:52 pm
โดย prakon
ตัวแปร global ในฟังก์ชั่นจะทำให้ ตัวแปรนั้น ค่าเดียวกันทั้งในและนอกฟังก์ชั่น
แต่ตัวแปร local ใช้ได้เพียงในฟังก์ชั่น
โค้ดตัวอย่างกรณี ตัวแปร global
โค้ด: เลือกทั้งหมด
import time
a=0
def count():
global a
a+=1
print(a)
while 1:
count()
time.sleep(1)
จะเห็นได้ว่าตัวแปร
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โพสต์แล้ว: 10/08/2018 3:57 pm
โดย anuwat somsakul
ขอบเขตของตัวแปล ใน การสร้างฟังก์ชั่น Scope of Variables
โค้ด: เลือกทั้งหมด
total = 0
def mysum(arg1,arg2,arg3):
total = arg1 + arg2 + arg3 #ตัวแปร local
print("แสดงค่าของตัวแปรที่เป็นlocal",total)
return total
#ชื่อตัวแปรglobalซ้ำ
total = 30
mysum(10,20,30)
print("แสดงค่าของตัวแปรที่เป็นglobal",total)
ผลลัพธ์
- Selection_013.png (12.58 KiB) Viewed 1245 times
ศึกษาจาก :
https://www.youtube.com/watch?v=9KP4C9g ... lzdKrpxsMM
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โพสต์แล้ว: 16/11/2018 6:02 pm
โดย ธวัชชัย แสนหาญ
การใช้ตัวแปรชนิด tuple ใน python
Tuple เป็นตัวแปรชนิดหนึ่งที่สามารถเก็บค่าได้หลายค่าใน1 ตัวแปร
เหมือนกับ list แต่ไม่สามารถ เพิ่ม และ ลบค่าได้
แต่ละค่าหรือสามชิกแต่ละตัวจะต้องอยู่ใน (...)
รูปที่ run ในโปรแกรม
- 51.png (29.49 KiB) Viewed 1195 times
โค้ดที่จะนำมาrun
โค้ด: เลือกทั้งหมด
Tuple1 =('in','out',1,2)
Tuple2 =(10,20,30,40)
print (Tuple1) #แสดงคาใน Tuple1 ทั้งหมด
print (Tuple1[1]) #แสดงคาใน Tuple1 ใน index ที่1
print (Tuple2) #แสดงคาใน Tuple2 ทั้งหมด
print (Tuple2[-1]) #แสดงคาใน Tuple2 -1คือ นับจากข้างหลังลงมา 1 ค่า
ผลลัพธ์ที่ได้
- 51.png (29.49 KiB) Viewed 1195 times