Exemple Python

Convertir snake_case en camelCase en Python

Séparez une chaîne snake_case par underscores, gardez le premier token en minuscules et capitalisez les suivants.

Par Équipe éditoriale Camel Case ConverterPublié le 12 sept. 2026Dernière relecture

Code Python

def snake_to_camel(value: str) -> str:
    parts = [part for part in value.strip("_").split("_") if part]
    if not parts:
        return ""
    head, *tail = parts
    return head.lower() + "".join(part[:1].upper() + part[1:].lower() for part in tail)

print(snake_to_camel("user_profile_image"))
# userProfileImage

Retirez les underscores en bordure et les tokens vides dus aux underscores répétés pour un résultat déterministe.

Python utilise lui-même snake_case ; la conversion est surtout utile aux frontières avec JSON, API ou frontend JavaScript.

Cas limites à considérer

  • Le rendu des acronymes dépend de la convention du système consommateur.
  • Les dict imbriqués demandent une conversion récursive de clés, pas seulement une fonction de chaîne.
  • Majuscules, tirets et espaces nécessitent une tokenisation plus générale.
  • Pour un contrat API fixe, préférez une conversion à la sérialisation/désérialisation.

Exemple

AvantAprès
user_profile_imageuserProfileImage
__user__profile__userProfile
api_response_urlapiResponseUrl
created_atcreatedAt

Code Python

cases = {
    "user_profile_image": "userProfileImage",
    "__user__profile__": "userProfile",
    "api_response_url": "apiResponseUrl",
    "created_at": "createdAt",
}

for value, expected in cases.items():
    assert snake_to_camel(value) == expected

Tester la conversion en ligne

Utilisez le convertisseur pour les vérifications rapides, les lots, les acronymes ou les entrées qui mélangent plusieurs conventions.

Détecté : snake_case
Sortie camelCase
userProfileImageUrl

Tous les formats de nommage

camelCase
userProfileImageUrl
PascalCase
UserProfileImageUrl
snake_case
user_profile_image_url
kebab-case
user-profile-image-url
CONSTANT_CASE
USER_PROFILE_IMAGE_URL
dot.case
user.profile.image.url
path/case
user/profile/image/url

La conversion s’effectue localement dans votre navigateur. Votre entrée n’est pas envoyée à un serveur de conversion.