2014-12-15 24 views

cevap

15

parametreleri sep ve maxsplit denir:

str.split(sep="&", maxsplit=8) 

Ama sadece Python 3.x böyle parametre adları kullanabilirsiniz Bence adları kullanılarak beri iki versiyonu için en iyisidir

str.split("&", 8) 

gerçekten sadece gereksiz: Python 2.x yapmanız gereken. str.split, Python'da çok iyi bilinen bir araçtır, bu yüzden herhangi bir Python programcısının, yönteme ilişkin argümanların ne anlama geldiğini anlama konusunda sorun yaşayacağından kuşkuluyum. Ayrıca, kullanıcı tanımlı adları yerleşik adlardan biri ile aynı yapmaktan kaçınmalısınız. Bunu yapmak yerleşik olanı gölgelemekte ve mevcut kapsamda kullanılamaz hale getirmektedir. Yani, str dışında dizginiz için farklı bir isim seçerdim.

+0

: Bunun yerine bunu yapın dokümanın kullandığı adları, "sep" ve "maxsplit" kullanın. Buna göre, hatanın "* no * anahtar kelime bağımsız değişkenleri" olduğunu unutmayın. – jez

+0

Huh. 3.x'te çalışıyor, bu yüzden 2.x'te çalışacağını düşündüm. Güncellenmiş. – iCodez

+1

Ayrıca, str.split' * *, ilişkisiz bir yöntem olarak bulunduğundan, yeni kullanıcıları str' adını kullanma konusunda kafa karıştırmak özellikle önemlidir. Ben OP söyledi "Ah, kullanmalısınız str.split()' "hangi * * doğrudur, ama yanlış alınabilir .... – jez

1

Hata, split'a adlandırılmış bağımsız değişkenler sağlayamayacağınızı bildirir. Sadece argümanlarla split aramak zorunda - argümanların adları olmadan:

name,function,range,w,h,k,frac,constraint = str.split("&", 8) 
1

bölünmüş anahtar kelime argümanlar str veya num olsun yok. Hatta eğer (en azından Python 2.x 3.x bilmem) aslında bunu yapmak için bir hatadır, sadece isimleri belirtmek için hiçbir sebep yoktur

name,function,range,w,h,k,frac,constraint = str.split('&', 8) 
İlgili konular