- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在 Python 中以 OOP 方式工作时是否经常测试类型值?
class Foo():
def __init__(self,barObject):
self.bar = setBarObject(barObject)
def setBarObject(barObject);
if (isInstance(barObject,Bar):
self.bar = barObject
khác:
# throw exception, log, etc.
class Bar():
vượt qua
或者我可以使用更宽松的方法,例如:
class Foo():
def __init__(self,barObject):
self.bar = barObject
class Bar():
vượt qua
câu trả lời hay nhất
不,事实上,像第二种方法一样,不测试类型值是非常常见的。这个想法是你的代码的客户(即使用你的类的一些其他程序员)应该能够传递具有所有适当方法或属性的任何类型的对象。如果它不是某个特定类的实例,那很好;您的代码永远不需要知道区别。这被称为鸭子打字,因为有句格言“如果它叫起来像鸭子,飞起来像鸭子,那它还不如是鸭子”(好吧,这不是真正的格言,但我明白了我认为它的要点)
您会在标准库中经常看到这种情况,其中包含处理文件输入或输出的所有函数。他们不需要实际的 tài liệu
对象,而是采用任何实现 read()
hoặc readline()
方法的东西(取决于函数), 或 viết()
用于写入。事实上,您经常会在文档中看到这一点,例如与 tokenize.generate_tokens
,我今天早些时候刚好在看:
Các
generate_tokens()
generator requires one argument, readline, which must be a callable object which provides the same interface as thereadline()
method of built-in file objects (see section File Objects). Each call to the function should return one line of input as a string.
这允许您使用 ChuỗiIO
对象(如内存中的文件)或更古怪的东西(如对话框)来代替真实文件。
在您自己的代码中,只需访问您需要的对象的任何属性,如果它是错误类型的对象,您需要的属性之一将不存在,它会抛出异常。
关于python - 在 Python 中测试类型值是常见的/好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3327454/
Tạo bảng mới: tạo bảng [tên bảng] ([trường số tự động] int IDENTITY (1,1)&nbs
Tôi có các chuỗi trong tệp đang được bản địa hóa. Nhiều trong số chúng phổ biến và đã được sử dụng trên iOS. Ví dụ. "Lưu", "Tải", "Quay lại", "Yêu thích", "Ảnh". Để cung cấp trải nghiệm người dùng nhất quán với các ứng dụng khác và ứng dụng tích hợp, có
Tôi đã học những kiến thức cơ bản về Qt và hiện đang quan tâm đến chiều sâu của thư viện tuyệt đẹp này. Xin hãy giúp tôi hiểu: Có phải tất cả các lớp đều xuất phát từ QObject không? Tại sao có thể vẽ trên QWidget (và các lớp dẫn xuất)? trả về app.exec()
Tôi thiết lập chức năng tự gọi trong webpack và sử dụng JS thông thường để yêu cầu một số gói: (function() { var $ = require("jquery"); //...my functi
Tôi đang cố gắng tạo một ứng dụng sử dụng nhiều thẻ từ loại. Nhưng đối với tôi, chức năng thẻ pos của nltk có vẻ không đạt tiêu chuẩn - ví dụ: import nltk text = "Obama Deliver his fi
Có cách nào để xử lý các truy vấn phổ biến được gửi tới MySQL để ngăn chặn việc sử dụng băng thông không cần thiết không? Các lựa chọn trả lời tốt nhất là: Sử dụng MySQL để lưu trữ truy vấn Tốt: Hoàn toàn tự động Xấu: Vẫn yêu cầu quyền truy cập vào máy chủ cơ sở dữ liệu, tôi đã thất bại một lần trong một dự án và mất nhiều thời gian;
đóng cửa. Câu hỏi này cần tập trung hơn. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện câu hỏi này? Đã cập nhật câu hỏi để tập trung vào một vấn đề chỉnh sửa bài đăng này. Đã đóng 4 năm trước. Cải thiện câu hỏi này
đóng cửa. Câu hỏi này yêu cầu chi tiết gỡ lỗi. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện vấn đề này? Câu hỏi được cập nhật để làm cho câu hỏi trở thành chủ đề cho Stack Overflow. Đóng cửa 6 năm trước Cải thiện câu hỏi này
Tôi đang cố gắng gọi một dịch vụ web trả về tệp csv. Vì vậy, mỗi URL tôi gọi có một hậu tố là một chuỗi cho biết csv nào sẽ được tạo. Sau đó tôi muốn lưu csv này vào một tập tin. Có rất nhiều thứ để tạo nên tôi gọi lớp này từ nhiều luồng
Số lượng điểm tiếp xúc thông thường được hỗ trợ bởi các mẫu điện thoại phổ biến là bao nhiêu? Tôi đã thấy thấp nhất là 2 và cao nhất là 5 trong nghiên cứu cơ bản, nhưng tôi muốn có thể ánh xạ điều này tới điện thoại thực tế và giới hạn tốt hơn! Câu trả lời hay nhất Dữ liệu điểm tiếp xúc cho hai điện thoại: Galaxy S 5 LG!
Vì tò mò - tôi biết có LAMP - Linux, Apache, MySQL và PHP. Nhưng có những từ viết tắt nào khác cho các lựa chọn thay thế ngăn xếp web? Giống như LAMR - Linux, Apache, MySQL Ruby
Tôi đã viết mã java (sử dụng vfs2 phổ biến của apache) để tải tệp lên máy chủ SFTP. Gần đây, tôi đã giới thiệu bảo mật PGP trên máy chủ của mình. Bây giờ mã java không thể kết nối với máy chủ. Với FileZill
Vì GLU được coi là lỗi thời đối với OpenGL hiện đại (3.1+), nên cách vẽ các hình dạng cơ bản (chẳng hạn như hình elip hoặc hình cung/bánh nướng) trong OpenGL bằng C/C++ là gì? Thật đáng kinh ngạc, trong OpenGL
Tôi tự hỏi liệu có danh sách lược đồ URL tùy chỉnh cho các ứng dụng iOS phổ biến nhất không, chẳng hạn như Keynote, Numbers, Pages, Evernote, v.v. Tôi cũng muốn biết các ứng dụng này sử dụng url tham số nào. Lý do tôi cần điều này là
Tôi đang chuyển ứng dụng C++ myToll Linux để chạy trên Android bằng NDK r10d. (Xin lưu ý rằng đây không phải là ứng dụng Android có apk mà là tiện ích chạy từ shell
Giả sử bạn muốn sử dụng sơ đồ triển khai UML 2 để trực quan hóa một ứng dụng máy chủ PHP phổ biến cho người không có nhiều kiến thức trong lĩnh vực này. Một ứng dụng chung như vậy có thể có ba nút thiết bị (máy chủ cơ sở dữ liệu, máy chủ web và máy khách) và bốn nút môi trường thực thi
Tôi đang cố chạy đoạn mã sau để tìm những người bạn chung giữa hai người. Nhập thông tin sau A: BCDB: ACDEC: ABDED: ABCEE: BCD Tôi không thể xuất văn bản
Điều duy nhất tôi tìm thấy trong hướng dẫn sử dụng của Gitolite về móc là: Nếu bạn muốn thêm móc của riêng mình, thật dễ dàng miễn là nó
Cụ thể, tôi có một câu hỏi, cách được khuyến nghị để tổ chức chuyển đổi dự phòng AZ trong môi trường AWS là gì. Ngoài ra, tốt nhất bạn nên hiểu các lỗi AWS điển hình để tổ chức ứng dụng HA (Tính sẵn sàng cao). Vì vậy, kiến trúc ứng dụng (được các dịch vụ AWS sử dụng) như sau: Nó hoặc
Tôi đang cố gắng viết một kho lưu trữ SecurePagingAndSorting chung sẽ kiểm tra tính bảo mật của các hoạt động CRUD để lưu lặp lại cùng một PreAuthorize (với các quyền khác nhau) trong tất cả các kho lưu trữ JPA.
Tôi là một lập trình viên xuất sắc, rất giỏi!