หน้าแรก
หน้าแรก
หากคุณต้องการได้ค่าผกผันของตัวเลข 16 บิตแรกเท่านั้น คุณสามารถใช้ xor ของตัวเลขนั้นด้วย 65535(16 1 วินาทีในเลขฐานสอง) ตัวอย่าง a = 3 # 11 in binary b = a ^ 65535 print(bin(b)) ผลลัพธ์ สิ่งนี้จะให้ผลลัพธ์ - 0b1111111111111100
จากเอกสาร Python: ตัวดำเนินการในกลุ่มกล่องเดียวกันจากซ้ายไปขวา (ยกเว้นการเปรียบเทียบ) รวมถึงการทดสอบซึ่งทั้งหมดมีความสำคัญและต่อเนื่องกันจากซ้ายไปขวา ดูหัวข้อการเปรียบเทียบและการยกกำลังซึ่งจัดกลุ่มจากขวาไปซ้าย) ดังนั้นตัวดำเนินการ ** (การยกกำลัง) จึงเป็นการเชื่อมโยงจากขวาไปซ้าย ตัวอย่างเช่น 2 ** 3
ตัวดำเนินการชุดย้อนกลับคือตัวดำเนินการที่กำหนดเป็น: s & z corresponds to s.__and__(z) z & s corresponds to s.__rand__(z) สิ่งเหล่านี้ไม่สมเหตุสมผลในการทำงานปกติ เช่น และเพิ่ม หรือ ฯลฯ ของวัตถุธรรมดา อย่างไรก็ตาม ในกรณีของการสืบทอด การดำเนินการย้อนกลับจะมีประโยชน์อย่างยิ่งเมื่อจัดการกับคลาสย่
ไม่มีไวยากรณ์สัญกรณ์พิเศษ .. (dot dot) ใน python อย่างไรก็ตาม คุณสามารถเห็นสิ่งนี้ได้ในกรณีที่โฟลตเข้าถึงคุณสมบัติของพวกเขา ตัวอย่างเช่น f = 1..__truediv__ # or 1..__div__ for python 2 print(f(8)) สิ่งนี้จะให้ผลลัพธ์: 0.125 สิ่งที่เรามีคือ float literal ที่ไม่มีศูนย์ต่อท้าย ซึ่งเราจะเข้าถึงเมธอด _
หากคุณต้องการแปลงคำสั่งเช่น − if <condition>: <some-code> สำหรับบรรทัดเดียว คุณสามารถใช้บรรทัดเดียวได้หากใช้ไวยากรณ์ - if <condition>: <some-code> อีกวิธีหนึ่งในการทำเช่นนี้คือการใช้ประโยชน์จากการลัดวงจรและตัวดำเนินการ เช่น - <condition> and &l
ตัวดำเนินการ python ทำงานได้ไม่ดีอย่างมากในรายการ O(n) เพราะมันข้ามรายการทั้งหมด คุณสามารถใช้บางอย่างเช่น set หรือ dict (โครงสร้างข้อมูลที่แฮชซึ่งมีการค้นหาอย่างรวดเร็ว) เพื่อให้ได้ผลลัพธ์เดียวกันในเวลา ~O(1)! แต่สิ่งนี้ก็ขึ้นอยู่กับประเภทของโครงสร้างข้อมูลที่คุณกำลังดูด้วย เนื่องจากในขณะที่การค้นห
สำหรับนิพจน์เช่น − a == b ขั้นแรกให้ล่าม python ค้นหาเมธอด __eq__() บนวัตถุ a หากพบสิ่งนั้น ให้รันด้วย b เป็นอาร์กิวเมนต์ เช่น a.__eq__(b) หากเมธอดนี้คืนค่า NotImplemented ก็จะพยายามทำสิ่งที่ตรงกันข้าม กล่าวคือ มันพยายามเรียก b.__eq__(a)
ไม่สามารถโอเวอร์โหลดโอเปอเรเตอร์ ternary ได้ แม้ว่าคุณจะสามารถรวมไว้ในแลมบ์ดา/ฟังก์ชันและใช้งานได้ สำหรับ ตัวอย่าง result = lambda x: 1 if x < 3 else 10 print(result(2)) print(result(1000)) ผลลัพธ์ สิ่งนี้จะให้ผลลัพธ์ - 1 10
คุณสามารถใช้เงื่อนไขร่วมกันในคำสั่ง if คุณต้องกำหนดเงื่อนไขทั้งหมดโดยใช้ตรรกะบางประเภท ตัวอย่างเช่น หากต้องการตรวจสอบว่าตัวเลขหารด้วย 3 และ 5 ลงตัวหรือไม่ คุณสามารถใช้ − ตัวอย่าง a = 15 if a % 3 == 0: if a % 5 == 0: print("Divisible by both") ผลลัพธ์ สิ่งน
นี่คือขั้นตอนบางส่วนที่คุณสามารถปฏิบัติตามเพื่อเพิ่มประสิทธิภาพการซ้อน if...elif...else. 1. ตรวจสอบให้แน่ใจว่าเส้นทางที่จะไปมากที่สุดอยู่ใกล้ด้านบน เพื่อให้แน่ใจว่าไม่จำเป็นต้องตรวจสอบหลายเงื่อนไขในเส้นทางที่ดำเนินการมากที่สุด 2. ในทำนองเดียวกัน ให้จัดเรียงเส้นทางตามการใช้งานส่วนใหญ่และกำหนดเงื่อน
มีหลายวิธีที่คุณสามารถกำหนดสไตล์ได้หลายแบบหากมีเงื่อนไข คุณไม่จำเป็นต้องใช้ 4 ช่องว่างในบรรทัดเงื่อนไขที่สองของคุณ ดังนั้นคุณสามารถใช้บางอย่างเช่น &minusl; if (cond1 == 'val1' and cond2 == 'val2' and cond3 == 'val3' and cond4 == 'val4'): # รหัสจริง คุณยั
คุณสามารถเปรียบเทียบตัวแปร 2 ตัวในคำสั่ง if โดยใช้ตัวดำเนินการ == ตัวอย่าง a = 10 b = 15 if a == b: print("Equal") else: print("Not equal") ผลลัพธ์ สิ่งนี้จะให้ผลลัพธ์ - Not Equal คุณยังสามารถใช้ the is the operator ตัวอย่าง a = "Hello" b = a
ต่อไปนี้คือข้อผิดพลาด/gotchas ในการเขียนโปรแกรมหลามที่พบบ่อยที่สุดที่โปรแกรมเมอร์กระทำการ - การค้นหาชื่อขอบเขต − Python ปฏิบัติตามกฎการกำหนดขอบเขตตามลำดับ LEGB(Local, Enclosing, Global, Built-in) เนื่องจาก python ไม่มีการผูกประเภทที่เข้มงวด โปรแกรมเมอร์จึงสามารถเชื่อมโยงตัวแปรขอบเขตภายนอกกับค่าอื
ต่อไปนี้คือข้อผิดพลาด/gotchas ในการเขียนโปรแกรมหลามที่พบบ่อยที่สุดที่โปรแกรมเมอร์ยอมรับ: การค้นหาชื่อขอบเขต: Python ปฏิบัติตามกฎการกำหนดขอบเขตตามลำดับ LEGB (Local, Enclosing, Global, Built-in) เนื่องจาก python ไม่มีการผูกประเภทที่เข้มงวด โปรแกรมเมอร์จึงสามารถเชื่อมโยงตัวแปรขอบเขตภายนอกกับค่าอื่นที่
คุณสามารถทำสิ่งนี้ได้โดยตรงหากคุณอยู่รอบๆ multiline ของคุณ if เงื่อนไขของประโยคในวงเล็บ ตัวอย่างเช่น if (cond1 == 'val1' and cond2 == 'val2' and # Some comment cond3 == 'val3' and # Some comment cond4 == 'val4'): อย่างไรก็ตาม วิ
คุณสามารถใส่ความคิดเห็นไว้ที่ใดก็ได้ในคำสั่ง if...elif...else กล่าวคือ ก่อนแต่ละบล็อกหรือภายในแต่ละบล็อกเหล่านี้ โปรดทราบว่าคุณไม่สามารถใส่ความคิดเห็นแบบหลายบรรทัดก่อน elif และ else บล็อกได้ เนื่องจากความคิดเห็นเหล่านี้เป็นสตริงที่บ่งบอกถึงการแตกในโครงสร้างทั้งหมด ตัวอย่างเช่น # If check if True: &n
มีหลายวิธีที่คุณสามารถใช้ได้ หากสร้างอย่างอื่นในบรรทัดคำสั่งใน python ตัวอย่างเช่น bash รองรับคำสั่ง multiline ซึ่งคุณสามารถใช้เช่น: $ python -c ' > a = True > if a: > print("a is true") > ' สิ่งนี้จะให้ผลลัพธ์: a is true ถ้าคุณต้องการให้มีคำสั่ง python ในบรรทัดเดียว ค
Python มีสองวิธีในการเขียน inline if statement เหล่านี้คือ: 1. if condition:statement 2. s1 ถ้าเงื่อนไขอื่น s2 โปรดทราบว่าประเภทที่สองของ if ไม่สามารถใช้งานได้หากไม่มีอย่างอื่น ตอนนี้คุณสามารถใช้อินไลน์เหล่านี้ในคำสั่งการพิมพ์ได้เช่นกัน ตัวอย่างเช่น a = True if a: print("Hello") สิ่งนี
วิธีที่ตรงไปตรงมาที่สุด ดูเหมือนจะใช้ตัววนซ้ำภายนอกเพื่อติดตาม โปรดทราบว่าคำตอบนี้จะพิจารณาว่าคุณกำลังวนซ้ำในรายการที่มีขนาดเท่ากัน ตัวอย่าง a = [10, 12, 14, 16, 18] b = [10, 8, 6, 4, 2] for i in range(len(a)): print(a[i] + b[i]) ผลลัพธ์ สิ่งนี้จะให้ผลลัพธ์ - 20 20 20 20 20 ตัวอย่าง ค
มีหลายวิธีที่คุณสามารถใช้คำสั่ง multiline ในบรรทัดคำสั่งใน python ตัวอย่างเช่น bash รองรับคำสั่ง multiline ซึ่งคุณสามารถใช้เช่น − ตัวอย่าง $ python -c ' > a = True > if a: > print("a is true") > ' ผลลัพธ์ สิ่งนี้จะให้ผลลัพธ์ - a is true ถ้าคุณต้องการให้มีคำสั่ง python ใ