কম্পিউটার টিউটোরিয়াল

পাইথনে ক্যামেলকেসকে স্নেককেসে কনভার্ট করার ফাংশন

রেগুলার এক্সপ্রেশন (regex) ব্যবহার করে ক্যামেলকেস (CamelCase) স্ট্রিংকে স্নেককেস (snake_case) এ কনভার্ট করা যায়। এটি পাইথন কোডিং কনভেনশন (PEP 8) ফলো করার জন্য দরকারি।

কোড

import re

def convert(name):
    # প্রথমে: CapitAlLetter + lowercase letters এর আগে আন্ডারস্কোর
    s1 = re.sub(r'(.)([A-Z][a-z]+)', r'\1_\2', name)
    # তারপর: lowercase/digit + CapitalLetter এর মাঝে আন্ডারস্কোর
    return re.sub(r'([a-z0-9])([A-Z])', r'\1_\2', s1).lower()

print(convert('JavaBeans'))        # java_beans
print(convert('JavaStrutsSwing'))  # java_struts_swing

রেজেক্স ব্যাখ্যা

  1. (.)([A-Z][a-z]+) — যেকোনো ক্যারেক্টার + বড় হ্রস্ব লেটার সিকোয়েন্স। উদাহরণ: J + avaBeans → J_avaBeans।
  2. ([a-z0-9])([A-Z]) — ছোট হ্রস্ব/ডিজিট + বড় হ্রস্ব। উদাহরণ: aB → a_B।
  3. .lower() — পুরো স্ট্রিংকে লোয়ারকেসে আনা।

অ্য্লтернаিটিভ: stringcase লাইব্রেরি

pip install stringcase
import stringcase
stringcase.snakecase('JavaBeans')  # 'java_beans'
  1. পাইথনে issubset() ফাংশন

  2. পাইথনে float() ফাংশন – স্ট্রিং/নম্বর থেকে ফ্লোট কনভার্সন

  3. পাইথনে join() ফাংশন

  4. পাইথনে intersection() ফাংশন