init is a special method in Python that initializes a new instance of a class. It automatically runs when an object is created, setting up initial attributes and state. The first parameter, self, refers to the instance, and additional parameters can be used to pass data. Default values can be assigned for optional parameters, and setup logic like validation or initializing containers can also be included. For example, in a Person class, init can set name and age, while in a BankAccount class, it can validate balance.
The __init__ method in a Python class is a special method that gets called automatically when you create a new instance of the class. It's used to initialize the object’s attributes and set up the initial state. You don't need to call it explicitly — Python handles that for you during object creation.
What is __init__?
__init__ stands for "initialize." It's not a constructor in the traditional sense (that role belongs to __new__), but it's where you typically assign values to instance variables.
When you create an object like obj = MyClass(), Python creates the instance and then calls __init__ on it, passing any arguments you provided.
Basic Syntax and Usage
Here’s how to define __init__ inside a class:
- The first parameter must be self, which refers to the instance being created.
- Additional parameters can be added to pass data during instantiation.
- You assign values to self.attribute_name to store them in the instance.
class Person:
???def init(self, name, age):
??????self.name = name
??????self.age = age
Creating instances
person1 = Person("Alice", 30)
person2 = Person("Bob", 25)
print(person1.name, person1.age) # Output: Alice 30
print(person2.name, person2.age) # Output: Bob 25
Setting Default Values
You can give parameters default values if they’re optional:
class Dog:???def __init__(self, name, breed="Unknown"):
??????self.name = name
??????self.breed = breed
dog1 = Dog("Buddy")
dog2 = Dog("Max", "Golden Retriever")
print(dog1.breed) # Output: Unknown
print(dog2.breed) # Output: Golden Retriever
Running Setup Code
Besides assigning attributes, __init__ can run other setup logic like validation, logging, or initializing containers:
class BankAccount:???def __init__(self, owner, balance=0):
??????self.owner = owner
??????self.balance = balance
??????if balance ?????????raise ValueError("Balance cannot be negative")
account = BankAccount("John", 100)
Basically, use __init__ to prepare your object with the data and settings it needs right from the start. It keeps your instances consistent and ready to use after creation.
The above is the detailed content of How to use __init__ in a Python class. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

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

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

ArtGPT
AI image generator for creative art from text prompts.

Stock Market GPT
AI powered investment research for smarter decisions

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)

This tutorial details how to efficiently merge the PEFT LoRA adapter with the base model to generate a completely independent model. The article points out that it is wrong to directly use transformers.AutoModel to load the adapter and manually merge the weights, and provides the correct process to use the merge_and_unload method in the peft library. In addition, the tutorial also emphasizes the importance of dealing with word segmenters and discusses PEFT version compatibility issues and solutions.

Run pipinstall-rrequirements.txt to install the dependency package. It is recommended to create and activate the virtual environment first to avoid conflicts, ensure that the file path is correct and that the pip has been updated, and use options such as --no-deps or --user to adjust the installation behavior if necessary.

Python is a simple and powerful testing tool in Python. After installation, test files are automatically discovered according to naming rules. Write a function starting with test_ for assertion testing, use @pytest.fixture to create reusable test data, verify exceptions through pytest.raises, supports running specified tests and multiple command line options, and improves testing efficiency.

Theargparsemoduleistherecommendedwaytohandlecommand-lineargumentsinPython,providingrobustparsing,typevalidation,helpmessages,anderrorhandling;usesys.argvforsimplecasesrequiringminimalsetup.

This article aims to explore the common problem of insufficient calculation accuracy of floating point numbers in Python and NumPy, and explains that its root cause lies in the representation limitation of standard 64-bit floating point numbers. For computing scenarios that require higher accuracy, the article will introduce and compare the usage methods, features and applicable scenarios of high-precision mathematical libraries such as mpmath, SymPy and gmpy to help readers choose the right tools to solve complex accuracy needs.

This article details how to use the merge_and_unload function of the PEFT library to efficiently and accurately merge the LoRA adapter into the basic large language model, thereby creating a brand new model with integrated fine-tuning knowledge. The article corrects common misunderstandings about loading adapters and manually merging model weights through transformers.AutoModel, and provides complete code examples including model merging, word segmenter processing, and professional guidance on solving potential version compatibility issues to ensure smooth merge processes.

PyPDF2, pdfplumber and FPDF are the core libraries for Python to process PDF. Use PyPDF2 to perform text extraction, merging, splitting and encryption, such as reading the page through PdfReader and calling extract_text() to get content; pdfplumber is more suitable for retaining layout text extraction and table recognition, and supports extract_tables() to accurately capture table data; FPDF (recommended fpdf2) is used to generate PDF, and documents are built and output through add_page(), set_font() and cell(). When merging PDFs, PdfWriter's append() method can integrate multiple files

Import@contextmanagerfromcontextlibanddefineageneratorfunctionthatyieldsexactlyonce,wherecodebeforeyieldactsasenterandcodeafteryield(preferablyinfinally)actsas__exit__.2.Usethefunctioninawithstatement,wheretheyieldedvalueisaccessibleviaas,andthesetup
