ไม่เป็นไร.
ในวิดีโอนี้ ฉันจะพยายามหลอกคุณ
ฉันต้องการให้คุณดูนิพจน์เหล่านี้ ที่ฉันกำลังตรวจสอบความเท่าเทียมกัน
ถูกต้อง.
ฉันกำลังบอกว่า เฮ้ true เท่ากับหนึ่งหรือไม่
สตริงว่างเท่ากับหนึ่งทำเพื่อลบเท่ากับที่ว่างเปล่าเท่ากับหรือไม่
ละกัน.
ตอนนี้หยุดวิดีโอที่นี่ชั่วคราวแล้วลองเดาว่าผลลัพธ์จะเป็นอย่างไร
พร้อม.
โดยวิธีการที่ถ้าคุณได้รับ 100% ในเรื่องนี้
ดีสำหรับคุณ เพราะถ้านี่เป็นครั้งแรกที่ฉันเรียน Python ฉันจะไม่เข้าใจสิ่งนี้
ไปกันเถอะ.
อืม.
นั่นคือเหตุผลที่คุณคาดหวัง?
จริง.
ประเมินดังนั้นจริงเท่ากับต้องการประเมินเป็นจริง
สตริงว่างมีค่าเท่ากับหนึ่งค่าที่ประเมินเป็นเท็จ
ที่สมเหตุสมผลเพราะพวกเขาไม่เท่ากันอย่างแน่นอน
ใช่ไหม
อาร์เรย์ว่างไม่เท่ากับหนึ่ง
และสิบเท่ากับ 10 0.
และแล้วทั้งการแข่งที่ว่าง
เท่ากับจริง.
เหตุผลที่ผมแสดงให้คุณเห็นตรงนี้ก็คือว่า double เท่ากับ ตรวจสอบความเสมอภาคหรือความเท่าเทียมกันของมูลค่า
นั่นคือถ้าตัวอย่างแรกเป็นจริงเท่ากับหนึ่ง
มีสองประเภทที่แตกต่างกัน
ตัวหนึ่งเป็นจำนวนเต็ม ตัวหนึ่งเป็นแท่ง
มันจะแปลงเป็นประเภทเดียวกัน
ในกรณีนี้ ค่านี้จะถูกแปลงเป็นค่าบูลีน
และถ้าคุณจำได้ สิ่งหนึ่งที่เป็นความจริง
ดังนั้นสิ่งนี้จะประเมินว่าเป็นจริง ซึ่งเป็นสาเหตุที่ทำให้เราเป็นจริง
แล้วอีกคนล่ะ?
สตริงว่างเป็นเท็จ ดังนั้นจึงประเมินเป็นเท็จ
และเท็จไม่เท่ากับจริง
ถูกต้อง.
เพราะเรากำลังตรวจสอบความเท่าเทียมกันที่นี่
ดังนั้นหนึ่งในนั้นจึงถูกแปลงเป็นอีกประเภทหนึ่ง
แล้วอาร์เรย์ที่ว่างเปล่าล่ะ?
อีกครั้งอาร์เรย์ว่างเป็นจริงเท็จ
มันจะไม่เท่ากับหนึ่ง
สิบเท่ากับลอยตัวของ 10 0.
นั่นแปลงเป็นจำนวนเต็มหรือทศนิยม และพวกมันจะเท่ากัน
และนั่นเป็นพฤติกรรมที่คาดหวัง
แล้วอาร์เรย์ว่างก็เท่ากับอาร์เรย์ว่าง
ถ้าฉันเพิ่มในอาร์เรย์นี้ หนึ่ง สอง สาม หนึ่ง สอง สาม และฉันคลิกเรียกใช้
ฉันได้รับไวยากรณ์ที่ไม่ถูกต้องเพราะฉันมีสิ่งนี้ที่นี่
เรียกใช้อีกครั้ง
ฉันได้รับความจริง
นั่นทำให้รู้สึก
ลองเปลี่ยนเป็นอันหนึ่งแล้วดูว่าเกิดอะไรขึ้นถ้าฉันคลิกเรียกใช้
ไม่เป็นไร.
ยังคงเป็นเท็จ
ทีนี้ มันค่อนข้างจะยุ่งยากใช่ไหม?
ชอบ.
อืม.
สิ่งนี้ควรประเมินว่าเป็นจริงหรือไม่?
แต่ไม่เราได้รับเท็จ
ดังนั้นสิ่งนี้จะไม่ถูกแปลงเป็นประเภทเมื่อเทียบกับสิ่งที่เรามีที่นี่
ตอนนี้ อย่าสับสนกับสิ่งนี้เพราะนี่จะเป็นรหัสที่ไม่ดีหากคุณกำลังตรวจสอบสิ่งนี้
เห็นได้ชัดว่าคุณควรตรวจสอบสองประเภท สองประเภทเดียวกันเข้าด้วยกัน
ตามหลักการแล้ว เมื่อคุณใช้ตัวดำเนินการเปรียบเทียบหรือตัวดำเนินการเชิงตรรกะเช่นนี้ คุณกำลังเปรียบเทียบสองประเภทและไม่ได้ให้
Python ทำการแปลงประเภทนี้
และหวังว่า Python จะคิดออกสำหรับเรา
แต่ฉันหวังว่าคุณภาพสองเท่าจะสมเหตุสมผลเพราะมีการตรวจสอบอื่นที่เราสามารถทำได้ซึ่งก็คือคำหลักและหลาม
จะเกิดอะไรขึ้นถ้าเราเปลี่ยนเครื่องหมายเท่ากับทั้งหมดนี้เป็น
คุณคิดว่าจะมีความแตกต่างหรือไม่?
มาดูกันเลย
ถ้าฉันคลิกเรียกใช้
ฉันได้รับเท็จสำหรับทุกสิ่ง
อืม.
แล้วความแตกต่างที่นี่คืออะไร?
เท่ากับตรวจสอบความเท่าเทียมกันในมูลค่า
เช่น?
หนึ่งสองสาม.
นั่นมีค่าเท่ากับหนึ่ง สอง สาม
ในรายการมีการตรวจสอบจริง
หากตำแหน่งในหน่วยความจำที่เก็บค่านี้ไว้จะเหมือนกัน
อืม.
ผ่านมันไปกันเถอะ
จริงด้วย
หนึ่งหมายเหตุ จริง ไม่ หนึ่ง จริง ดี อัตราจริงเท่านั้นที่จะเป็นจริง
แล้วไง.
สายหนึ่ง.
ที่หนึ่ง?
เลขที่
ฉันหมายถึงสำหรับหนึ่งที่จะเป็นสตริงที่ต้องเป็นหนึ่งใช่ไหม?
เพราะหนึ่งสตริงไม่ได้อยู่ที่เดียวในหน่วยความจำ
มันเป็นสิ่งเดียวกันอย่างแท้จริง
แล้วรายการนี้ล่ะ?
ที่จริงเรามาทำกันเป็นอาร์เรย์ อาร์เรย์ว่าง?
นั้นหรือคือรายการนี้
ดีถ้าเราดำเนินการนี้
ฉันยังคงได้รับเท็จ
อืม.
และนี่ค่อนข้างยุ่งยากและก้าวหน้าเช่นกัน
ทุกครั้งที่ฉันสร้างรายการ มันจะถูกเพิ่มในหน่วยความจำที่ใดที่หนึ่ง
จึงอยู่ในตำแหน่งในความทรงจำ
แต่เมื่อใดก็ตามที่ฉันสร้างรายการใหม่
มันถูกสร้างขึ้นในตำแหน่งอื่น
ดังนั้นนี่คือรายการสองรายการที่แตกต่างกันโดยสิ้นเชิงซึ่งอยู่ในสถานที่ต่างกันในหน่วยความจำ
มันจะตรวจสอบ เฮ้ นี่อยู่ในพื้นที่หน่วยความจำเดียวกัน ชั้นวางหนังสือเดียวกันกับชั้นนั้นหรือเปล่า
ไม่ นั่นไม่ใช่มัน
แต่ทำไมสิ่งนี้จึงใช้ได้กับสิ่งต่าง ๆ เช่นตัวเลขและสตริง
และนั่นเป็นเพราะว่าภายใต้ประทุน สิ่งเหล่านี้เป็นประเภทที่เรียบง่ายมาก อยู่ในความทรงจำ แต่อยู่ในตำแหน่งเดียว
กับบางอย่างที่คล้ายกับรายการ แม้ว่านี่อาจเป็นรายการเดียวกันกับรายการเดียวกัน
เพราะนี่คือโครงสร้างข้อมูล
ทุกครั้งที่เราสร้างมันขึ้นมา มันจะถูกสร้างขึ้นในตำแหน่งใหม่ ดังนั้นแม้ว่าเราจะมีตัวแปร A ที่บรรจุอยู่ก็ตาม
รายการนี้.
และอีกอย่าง มันจะเหมือนกันสำหรับโครงสร้างข้อมูลทั้งหมดของเรา เช่น พจนานุกรม ชุด ทูเพิล
ถ้าฉันทำ B เท่ากับนี่ และฉันตรวจสอบ A นั่นคือ B หรือไม่
ไม่.
พวกมันถูกสร้างขึ้นในพื้นที่หน่วยความจำที่แตกต่างกัน
นี่ก็คือจุดที่จุดอยู่คนละที่กับจุด B
แต่ถ้าผมทำ A เท่ากับจะเป็น
ฉันได้รับความจริงเพราะการตรวจสอบความเท่าเทียมกันสองครั้งนี้
เฉพาะหุบเขาเท่านั้น
นี่เป็นหัวข้อที่ค่อนข้างยาก ดังนั้นคุณอาจต้องดูวิดีโอนี้สองสามครั้ง
คุณอาจต้องฝึกฝนตัวเองสองสามครั้ง
แต่อย่าลืมว่าความแตกต่างระหว่าง IS และ double equals มักจะเข้มงวดกว่าเล็กน้อย
คุณกำลังตรวจสอบสิ่งที่คุณต้องการเทียบกับความเท่าเทียมกัน ซึ่งจะตรวจสอบค่า
ไม่เป็นไร.
นั่นเป็น doozy
แล้วพบกันใหม่ในวิดีโอหน้าครับ
ลาก่อน.