string.lower в Python 3

У меня был рабочий скрипт python, но что-то должно было измениться в python 3.

Например, если я хотел преобразовать аргумент 1 в нижний регистр:

import string print(string.lower(sys.argv[1])) 

В нем говорится, что 'module' object has no attribute 'lower' – ОК, я понимаю, теперь string является модулем.

Если я удалю импорт и напишу только string.lower('FOO') , он жалуется, что name 'string' is not defined .

Итак, каков правильный способ преобразования строки в нижний регистр?

4 Solutions collect form web for “string.lower в Python 3”

Вы можете использовать sys.argv[1].lower()

 >>> "FOo".lower() 'foo' 

lower() – это метод строковых объектов.

string модуль был изменен в Python 3, он больше не содержит методов, связанных с объектами str , теперь он содержит только константы, упомянутые ниже.

Вы также можете использовать str.lower("Mystring") но это необязательно здесь, поскольку вы можете просто использовать "Mystring".lower() .

 >>> import string # Python 3 >>> dir(string) ['ChainMap', 'Formatter', 'Template', '_TemplateMetaclass', '__builtins__', '__cached__', '__doc__', '__file__', '__initializing__', '__loader__', '__name__', '__package__', '_re', '_string', 'ascii_letters', 'ascii_lowercase', 'ascii_uppercase', 'capwords', 'digits', 'hexdigits', 'octdigits', 'printable', 'punctuation', 'whitespace'] 

Это не string :

 >>> str.lower("HELLO") 'hello' 

Следовательно, причина, по которой вы получаете name 'string' is not defined. ошибка в том, что в настоящее время в переменной не указана переменная, называемая string .

Объектно-ориентированный правильный путь:

 'FOO'.lower() 

В вашем примере:

 print(sys.argv[1].lower()) 

Чтобы добавить, в то время как некоторые люди предпочитают объектно-ориентированный способ (вызов метода объекта str), некоторые могут по-прежнему предпочитать более старый путь – с функциями или операторами. Это зависит также от решаемой проблемы. (Если вы не согласны, подумайте, например, о (1.5).__add__(3) .)

Вы можете легко создать собственное (более простое) имя для функции, которая вам нужна, чтобы сделать ее более читаемой. Вам нужно только подумать о том, будет ли он доступен для чтения (в будущем для вас и сейчас) для всех:

 >>> lower = str.lower >>> lower('SoMe CaPiTaL LetTerS to Be LoWeRED') 'some capital letters to be lowered' 
  • Как программа может выбирать между двумя функциями в python?
  • python3 - узнав о поиске, этот очень простой пример не работает правильно
  • Python: обнаружение дубликатов с использованием набора
  • Python3 целочисленное разделение
  • Как вернуть определенную точку после ошибки в цикле «while»
  • Исключение Python 3 удаляет переменную в закрывающей области по неизвестной причине
  • Как преобразовать список нескольких целых чисел в одно целое?
  • Как можно надежно разбить строку на Python?
  • Как реализовать метод undo () - метод для класса List в Python
  • sort () возвращает None
  • Как использовать списки в условных выражениях
  •  
    Interesting Posts for Van-Lav

    itertools не распознает numpy int как действительные входы на Python 3.6

    PyQt: Поместите прокрутки в этот

    Как измерить абсолютное значение для массива в python?

    Python: как преобразовать временную метку времени в UTC, не зная, действует ли DST

    Преобразовать временную метку строки (со смещением по часовой стрелке) по местному времени. , ? питон

    Отображение текста при наведении указателя мыши – элемент Title непоследовательный, атрибут title ничего не делает

    Улучшение точности нейронной сети Tensorflow – python

    Подключение к FTP TLS 1.2 Server с ftplib

    Итерировать вложенный словарь в Python

    Поиск строки, допускающей одно несоответствие в любом месте строки

    как я позиционирую кнопки в tkinter?

    Как вы используете модуль Python Msqldb? вместо% s для параметров запроса?

    В python, как проверить, действительна ли дата?

    Использовать учетную запись службы oauth2 для аутентификации в API Google в python

    numping array casting управляется не «безопасным»,

    Python - лучший язык программирования в мире.