yılında int Unicode verilerini dönüştürün unicode
olarak limit
olarak type
, sorgudan bir hata yükseltir !! Unicode'u int'ye dönüştürüyorum ama neden dönüştürme yapmıyor? Lütfen yardım edin!piton
Q
piton
23
Ben url geçirilen değerleri alıyorum
A
cevap
43
int(limit)
, bir tam sayıya dönüştürülen değeri döndürür ve işlevi çağırdığınız sırada değiştirmez (beklediğiniz gibi).
yerine bunu yapın:
limit = int(limit)
Ya limit
tanımlama, zaman:
if 'limit' in user_data :
limit = int(user_data['limit'])
7
, tamsayılar ve dizeleri immutable ve passed by value bulunmaktadır. Bir dizgeyi veya tamsayıyı bir işleve geçiremezsiniz ve bağımsız değişkenin değiştirilmesini bekleyebilirsiniz.
Yani bir sayıya dizelimit="100"
dönüştürmek için, size bir listesini kullanabilirsiniz, sen
gerçekten etrafında gitmek istiyorsanız
limit = int(limit) # will return new object (integer) and assign to "limit"
yapmak gerekir. Listeler python'da değiştirilebilir; Bir listeyi geçtiğinizde, referans değil, kopyalamanız gerekir. Bu nedenle, aşağıdakilere ihtiyacınız olabilir: Gerçekten buna ihtiyacın olmamalıdır. (Belki de bazen yineleme ile çalışırken ve bazı değişken durumları geçmeniz gerektiğinde).
Mantığınız var .. Teşekkürler –
+1 Ve '' onu hemen değiştirmez 'anlamına gelir, yani referans olarak değiştirmez. – Jared
@Jared Bunu ekleyeceğim, teşekkürler :). Benim ifademin bir şekilde mükemmel olmadığını biliyordum: p – TerryA