Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Verwendung von unteren und oberen Funktionen in Python

Detaillierte Erläuterung der Verwendung von unteren und oberen Funktionen in Python

Y2J
Y2JOriginal
2017-05-18 14:55:1513058Durchsuche

Ich bin heute auf ein kleines Problem gestoßen. Ich muss ein Programm schreiben, um die unregelmäßigen englischen Namen in der Liste in [Großbuchstaben und den Rest in Kleinbuchstaben] umzuwandeln.

Die ursprüngliche Idee bestand darin, eine Funktion zu schreiben um jeden Namen in Großbuchstaben umzuwandeln. So verarbeiten Sie eine Namenszeichenfolge [str], wie man Map für die Stapelverarbeitung verwendet.

Ich muss sagen, dass die allgemeine Idee richtig ist, aber es gibt einige Probleme bei der Verarbeitung von Details

Zuerst habe ich die Namensverarbeitungsfunktion so geschrieben:

[python] view plain copy
def change (name)  
    result = name[0].upper()  
    for a in name[1:len(name)]:  
        result = result + a.lower()

Dann wird beim Ausführen ein Fehler gemeldet

[python] view plain copy
E:\PythonFile>python practice.py  
  File "practice.py", line 6  
    for a in name(1:len(name)-1) :  
                   ^  
SyntaxError: invalid syntax  
  
E:\PythonFile>python practice.py  
Traceback (most recent call last):  
  File "practice.py", line 11, in <module>  
    name_li = map (change, name_list)  
  File "practice.py", line 6, in change  
    for a in name(1,len(name)-1) :  
TypeError: &#39;str&#39; object is not callable  
  
E:\PythonFile>python practice.py  
Traceback (most recent call last):  
  File "practice.py", line 9, in <module>  
    name_li = map (change, name_list)  
  File "practice.py", line 5, in change  
    name[0] = name[0].upper()  
TypeError: &#39;str&#39; object does not support item assignment  
  
E:\PythonFile>python practice.py  
Traceback (most recent call last):  
  File "practice.py", line 10, in <module>  
    name_li = map (change, name_list)  
  File "practice.py", line 6, in change  
    name[0] = tmp  
TypeError: &#39;str&#39; object does not support item assignment  
  
E:\PythonFile>python  
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win  
32  
Type "help", "copyright", "credits" or "license" for more information.  
>>> l = &#39;zxcv&#39;  
>>> print l[0]  
z  
>>> print l[0].upper  
<built-in method upper of str object at 0x02148740>  
>>> print l[0].upper()  
Z  
>>> z  
Traceback (most recent call last):  
  File "<stdin>", line 1, in <module>  
NameError: name &#39;z&#39; is not defined  
>>> ^Z  
  
  
E:\PythonFile>python practice.py  
Traceback (most recent call last):  
  File "practice.py", line 9, in <module>  
    name_li = map (change, name_list)  
  File "practice.py", line 6, in change  
    name[0] = tmp  
TypeError: &#39;str&#39; object does not support item assignment  
  
E:\PythonFile>python practice.py  
Traceback (most recent call last):  
  File "practice.py", line 13, in <module>  
    name_li = map (change, name_list)  
  File "practice.py", line 5, in change  
    tmp = chr(name[0])  
TypeError: an integer is required

Nach ein paar Versuchen Ich habe festgestellt, dass die allgemeine Bedeutung darin besteht, dass die Zeichenfolgenverarbeitung nicht auf diese Weise erfolgen kann. Daher habe ich die Verwendung von „upper()“ und „lower()“ überprüft und festgestellt, dass diese beiden Funktionen direkt auf str wirken, sodass dies nicht erforderlich ist sich kümmern.

Nach der Änderung:

[python] view plain copy
# practice.py  
# Change the first char in every name from lower type to upper type  
  
def change (name):  
    result =  name[0:1].upper()+name[1:len(name)].lower()  
    return result  
  
name_list = [&#39;kzd&#39;,&#39;ysy&#39;,&#39;kcw&#39;,&#39;scr&#39;,&#39;ky&#39;]  
name_li = map (change, name_list)  
print name_l

Laufendes Ergebnis:

[python] view plain copy
E:\PythonFile>python practice.py  
[&#39;Kzd&#39;, &#39;Ysy&#39;, &#39;Kcw&#39;, &#39;Scr&#39;, &#39;Ky&#39;]

Der Fehler besteht darin, dass ich versucht habe, Elemente in der Zeichenfolge zuzuweisen und zu ersetzen, was nicht zulässig ist.

[Verwandte Empfehlungen]

1. Python kostenloses Video-Tutorial

2. Einführung in Python, grundlegende Einführung in Obermaterial

3.

So konvertieren Sie Groß- und Kleinschreibung in Python

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von unteren und oberen Funktionen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn