ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
Moderator: mindphp, ผู้ดูแลกระดาน
-
- PHP Super Hero Member
- โพสต์: 604
- ลงทะเบียนเมื่อ: 07/12/2016 10:55 am
ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
ขอบเขตของตัวแปรฟังก์ชันในภาษา python (ไพทอน) แบ่งออกเป็น 2 ชนิด
- ตัวแปรชนิด Global (โกลบอล) คือตัวแปรที่มีขอบเขตกว้าง สามารถใช้งานได้ทุกส่วนของโปรแกรม
- ตัวแปรชนิด Local (โลคอล) คือตัวแปรที่มีขอบเขตแคบ ใช้งานได้เฉพาะภายในฟังก์ชันนั้นๆ
ตัวอย่างขอบเขตตัวแปร Global และ Local ที่มีชื่อตัวแปรเหมือนกัน
จะเห็นว่าถึงตัวแปรจะชื่อเดียวกันแต่ผลลัพธ์ที่ได้มีค่าไม่เท่ากัน เพราะเรื่องของขอบเขตตัวแปร Global และ Local ตัวอย่างขอบเขตของตัวแปร Global และ Local ที่มีชื่อตัวแปร Global ซ้ำ ตัวอย่างขอบเขตของตัวแปร Global และ Local ที่ส่งค่า Global แล้วกำหนดเป็น Local ซ้ำ
จะเห็นว่า ตัวแปร a มีค่าเปลี่ยนแปลงเพราะกำหนดให้เป็น local อีกครั้ง ตัวแปร b มีค่าเท่าเดิมเพราะยังคงเป็นตัวแปร Global อยู่
ตัวอย่างขอบเขตของตัวแปร Global และ Local ที่ส่งค่า Global แล้ว return เป็น Local ศึกษาข้อมูลมากจาก https://www.youtube.com/watch?v=9KP4C9g ... M&index=21
- ตัวแปรชนิด Global (โกลบอล) คือตัวแปรที่มีขอบเขตกว้าง สามารถใช้งานได้ทุกส่วนของโปรแกรม
- ตัวแปรชนิด Local (โลคอล) คือตัวแปรที่มีขอบเขตแคบ ใช้งานได้เฉพาะภายในฟังก์ชันนั้นๆ
ตัวอย่างขอบเขตตัวแปร Global และ Local ที่มีชื่อตัวแปรเหมือนกัน
จะเห็นว่าถึงตัวแปรจะชื่อเดียวกันแต่ผลลัพธ์ที่ได้มีค่าไม่เท่ากัน เพราะเรื่องของขอบเขตตัวแปร Global และ Local ตัวอย่างขอบเขตของตัวแปร Global และ Local ที่มีชื่อตัวแปร Global ซ้ำ ตัวอย่างขอบเขตของตัวแปร Global และ Local ที่ส่งค่า Global แล้วกำหนดเป็น Local ซ้ำ
จะเห็นว่า ตัวแปร a มีค่าเปลี่ยนแปลงเพราะกำหนดให้เป็น local อีกครั้ง ตัวแปร b มีค่าเท่าเดิมเพราะยังคงเป็นตัวแปร Global อยู่
ตัวอย่างขอบเขตของตัวแปร Global และ Local ที่ส่งค่า Global แล้ว return เป็น Local ศึกษาข้อมูลมากจาก https://www.youtube.com/watch?v=9KP4C9g ... M&index=21
-
- PHP Super Hero Member
- โพสต์: 604
- ลงทะเบียนเมื่อ: 07/12/2016 10:55 am
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
สามารถศึกษาข้อมูลเพิ่มเติมได้ที่ https://www.mindphp.com/vdo-tutorial-pyt ... ction.html
-
- PHP Sr. Member
- โพสต์: 84
- ลงทะเบียนเมื่อ: 01/02/2017 11:10 am
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
ในหัวข้อนี้คือต้องตระหนักถึงตำแหน่งของ ตัวแปร Global และ Local เป็นสำคัญเพราะมีผลในการประมวลผลของระบบ
-
- PHP Super Hero Member
- โพสต์: 813
- ลงทะเบียนเมื่อ: 08/01/2018 9:55 am
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โค้ด: เลือกทั้งหมด
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)
I am slow walker, but I never walk back. (Abraham Lincoln)
- Jom07
- PHP Super Hero Member
- โพสต์: 514
- ลงทะเบียนเมื่อ: 08/01/2018 9:56 am
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โค้ด: เลือกทั้งหมด
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)
-
- PHP Hero Member
- โพสต์: 114
- ลงทะเบียนเมื่อ: 09/04/2018 10:04 am
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
โค้ด: เลือกทั้งหมด
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
โค้ด: เลือกทั้งหมด
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
ศึกษาจาก https://youtu.be/9KP4C9g3ys8
-
- PHP Hero Member
- โพสต์: 199
- ลงทะเบียนเมื่อ: 30/04/2018 9:44 am
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
ขอบเขตของตัวแปรฟังก์ชัน
ผลลัพธ์การรันโค้ด
จะเห้นได้ว่าตัวแปรของ total ในแบบ Local และ total ในแบบ Global นั้นมีค่าที่ต่างกันถึงแม้ว่าจะมีการ return ค่าออกมาแต่เราไม่ได้เอาค่านั้นมาทำงานต่อแต่อย่างใดค่า total ในแบบ Global จึงมีค่าเท่ากับ 20 เพราะมีการประกาศค่าซ้ำอีกครั้ง
ศึกษาจาก : https://www.youtube.com/watch?v=9KP4C9g3ys8
โค้ด: เลือกทั้งหมด
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
ศึกษาจาก : https://www.youtube.com/watch?v=9KP4C9g3ys8
It’s never too late to start again.
-
- PHP Super Hero Member
- โพสต์: 561
- ลงทะเบียนเมื่อ: 02/07/2018 10:45 am
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
ตัวแปร global ในฟังก์ชั่นจะทำให้ ตัวแปรนั้น ค่าเดียวกันทั้งในและนอกฟังก์ชั่น
แต่ตัวแปร local ใช้ได้เพียงในฟังก์ชั่น
โค้ดตัวอย่างกรณี ตัวแปร global
จะเห็นได้ว่าตัวแปร
แต่ตัวแปร local ใช้ได้เพียงในฟังก์ชั่น
โค้ดตัวอย่างกรณี ตัวแปร global
โค้ด: เลือกทั้งหมด
import time
a=0
def count():
global a
a+=1
print(a)
while 1:
count()
time.sleep(1)
-
- PHP Full Member
- โพสต์: 44
- ลงทะเบียนเมื่อ: 08/08/2018 9:49 am
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
ขอบเขตของตัวแปล ใน การสร้างฟังก์ชั่น Scope of Variables
ผลลัพธ์
ศึกษาจาก : https://www.youtube.com/watch?v=9KP4C9g ... lzdKrpxsMM
โค้ด: เลือกทั้งหมด
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)
-
- PHP Super Member
- โพสต์: 499
- ลงทะเบียนเมื่อ: 15/11/2018 10:02 am
Re: ทำความรู้จักกับภาษา python (21) : ขอบเขตของตัวแปรฟังก์ชัน
การใช้ตัวแปรชนิด tuple ใน python
Tuple เป็นตัวแปรชนิดหนึ่งที่สามารถเก็บค่าได้หลายค่าใน1 ตัวแปร
เหมือนกับ list แต่ไม่สามารถ เพิ่ม และ ลบค่าได้
แต่ละค่าหรือสามชิกแต่ละตัวจะต้องอยู่ใน (...)
รูปที่ run ในโปรแกรม โค้ดที่จะนำมาrun
ผลลัพธ์ที่ได้
Tuple เป็นตัวแปรชนิดหนึ่งที่สามารถเก็บค่าได้หลายค่าใน1 ตัวแปร
เหมือนกับ list แต่ไม่สามารถ เพิ่ม และ ลบค่าได้
แต่ละค่าหรือสามชิกแต่ละตัวจะต้องอยู่ใน (...)
รูปที่ run ในโปรแกรม โค้ดที่จะนำมา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 ค่า
- แนบไฟล์
-
- 52.png (12.81 KiB) Viewed 1221 times
-
- Similar Topics
- ตอบกลับ
- แสดง
- โพสต์ล่าสุด
-
-
โพสต์ใหม่ แนะนำเวอร์ชัน Python ในปัจจุบัน Python 3.10 หรือ Python 3.11
โดย athirach.offcial » 29/03/2024 3:20 pm » ใน Python Knowledge - 0 ตอบกลับ
- 721 แสดง
-
โพสต์ล่าสุด โดย athirach.offcial
29/03/2024 3:20 pm
-
-
-
โพสต์ใหม่ การใช้งาน Python GUI (Tkinter) : การเรียกใช้ from ใน python 2 และ python 3
โดย Jom07 » 06/03/2018 3:17 pm » ใน Python Knowledge - 0 ตอบกลับ
- 4427 แสดง
-
โพสต์ล่าสุด โดย Jom07
06/03/2018 3:17 pm
-
-
-
โพสต์ใหม่ ทำความรู้จักกับภาษา python (23) : การใช้ from...import (ฟอร์ม...อิมพอร์ต) ในภาษา python (ไพทอน)
โดย dawthana » 12/01/2017 3:24 pm » ใน Python Knowledge - 9 ตอบกลับ
- 6557 แสดง
-
โพสต์ล่าสุด โดย jirawoot
21/06/2019 10:07 am
-
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 85