Example analysis of polymorphism in python (details)
The content of this article is about the example analysis of polymorphism in Python (detailed). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
class Human(object): # 父类 :创建“人”类 def __init__(self): print('Ill pound the code and buy you a bag') # 我会敲打码,给你买包包 class Man(Human): # 1)子类1 创建“男人”类 def __init__(self): print('In hs, we should have the knowledge to drink wine.The President up, the kitchen down') # 在衡水,要文武双全,有知识,会喝酒;上的总裁,下的厨房 class Woman(Human):# 2)子类2 创建“女人”类 def __init__(self): print('If a man loves me, I dont care if he has a house or a car.Woman?Do you believe a') # 如果男人爱我,我不会在意他有没有房子车子。呵呵女人啊?你信了那只能说明你太天真了。 print('human:') h = Human() print('man:') m = Man() print('woman:') w = Woman() # 分别对 人类、男人类、女人类创建一个变量h、m、w print(isinstance(h,Human))#isinstance举例 print(isinstance(m,Man)) print(isinstance(m,Human)) # 分别判断h是人类吗、m是男人类吗、m是人类吗,输出结果全部为是。 #输出结果是: # human: # Ill pound the code and buy you a bag # man: # In hs, we should have the knowledge to drink wine.The President up, the kitchen down # woman: # If a man loves me, I dont care if he has a house or a car.Woman?Do you believe a # True # True # True
This is the polymorphism of variables; in addition, when m calls the __init__ method, the output content is different from Human's __init__. This is the polymorphism of polymorphic functions.
Duck typing:
Reference duck typing. Duck typing (English: duck typing) is a style of dynamic typing. In this style, the effective semantics of an object are determined not by inheriting from a specific class or implementing a specific interface, but by the "current set of methods and properties." The name of this concept comes from the duck test proposed by James Whitcomb Riley. The "duck test" can be expressed like this:
"When you see a bird that walks like a duck, swims like a duck, and quacks like a duck, then the bird can be called a duck."
In duck typing, the focus is not on the type of object itself, but on how it is used. For example, in a language that doesn't use duck typing, we could write a function that takes an object of type "duck" and calls its "walk" and "quack" methods. In a language that uses duck typing, such a function can accept an object of any type and call its "walk" and "call" methods. If the methods that need to be called do not exist, a runtime error will be raised. This behavior of any object with the correct "walk" and "call" methods can be accepted by the function leads to the above statement, and this way of determining types is named.
Duck typing often benefits from not testing the types of arguments in methods and functions, instead relying on documentation, clear code, and testing to ensure correct usage.
To sum up: Duck typing means using methods that do not seem to belong to you (methods of other functions). Your own function will change its nature after instantiation
The above is the detailed content of Example analysis of polymorphism in python (details). For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Solution to permission issues when viewing Python version in Linux terminal When you try to view Python version in Linux terminal, enter python...

When using Python's pandas library, how to copy whole columns between two DataFrames with different structures is a common problem. Suppose we have two Dats...

How to teach computer novice programming basics within 10 hours? If you only have 10 hours to teach computer novice some programming knowledge, what would you choose to teach...

How does Uvicorn continuously listen for HTTP requests? Uvicorn is a lightweight web server based on ASGI. One of its core functions is to listen for HTTP requests and proceed...

In Python, how to dynamically create an object through a string and call its methods? This is a common programming requirement, especially if it needs to be configured or run...

How to avoid being detected when using FiddlerEverywhere for man-in-the-middle readings When you use FiddlerEverywhere...

The article discusses popular Python libraries like NumPy, Pandas, Matplotlib, Scikit-learn, TensorFlow, Django, Flask, and Requests, detailing their uses in scientific computing, data analysis, visualization, machine learning, web development, and H

Fastapi ...
