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.
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"))
# userProfileImageRetirez 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
| Avant | Après |
|---|---|
| user_profile_image | userProfileImage |
| __user__profile__ | userProfile |
| api_response_url | apiResponseUrl |
| created_at | createdAt |
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) == expectedTester 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
userProfileImageUrlPascalCase
UserProfileImageUrlsnake_case
user_profile_image_urlkebab-case
user-profile-image-urlCONSTANT_CASE
USER_PROFILE_IMAGE_URLdot.case
user.profile.image.urlpath/case
user/profile/image/urlLa conversion s’effectue localement dans votre navigateur. Votre entrée n’est pas envoyée à un serveur de conversion.