Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 13872|Yanıt: 1

[İletişim] Python Import ve Import Detaylı Açıklanıyor

[Bağlantıyı kopyala]
Yayınlandı 25.04.2018 11:20:35 | | | |
Kayıt için python çalışma kılavuzundan alıntı.

İstemci import veya from ifadesini çalıştırabilir. Modül yüklenmezse, bu ifadeler modül dosya programını arayacak, derleyecek ve çalıştıracaktır. Ana fark, import modülün tamamını okumasıdır, bu yüzden değişken adı okunmadan önce tanımlanmalıdır; From'dan modüle özgü değişken isimlerini alacak (veya kopyalayacak).

İç aktarma işlemi değişken adının tüm modül nesnesine atıfta bulunmasını sağlar, bu nedenle modülün özellikleri modül adıyla elde edilmelidir (örneğin, module1.printer). ve from, değişken adını başka bir kapsama kopyalar, böylece kopyalanan değişken adını doğrudan script içinde bir modülden (örneğin yazıcı) geçmeden kullanabilir.

from ifadesi, isim alanlarını bozma potansiyeline sahiptir. Eğer değişkenleri from kullanarak içe aktarırsanız ve bu değişkenler kapsamdaki mevcut değişkenlerle çoğaltılırsa, değişkenler sessizce üzerine yazılır. İç aktarma ifadeleri kullanılırken bu sorun değildir, çünkü içeriği modül adıyla elde edilmelidir. Ancak from kullanıldığında, pratikte bu büyük bir sorun değildir; özellikle import değişken isimlerini açıkça listelerseniz (örneğin, x, y, z modülünden) bunu anlıyor ve öngörüyorsanız.

Öte yandan, yeniden yükleme çağrısı ile kullanıldığında, from ifadesi ciddi bir sorun yaşar, çünkü içe aktarılan değişken adı nesnenin önceki bir sürümüne atıfta bulunabilir. Ayrıca, modül import'tan * formu gerçekten isim alanını bozabilir ve değişken isimlerini anlamayı zorlaştırabilir, özellikle birden fazla dosya içe aktarıldığında.

Daha pragmatik bir öneri ise, basit modüllerin genellikle 'import' (import (import kullanımı) kullandığıdır. From'dan ifadelerin çoğu, istenen değişkenleri açıkça saymak için kullanılır ve * formunu sadece dosya başına bir kez kullanmakla sınırlıdır. Bu şekilde, *'den referans verilen modülde herhangi bir tanımlanmamış değişken adı var olarak kabul edilebilir. Aynı değişken adı değişkenini iki farklı modülde tanımlamak zorunda olduğunuzda gerçekten import kullanmanız gerekiyor, bu durumda from kullanamazsınız.

Çok konuştum, ne diyeceğimi bilmiyorum, kısa bir süre konuşalım.

  • Modül # İçe Aktar Modülleri Tanıt
  • Modül içe aktarma Diğer # Modüldeki sınıfları, fonksiyonları veya değişkenleri tanıtın
  • Modül içe aktarmadan * # Modüldeki tüm 'public' üyeleri tanıtın


Sade bir dilde:

Bir sınıf #把整个一班的学生引入了进来 import et
Bir gruptan Xiao Wang #只把一般的小王引入了进来

Örneğin:

Zaman paketi bir örnektir ve aşağıdaki iki yazma yöntemi aynıdır, aşağıdaki gibidir:








Önceki:Bir python paketinde bir fonksiyon nasıl kullanılır
Önümüzdeki:HP Dizüstü ve Masaüstü Hayalet Windows7 32&64 Sea Drive Edition v201801
 Ev sahibi| Yayınlandı 25.04.2018 11:22:51 |
Datetime itiş, tüm datetime paketini tanıtmak içindir; eğer datetime paketinde datetime sınıfını kullanırsanız, modül adı yeterliliğini eklemeniz gerekir.



Modül adı niteleyicisini eklemezseniz bir hata ortaya çıkar: TypeError: 'module' object is not callable \ AttributeError: 'module' object has no attribute 'now'



from datetime itiş, datetime paketinde sadece datetime sınıfına eklenir ve kullanılırken modül adı niyetleleyicileri eklemeye gerek yoktur.



Özet: Python'da modülleri içe aktarmanın iki yolu vardır: import module ve module import'dan; fark şu ki, ilki, tüm içe aktarılan şeyler kullanılırken modül adının eklenmesini gerektirirken, ikincisi eklemez.

Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com