def กำหนดคำสั่ง และการ return
def ใช้กำหนดคำสั่ง คุณได้เห็นวิธีใช้มาบ้างแล้ว เช่น การปรากฎ note สั้นๆ บนหน้าจอ Smartphone ดังตัวอย่าง
def hello_01():
     appuifw.note(u'hello with no return','info')
เราใช้ def ตามด้วยชื่อคำสั่งที่เราต้องการกำหนด ต่อด้วยเครื่องหมาย : แล้วมีการย่อหน้า (อาจจะด้วยสัก 4 space)
แต่ละบรรทัดที่ตามมา จะบอกว่าคำสั่งนี้ทำอะไร
แต่ละบรรทัดที่อยู่ในขอบเขตของ def ก็ต้องย่อหน้าให้ตรงกันด้วย
ภาษาPython ไม่มีเครื่องหมายจบประโยค ไม่มีเครื่องหมายกำหนดขอบเขต แบบภาษาอื่น
Pythonจึงให้ความสำคัญ กับการขึ้นบรรทัดใหม่ และการย่อหน้า ค่อนข้างมาก
ลองมาดู def แบบหลายบรรทัดกันบ้าง
def hello_re():
     appuifw.note(u'hello with return','info')
     return 2005
จากตัวอย่าง มีการขึ้นบรรทัดใหม่ ย่อหน้าให้ตรงกัน บอกว่า 2 บรรทัดที่ตามมา อยู่ในขอบเขตของ def
คุณจะเห็นว่า hello_re() นอกจากจะแสดง note สั้นๆ แล้ว ยังมีการ return 2005
สามารถนำไปกำหนดค่าให้ตัวแปรต่างๆเช่น
a=hello_re()
หรือจะเปลี่ยน ให้เป็น String ก่อน ก็ใช้คำสั่ง str() เช่น
my_id=str(hello_re())
ที่จริงทุกคำสั่งในPythonนั้น จะมีการ returnค่า ด้วยเสมอ เช่นตัวอย่างแรก hello_01() ถ้าไม่มีการกำหนดเรื่อง return ไว้ ก็จะ return None
ดังตัวอย่าง
Codeตัวอย่าง
test08.zip
หน้าถัดไป>>>
หน้าก่อน
กลับไปหน้าหลัก
รายละเอียดเกี่ยวกับ Python for Symbian s60
>>> Introduction to Python
>>> Let's run Python for Symbian s60
>>> สั่งงานในPython ด้วย InterActiveConsole
>>> Editor บน Symbian ที่เขียนด้วย Python
>>> เริ่มต้นเขียนโปรแกรม กับ Python
>>>การสร้าง Function สร้าง Menu และกำหนด Exit
>>>And More...
def hello_01():
     appuifw.note(u'hello with no return','info')
เราใช้ def ตามด้วยชื่อคำสั่งที่เราต้องการกำหนด ต่อด้วยเครื่องหมาย : แล้วมีการย่อหน้า (อาจจะด้วยสัก 4 space)
แต่ละบรรทัดที่ตามมา จะบอกว่าคำสั่งนี้ทำอะไร
แต่ละบรรทัดที่อยู่ในขอบเขตของ def ก็ต้องย่อหน้าให้ตรงกันด้วย
ภาษาPython ไม่มีเครื่องหมายจบประโยค ไม่มีเครื่องหมายกำหนดขอบเขต แบบภาษาอื่น
Pythonจึงให้ความสำคัญ กับการขึ้นบรรทัดใหม่ และการย่อหน้า ค่อนข้างมาก
ลองมาดู def แบบหลายบรรทัดกันบ้าง
def hello_re():
     appuifw.note(u'hello with return','info')
     return 2005
จากตัวอย่าง มีการขึ้นบรรทัดใหม่ ย่อหน้าให้ตรงกัน บอกว่า 2 บรรทัดที่ตามมา อยู่ในขอบเขตของ def
คุณจะเห็นว่า hello_re() นอกจากจะแสดง note สั้นๆ แล้ว ยังมีการ return 2005
สามารถนำไปกำหนดค่าให้ตัวแปรต่างๆเช่น
a=hello_re()
หรือจะเปลี่ยน ให้เป็น String ก่อน ก็ใช้คำสั่ง str() เช่น
my_id=str(hello_re())
ที่จริงทุกคำสั่งในPythonนั้น จะมีการ returnค่า ด้วยเสมอ เช่นตัวอย่างแรก hello_01() ถ้าไม่มีการกำหนดเรื่อง return ไว้ ก็จะ return None
ดังตัวอย่าง
import appuifw ,e32
def hello_01():      appuifw.note(u'hello with no return','info') def hello_re():      appuifw.note(u'hello with return','info')      return 2005 def stop_now():      a.signal() appuifw.app.title=u'test08' t=appuifw.Text() appuifw.app.body=t x=str(hello_01()) t.add(u'hello_01 return this...'+x+'\n') y=str(hello_re()) t.add(u'hello_re return this...'+y+'\n') appuifw.app.exit_key_handler=stop_now a=e32.Ao_lock() a.wait() |
|
Codeตัวอย่าง
test08.zip
หน้าถัดไป>>>
หน้าก่อน
กลับไปหน้าหลัก
รายละเอียดเกี่ยวกับ Python for Symbian s60
>>> Introduction to Python
>>> Let's run Python for Symbian s60
>>> สั่งงานในPython ด้วย InterActiveConsole
>>> Editor บน Symbian ที่เขียนด้วย Python
>>> เริ่มต้นเขียนโปรแกรม กับ Python
>>>การสร้าง Function สร้าง Menu และกำหนด Exit
>>>And More...