เริ่มต้นกับโมดูล random ของ Python! วิธีสร้างค่าสุ่มด้วยโค้ดที่สามารถคัดลอกและวางได้
หากต้องการเรียกใช้ Python ผ่าน Command Prompt หรือ PowerShell บนคอมพิวเตอร์ของคุณ คุณจำเป็นต้องดาวน์โหลดและติดตั้ง Python ก่อน
หากคุณยังไม่ได้ติดตั้ง กรุณาดูบทความ การติดตั้ง Python และการตั้งค่าสภาพแวดล้อมการพัฒนา เพื่อทำการติดตั้ง Python
สวัสดีครับ! คุณเคยต้องการเพิ่มความเคลื่อนไหวหรือความไม่คาดคิดให้กับเว็บไซต์ของคุณหรือไม่? เช่น การเปลี่ยนรูปภาพที่แสดงทุกครั้งที่มีการเข้าชม, การแสดงบทความแนะนำแบบสุ่ม, หรือการสร้างข้อมูลจำลองจำนวนมากระหว่างการพัฒนา
เพื่อให้เกิด "การสุ่ม" เช่นนี้ Python ได้เตรียมไลบรารีมาตรฐานที่สะดวกมากที่เรียกว่า โมดูล random ไว้ให้แล้ว เนื่องจากเป็นไลบรารีมาตรฐาน หากคุณติดตั้ง Python ไว้แล้ว ก็ไม่จำเป็นต้องติดตั้งเพิ่มเติม สามารถใช้งานได้ทันที เป็นเพื่อนคู่ใจที่พึ่งพาได้สำหรับผู้สร้างเว็บ
ในบทความนี้ เราจะอธิบายวิธีการใช้โมดูล random ของ Python ตั้งแต่พื้นฐานไปจนถึงการประยุกต์ใช้อย่างละเอียด พร้อมด้วยตัวอย่างโค้ดมากมาย เพื่อให้แม้แต่ผู้สร้างเว็บมือใหม่ก็สามารถใช้งานได้ทันที โค้ดตัวอย่างทั้งหมดถูกสร้างขึ้นเพื่อให้ทำงานได้อย่างสมบูรณ์เพียงแค่ "คัดลอกและวาง" เท่านั้น การได้ "ลองทำดูก่อน" จะทำให้คุณได้สัมผัสกับความสนุกและความสะดวกสบายของการสร้างเลขสุ่ม!
การเตรียมตัว: การนำเข้าโมดูล random
ก่อนอื่นเลย การที่จะใช้ฟังก์ชันของโมดูล random ได้นั้น คุณต้องนำเข้า (import) โมดูลที่ส่วนหัวของสคริปต์ Python ของคุณก่อน วิธีการเขียนนั้นง่ายมาก เพียงแค่เขียนโค้ด 1 บรรทัดต่อไปนี้
import random
# หลังจากนี้จะสามารถใช้ฟังก์ชันของโมดูล random ได้
print("นำเข้าโมดูล random เรียบร้อยแล้ว!")
เพียงเท่านี้คุณก็พร้อมที่จะเรียกใช้ฟังก์ชันต่างๆ ภายในโมดูลในรูปแบบ random.ชื่อฟังก์ชัน() แล้วครับ เรามาดูฟังก์ชันเด่นๆ ทีละตัวกันเลย
พื้นฐาน ①: การสร้างจำนวนเต็มสุ่ม (randint, randrange)
หนึ่งในฟังก์ชันที่ใช้บ่อยที่สุดคือการสร้างจำนวนเต็มสุ่มในช่วงที่กำหนด มีหลายสถานการณ์ที่จำเป็นต้องใช้จำนวนเต็มสุ่ม เช่น "ตัวเลข 1 ถึง 6 (ลูกเต๋า 🎲)" หรือ "คะแนนสอบ 100 ถึง 200"
การรับจำนวนเต็มในช่วงที่กำหนด: random.randint()
random.randint(a, b) จะคืนค่าจำนวนเต็มสุ่มหนึ่งค่าที่อยู่ระหว่างตัวเลขสองตัว `a` และ `b` ที่ส่งผ่านเป็นอาร์กิวเมนต์ จุดสำคัญคือช่วงนี้รวมค่า a และ b เองด้วย (ตั้งแต่ a ถึง b)
ตัวอย่าง: จำนวนเต็มสุ่มตั้งแต่ 1 ถึง 6 (ลูกเต๋า)
import random
# สร้างจำนวนเต็มสุ่มตั้งแต่ 1 ถึง 6
dice_roll = random.randint(1, 6)
print(f"ผลลัพธ์ของลูกเต๋า: {dice_roll}")
การใช้งานเหมือน range(): random.randrange()
random.randrange() ก็ใช้สร้างจำนวนเต็มเช่นกัน แต่ทำงานเหมือนกับฟังก์ชัน range() มาตรฐานของ Python ดังนั้นโปรแกรมเมอร์อาจจะรู้สึกว่าฟังก์ชันนี้ใช้งานง่ายกว่า
randrange(stop): จำนวนเต็มตั้งแต่ 0 ถึง ก่อน stoprandrange(start, stop): จำนวนเต็มตั้งแต่ start ถึง ก่อน stoprandrange(start, stop, step): จำนวนเต็มในช่วงตั้งแต่ start ถึงก่อน stop โดยมีระยะห่างเท่ากับ step
ข้อควรระวังคือ randrange() จะไม่รวมค่าสิ้นสุด (stop) ซึ่งแตกต่างจาก randint(a, b)
ตัวอย่าง: จำนวนเต็มสุ่มตั้งแต่ 0 ถึง 9 (ไม่รวม 10)
import random
# สร้างจำนวนเต็มสุ่มตั้งแต่ 0 ถึงก่อน 10
# แนวคิดเดียวกับ range(10)
number = random.randrange(10)
print(f"จำนวนสุ่มจาก 0 ถึง 9: {number}")
จุดเด่นของ randrange() จะแสดงออกมาเมื่อต้องการสร้างเลขสุ่มตามขั้นตอน (step) ที่กำหนด เช่น สามารถระบุได้ว่า "เฉพาะเลขคู่" หรือ "เฉพาะพหุคูณของ 5"
ตัวอย่าง: พหุคูณของ 5 แบบสุ่มตั้งแต่ 10 ถึง 100
import random
# เริ่มจาก 10 ถึงก่อน 101 โดยเพิ่มทีละ 5
# ค่าที่เป็นไปได้คือ 10, 15, 20, ..., 100
multiple_of_five = random.randrange(10, 101, 5)
print(f"พหุคูณของ 5 แบบสุ่มจาก 10 ถึง 100: {multiple_of_five}")
พื้นฐาน ②: การเลือกองค์ประกอบจากลิสต์ (choice, choices, sample)
เป็นฟังก์ชันที่มีประโยชน์อย่างมากในสถานการณ์ต่างๆ บนเว็บไซต์ เช่น "การแสดงบทความแนะนำแบบสุ่ม 1 บทความจากลิสต์" หรือ "การเลือกแสดงภาพแบนเนอร์หลายภาพจากที่มีอยู่" โดยจะดึงองค์ประกอบออกมาจากกลุ่มข้อมูล (sequence) เช่น ลิสต์ หรือ ทูเพิล
การเลือกเพียงหนึ่งเดียว: random.choice()
random.choice(seq) จะเลือกองค์ประกอบแบบสุ่มเพียงหนึ่งเดียวจากลำดับข้อมูล เช่น ลิสต์ หรือ ทูเพิล เป็นฟังก์ชันที่เรียบง่ายและใช้งานง่ายมาก
ตัวอย่าง: การเลือกผลเซียมซีหนึ่งใบ
import random
fortunes = ["โชคดีมาก", "โชคดีปานกลาง", "โชคดีเล็กน้อย", "โชคดี", "โชคร้าย", "โชคร้ายมาก"]
# เลือกแบบสุ่ม 1 รายการจากลิสต์
result = random.choice(fortunes)
print(f"ดวงชะตาของคุณวันนี้คือ... {result}!")
การเลือกหลายรายการโดยอนุญาตให้ซ้ำ: random.choices()
random.choices(population, k=n) จะเลือกองค์ประกอบหลายรายการจากลิสต์ จุดสำคัญคืออนุญาตให้มีการซ้ำ (sampling with replacement) ซึ่งหมายความว่าองค์ประกอบที่ถูกเลือกไปแล้วสามารถถูกเลือกได้อีกครั้ง โดยใช้ k เพื่อระบุจำนวนที่จะเลือก
ตัวอย่าง: การจำลองการโยนเหรียญ 10 ครั้ง (หัวและก้อยสามารถออกซ้ำได้)
import random
coin_sides = ["หัว", "ก้อย"]
# เลือกจาก coin_sides 10 ครั้งโดยอนุญาตให้ซ้ำ (k=10)
results = random.choices(coin_sides, k=10)
print(f"ผลการโยนเหรียญ: {results}")
print(f"จำนวนครั้งที่ออกหัว: {results.count('หัว')}")
print(f"จำนวนครั้งที่ออกก้อย: {results.count('ก้อย')}")
นอกจากนี้ choices() ยังสามารถระบุ weights (น้ำหนัก) เพื่อปรับความน่าจะเป็นในการเลือกแต่ละองค์ประกอบได้ ซึ่งมีประโยชน์อย่างมากในกรณีที่ต้องการควบคุมความน่าจะเป็น เช่น ฟังก์ชันกาชาในเกม
ตัวอย่าง: การจำลองกาชาที่ไอเท็มหายากออกยาก
import random
items = ["หายากสุดๆ SSR+", "SSR", "SR", "R", "N"]
# ความน่าจะเป็น: 0.5%, 3%, 15%, 30%, 51.5% น้ำหนักที่สอดคล้องกัน
weights = [0.5, 3, 15, 30, 51.5]
# สุ่ม 10 ครั้งโดยพิจารณาน้ำหนัก
gacha_results = random.choices(items, weights=weights, k=10)
print(f"ผลการสุ่มกาชา 10 ครั้ง: {gacha_results}")
การเลือกหลายรายการโดยไม่ซ้ำ: random.sample()
random.sample(population, k) จะเลือกองค์ประกอบหลายรายการจากลิสต์โดยไม่ซ้ำกัน (sampling without replacement) เหมาะสำหรับกรณีเช่น "การสุ่มผู้ชนะ 3 คนจากรายชื่อผู้เข้าร่วมโดยไม่ซ้ำ" หรือ "การแสดงบทความที่เกี่ยวข้องไม่ให้ซ้ำกัน"
ตัวอย่าง: การสุ่มผู้ชนะ 2 คนจากผู้ใช้ 5 คน
import random
users = ["UserA", "UserB", "UserC", "UserD", "UserE"]
# เลือก 2 คนจากลิสต์ users โดยไม่ซ้ำ (k=2)
winners = random.sample(users, k=2)
print(f"ขอแสดงความยินดีกับผู้ชนะ!: {winners}")
พื้นฐาน ③: การสลับลำดับของลิสต์ (shuffle)
หากต้องการสลับลำดับขององค์ประกอบในลิสต์ที่มีอยู่แล้ว ให้ใช้ random.shuffle(x)
ข้อควรระวังคือ shuffle() จะไม่คืนค่าลิสต์ใหม่ แต่จะแก้ไขลิสต์เดิมโดยตรง (in-place operation) ดังนั้นหากต้องการเก็บลำดับเดิมไว้ ควรคัดลอกลิสต์ก่อนใช้งาน
ตัวอย่าง: การสับไพ่
import random
cards = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"]
print(f"ก่อนสับไพ่: {cards}")
# สลับลำดับในลิสต์ cards โดยตรง
random.shuffle(cards)
print(f"หลังสับไพ่: {cards}")
หากต้องการลิสต์ใหม่ที่สลับลำดับแล้วโดยยังคงลิสต์เดิมไว้ สามารถใช้ random.sample() ที่กล่าวถึงก่อนหน้านี้ได้อย่างง่ายดาย โดยระบุจำนวน k ให้เท่ากับจำนวนองค์ประกอบทั้งหมดในลิสต์ ก็จะได้ลิสต์ใหม่ที่สลับลำดับแล้ว
ตัวอย่าง: การรับลิสต์ที่สลับลำดับแล้วโดยยังคงลิสต์เดิมไว้
import random
original_list = [1, 2, 3, 4, 5]
# สุ่มตัวอย่างเท่ากับความยาวของลิสต์เดิม
shuffled_list = random.sample(original_list, k=len(original_list))
print(f"ลิสต์เดิม (ไม่เปลี่ยนแปลง): {original_list}")
print(f"ลิสต์ใหม่ที่สลับลำดับแล้ว: {shuffled_list}")
พื้นฐาน ④: การสร้างเลขทศนิยมสุ่ม (random, uniform)
ไม่เพียงแต่จำนวนเต็มเท่านั้น แต่ยังสามารถสร้างตัวเลขสุ่มที่มีทศนิยม (floating-point number) ได้อีกด้วย สามารถนำไปใช้กับพารามิเตอร์ของอนิเมชัน หรือการคำนวณอัตราส่วนใน A/B testing ได้
ค่าระหว่าง 0.0 ถึง 1.0: random.random()
random.random() เป็นฟังก์ชันสร้างทศนิยมพื้นฐานที่สุด จะคืนค่าเลขทศนิยมสุ่มที่มีค่าตั้งแต่ 0.0 ถึงน้อยกว่า 1.0 ($0.0 \le N < 1.0$) โดยไม่ต้องการอาร์กิวเมนต์
ตัวอย่าง: การสร้างเลขทศนิยมสุ่ม
import random
value = random.random()
print(f"ค่าที่สร้างได้: {value}")
# ตัวอย่างการแสดงผล "สำเร็จ!" ด้วยความน่าจะเป็น 70%
if value < 0.7:
print("สำเร็จด้วยความน่าจะเป็น 70%!")
else:
print("น่าเสียดาย, ล้มเหลว...")
ทศนิยมในช่วงที่กำหนด: random.uniform()
หากต้องการทศนิยมในช่วงที่กำหนด ให้ใช้ random.uniform(a, b) ซึ่งจะคืนค่าเลขทศนิยมสุ่มที่มีค่าตั้งแต่ a ถึง b ($a \le N \le b$)
ตัวอย่าง: การสร้างเลขทศนิยมสุ่มตั้งแต่ -1.0 ถึง 1.0
import random
# สร้างเลขทศนิยมสุ่มตั้งแต่ -1.0 ถึง 1.0
random_float = random.uniform(-1.0, 1.0)
print(f"เลขทศนิยมที่สร้างได้: {random_float}")
# หากต้องการแสดงผลทศนิยม 3 ตำแหน่ง
print(f"ทศนิยม 3 ตำแหน่ง: {random_float:.3f}")
ภาคประยุกต์: ตัวอย่างที่ใช้งานได้จริงในการสร้างเว็บ
จากนี้ไป เราจะมาแนะนำตัวอย่างที่ใช้งานได้จริงมากขึ้น ซึ่งผู้สร้างเว็บน่าจะได้ใช้ในการพัฒนาจริง โดยการผสมผสานฟังก์ชันพื้นฐานที่ได้เรียนรู้มา
ตัวอย่างประยุกต์ ①: การสร้างรหัสผ่านหรือสตริง ID แบบสุ่ม
มีประโยชน์เมื่อต้องการสร้างรหัสผ่านเริ่มต้นสำหรับผู้ใช้ทดสอบ หรือ ID ชั่วคราวสำหรับเซสชัน ที่นี่เราจะแนะนำวิธีการเขียนโค้ดอย่างชาญฉลาดโดยใช้ random.choice() ร่วมกับการจัดการสตริง และ list comprehension
import random
import string
# กำหนดตัวอักษรที่จะใช้
# string.ascii_letters คือตัวอักษรภาษาอังกฤษทั้งหมด (a-z, A-Z)
# string.digits คือตัวเลข (0-9)
# string.punctuation คือสัญลักษณ์ (!"#$%&...)
characters = string.ascii_letters + string.digits + string.punctuation
print(f"ตัวอักษรที่จะใช้ (บางส่วน): {characters[:20]}...")
# กำหนดความยาวของรหัสผ่าน
length = 16
# สร้างสตริงสุ่มตามความยาวที่กำหนดโดยใช้ list comprehension
# "".join(list) คือการเชื่อมองค์ประกอบในลิสต์ให้เป็นสตริงเดียว
random_password = "".join(random.choice(characters) for _ in range(length))
print(f"สตริงสุ่มที่สร้างได้: {random_password}")
ตัวอย่างประยุกต์ ②: การสร้าง HTML ที่มีองค์ประกอบสุ่มด้วย Python
Python ยังมีบทบาทสำคัญในฝั่งเซิร์ฟเวอร์ของเว็บอีกด้วย ที่นี่เราจะแนะนำโค้ดที่สร้างไฟล์ HTML ที่มีเนื้อหาแบบสุ่มแบบไดนามิก ซึ่งมีประโยชน์เมื่อต้องการสร้างต้นแบบของเว็บไซต์หรือข้อมูลทดสอบอย่างมีประสิทธิภาพ
โค้ด Python ต่อไปนี้จะสร้างไฟล์ HTML แบบง่ายๆ ที่มีสีพื้นหลังและข้อความที่แตกต่างกันไปทุกครั้งที่รัน
โค้ด Python: การสร้าง HTML แบบสุ่ม
import random
# 1. สร้างรหัสสีแบบสุ่ม
# แปลงจำนวนเต็มจาก 0 ถึง 16777215 (FFFFFF) เป็นเลขฐานสิบหก
bg_color = f"#{random.randint(0, 0xFFFFFF):06x}"
# 2. เลือกข้อความและไอคอนแบบสุ่ม
messages = [
("ยินดีต้อนรับสู่โลกของ Python!", "🐍"),
("โมดูล random มีประโยชน์ใช่ไหมล่ะ", "👍"),
("การออกแบบเว็บเป็นเรื่องสนุก!", "🎨"),
("วันนี้เป็นวันที่ดีสำหรับการเขียนโค้ด", "💻")
]
message, icon = random.choice(messages)
# 3. สร้างโครงสร้าง HTML ด้วย f-string
html_content = f"""<!DOCTYPE html>
<html lang="th">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>หน้าที่สร้างขึ้นแบบสุ่ม</title>
<style>
body {{
background-color: {bg_color};
color: #333;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
text-align: center;
padding-top: 100px;
transition: background-color 0.5s ease;
}}
.container {{
background-color: rgba(255, 255, 255, 0.8);
padding: 2em 3em;
border-radius: 12px;
display: inline-block;
box-shadow: 0 8px 20px rgba(0,0,0,0.15);
backdrop-filter: blur(10px);
}}
h1 {{
font-size: 2.5rem;
}}
</style>
</head>
<body>
<div class="container">
<h1>{icon} {message}</h1>
<p>สีพื้นหลังของหน้านี้คือ <strong>{bg_color}</strong></p>
</div>
</body>
</html>
"""
# 4. บันทึก HTML ที่สร้างขึ้นเป็นไฟล์ชื่อ "random_page.html"
with open("random_page.html", "w", encoding="utf-8") as f:
f.write(html_content)
print("สร้างไฟล์ `random_page.html` เรียบร้อยแล้ว โปรดเปิดในเบราว์เซอร์เพื่อตรวจสอบ")
เมื่อรันสคริปต์ Python ข้างต้น จะมีการสร้างไฟล์ `random_page.html` ขึ้นในไดเรกทอรีเดียวกับสคริปต์ หากคุณเปิดไฟล์นี้ในเบราว์เซอร์ คุณจะเห็นหน้าที่ออกแบบแตกต่างกันไปในแต่ละครั้งที่รัน ลองทำดูสิครับ
ข้อควรระวังและวิธีการใช้งานขั้นสูง
การทำซ้ำของเลขสุ่ม: random.seed()
เลขสุ่มที่สร้างโดยโมดูล random นั้น จริงๆ แล้วไม่ใช่การสุ่มที่สมบูรณ์ แต่เป็นเลขสุ่มเทียม (pseudo-random number) ที่สร้างขึ้นจากสูตรคำนวณ (อัลกอริทึม) ที่เฉพาะเจาะจง จุดเริ่มต้นของการคำนวณนี้คือค่าที่เรียกว่า "seed (เมล็ดพันธุ์)"
โดยปกติแล้ว seed จะถูกตั้งค่าโดยอัตโนมัติจากค่าที่คาดเดาได้ยาก เช่น เวลาปัจจุบัน ทำให้ทุกครั้งที่รันจะได้ลำดับของเลขสุ่มที่แตกต่างกัน แต่ในการดีบักหรือทดสอบ บางครั้งเราอาจต้องการ "เลขสุ่มที่เหมือนเดิมทุกครั้ง" ซึ่งสามารถทำได้ด้วย random.seed()
เมื่อกำหนดค่าตัวเลข (seed value) ให้กับ random.seed() ลำดับของเลขสุ่มที่จะถูกสร้างขึ้นหลังจากนั้นจะถูกกำหนดค่าตายตัว ไม่ว่าจะรันกี่ครั้งก็ตาม หากใช้ seed value เดียวกัน ก็จะได้เลขสุ่มในลำดับเดียวกันเสมอ
import random
# ตั้งค่า seed value เป็น 42
random.seed(42)
print("--- การรันด้วย seed value 42 ---")
print(random.randint(1, 100))
print(random.choice(["A", "B", "C"]))
print(random.random())
print("\n--- การรันด้วย seed value 42 อีกครั้ง ---")
# หากตั้งค่า seed เป็นค่าเดิมอีกครั้ง ลำดับของเลขสุ่มจะถูกรีเซ็ตและให้ผลลัพธ์เหมือนเดิมทุกประการ
random.seed(42)
print(random.randint(1, 100))
print(random.choice(["A", "B", "C"]))
print(random.random())
【สำคัญที่สุด】ใช้โมดูล secrets เพื่อความปลอดภัย
คำเตือน: นี่เป็นข้อควรระวังที่สำคัญมาก
โมดูล random ที่เราได้แนะนำมานั้นเพียงพอสำหรับการสุ่มทางสถิติและการใช้งานทั่วไป แต่อัลกอริทึมของมันเป็นที่รู้จักกันโดยทั่วไป และเลขสุ่มที่สร้างขึ้นสามารถคาดเดาได้ ดังนั้นจึงไม่ปลอดภัยในทางวิทยาการเข้ารหัสลับ
กล่าวอีกนัยหนึ่งคือ คุณไม่ควรใช้โมดูล random สำหรับฟังก์ชันที่สำคัญด้านความปลอดภัยในเว็บแอปพลิเคชัน เช่น:
- การสร้างรหัสผ่านผู้ใช้หรือโทเค็นรีเซ็ตรหัสผ่าน
- ID เซสชันหรือโทเค็นการยืนยันตัวตน
- การสร้างคีย์ API
- ค่าลับอื่นๆ ที่ไม่ควรให้บุคคลที่สามคาดเดาได้
สำหรับวัตถุประสงค์เหล่านี้ คุณต้องใช้โมดูลเฉพาะทางสำหรับสร้างเลขสุ่มที่ปลอดภัยทางวิทยาการเข้ารหัสลับ นั่นคือ secrets ซึ่งถูกเพิ่มเข้ามาในไลบรารีมาตรฐานตั้งแต่ Python 3.6
วิธีการใช้งานโมดูล secrets นั้นคล้ายกับโมดูล random มาก แต่จะใช้แหล่งที่มาของเลขสุ่มที่ปลอดภัยที่สุดที่ระบบปฏิบัติการมีให้ ทำให้การคาดเดาจากบุคคลที่สามเป็นไปได้ยากอย่างยิ่ง
ตัวอย่าง: การสร้างโทเค็นที่ปลอดภัยด้วยโมดูล secrets
import secrets
import string
# --- การสร้างโทเค็นที่ปลอดภัยสำหรับ URL (32 ไบต์) ---
# สามารถใช้สำหรับ URL รีเซ็ตรหัสผ่าน เป็นต้น
url_safe_token = secrets.token_urlsafe(32)
print(f"โทเค็นที่ปลอดภัยสำหรับ URL: {url_safe_token}")
# --- ตัวอย่างการสร้างรหัสผ่านที่ปลอดภัย (16 ตัวอักษร) ---
# ใช้อักขระและตัวเลขและสัญลักษณ์เป็นตัวเลือก
alphabet = string.ascii_letters + string.digits + string.punctuation
# ใช้ secrets.choice() เพื่อเลือกอักขระอย่างปลอดภัย
secure_password = ''.join(secrets.choice(alphabet) for i in range(16))
print(f"ตัวอย่างรหัสผ่านที่ปลอดภัย: {secure_password}")
สรุป
ในบทความนี้ เราได้อธิบายอย่างละเอียดตั้งแต่พื้นฐานของการสร้างเลขสุ่มโดยใช้โมดูล random ของ Python ไปจนถึงตัวอย่างการประยุกต์ใช้ในการสร้างเว็บ และข้อควรระวังที่สำคัญเกี่ยวกับความปลอดภัย
สุดท้ายนี้ เรามาทบทวนฟังก์ชันหลักๆ กันอีกครั้ง
- จำนวนเต็ม:
random.randint(a, b)(รวม a, b),random.randrange(start, stop)(ไม่รวม stop) - การเลือกองค์ประกอบ:
random.choice(seq)(1 รายการ),random.choices(seq, k=n)(n รายการ อนุญาตให้ซ้ำ),random.sample(seq, k=n)(n รายการ ไม่ซ้ำ) - การสลับลำดับ:
random.shuffle(x)(แก้ไขลิสต์เดิมโดยตรง) - ทศนิยม:
random.random()(0.0 ถึง 1.0),random.uniform(a, b)(ในช่วง a ถึง b) - การทำซ้ำ:
random.seed(value)(กำหนดลำดับเลขสุ่มให้คงที่) - ความปลอดภัย: ใช้โมดูล
secretsสำหรับรหัสผ่านและโทเค็นเสมอ!
เมื่อคุณเชี่ยวชาญฟังก์ชันเหล่านี้แล้ว คุณจะสามารถสร้างข้อมูลทดสอบในการพัฒนาเว็บ หรือเพิ่มความน่าประหลาดใจและการโต้ตอบให้กับประสบการณ์ของผู้ใช้ได้อย่างง่ายดาย ลองคัดลอกและวางโค้ดที่เราแนะนำ และทำให้ฟังก์ชันการสร้างเลขสุ่มเป็นของคุณเองโดยการลองรันดูนะครับ!
🚀 ขั้นตอนต่อไป
เมื่อคุณคุ้นเคยกับการจัดการข้อมูลใน Python แล้ว ลองท้าทายตัวเองกับ "Regular Expressions" ซึ่งเป็นเครื่องมือที่ทรงพลังสำหรับการจัดการสตริง จะทำให้การค้นหาและแทนที่ข้อมูลข้อความที่ซับซ้อนง่ายขึ้นมาก
บทความถัดไป: การใช้โมดูล re สำหรับการค้นหาและแทนที่สตริงด้วย Regular Expressions