Gestion pratique de la largeur
Gestion de la largeur des chaînes de caractères dans le monde réel
Alignement et formatage du texte
def format_table_row(text, width=20, align='left'):
"""Create aligned text with consistent width"""
if align == 'left':
return text.ljust(width)
elif align == 'right':
return text.rjust(width)
elif align == 'center':
return text.center(width)
## Usage example
print(format_table_row('LabEx', width=10, align='center'))
print(format_table_row('Python', width=10, align='right'))
Troncature de texte prenant en compte la largeur
import unicodedata
def truncate_text(text, max_width):
"""Truncate text while respecting character widths"""
current_width = 0
truncated = []
for char in text:
char_width = 2 if unicodedata.east_asian_width(char) in 'FW' else 1
if current_width + char_width > max_width:
break
truncated.append(char)
current_width += char_width
return ''.join(truncated)
## Demonstration
print(truncate_text('Python中文测试', max_width=10))
Workflow de gestion de la largeur
graph TD
A[Input Text] --> B{Calculate Width}
B --> |Width > Limit| C[Truncate]
B --> |Width <= Limit| D[Display]
C --> E[Adjusted Text]
Stratégies de gestion de la largeur
Stratégie |
Cas d'utilisation |
Complexité |
Troncature |
Espace d'affichage limité |
Moyenne |
Retour à la ligne |
Texte multi-lignes |
Élevée |
Mise à l'échelle |
Formatage dynamique |
Complexe |
def print_fixed_width(text, width=30, fill_char='-'):
"""Print text with fixed-width formatting"""
print(text.center(width, fill_char))
## Console output example
print_fixed_width('LabEx Python Tutorial')
Manipulation avancée de la largeur
def smart_text_pad(text, total_width, pad_char=' '):
"""Intelligently pad text considering character widths"""
current_width = sum(2 if unicodedata.east_asian_width(c) in 'FW' else 1 for c in text)
padding_needed = max(0, total_width - current_width)
return text + pad_char * padding_needed
## Usage
print(smart_text_pad('Python', total_width=10))
print(smart_text_pad('中文', total_width=10))
Points clés pour les développeurs
Une gestion efficace de la largeur nécessite :
- De comprendre la complexité des caractères
- De choisir des méthodes de calcul appropriées
- D'implémenter des stratégies de formatage flexibles
En maîtrisant ces techniques, les développeurs de LabEx peuvent créer des solutions de traitement de texte robustes qui fonctionnent dans différentes langues et environnements d'affichage.