Built-in Object & Attribute Functions in python

UpComing SoftWare Training Demos

🚀 *Playwright With AI Testing Demo In Telugu*
🗓️ *Date:* 28 Oct2026, 08:00 PM IST
📝 *Register Now!:*
https://www.vlrt.in/3r
👥 *Join WA Community:*
https://www.vlrt.in/3w
💡 *Course Content:*
https://www.vlrt.in/3c
▶️ *Demo Videos:*
https://www.vlrt.in/3v

🚀 *Gen AI Engineer (Production Focused)*
🗓️ *Date:* 29th Oct 2026, 06:00PM IST
📝 *Register Now!:*
https://www.vlrt.in/gr
👥 *Join WA Community:*
https://www.vlrt.in/gw
💡*Course Content:*
https://www.vlrt.in/ai
▶️ *Demo Videos:*
https://www.vlrt.in/gv

🚀 *Vulnerability Management Training Demo*
🗓️ *Date:* 28th Oct 2026, 10:00 AM IST
📝*Register Now!:*
https://www.vlrt.in/vr
👥 *Join Community:*
https://www.vlrt.in/cw
💡 *Course Content:*
https://www.vlrt.in/vc
▶️ *Demo Videos:*
https://www.vlrt.in/Vm

1. type()

Description: Returns the type of an object.

python

# 1. Basic types
print(type(5))              # <class 'int'>
print(type(3.14))           # <class 'float'>
print(type("hello"))        # <class 'str'>
print(type(True))           # <class 'bool'>

# 2. Collection types
print(type([1, 2, 3]))      # <class 'list'>
print(type((1, 2, 3)))      # <class 'tuple'>
print(type({1, 2, 3}))      # <class 'set'>
print(type({"a": 1}))       # <class 'dict'>

# 3. Special types
print(type(None))           # <class 'NoneType'>
print(type(print))          # <class 'builtin_function_or_method'>

2. isinstance()

Description: Checks if object is instance of specified type(s).

python

# 1. Check basic types
print(isinstance(5, int))           # True
print(isinstance(3.14, float))      # True
print(isinstance("hello", str))     # True

# 2. Check multiple types
print(isinstance(5, (int, float)))  # True
print(isinstance(3.14, (int, str))) # False

# 3. Check collection types
print(isinstance([1, 2], list))     # True
print(isinstance((1, 2), tuple))    # True

# 4. Check with None
print(isinstance(None, type(None))) # True

# 5. Check function type
def my_func(): pass
print(isinstance(my_func, type(my_func)))  # True

# 6. Check string or list
print(isinstance("test", (str, list)))     # True

# 7. Check number types
print(isinstance(10, (int, float, complex)))  # True

# 8. Check boolean
print(isinstance(True, bool))       # True

# 9. Check dictionary
print(isinstance({"a": 1}, dict))   # True

# 10. Check set
print(isinstance({1, 2}, set))      # True

3. hasattr()

Description: Checks if object has specified attribute.

python

# 1. Check string methods
s = "hello"
print(hasattr(s, 'upper'))      # True
print(hasattr(s, 'split'))      # True

# 2. Check list methods
lst = [1, 2, 3]
print(hasattr(lst, 'append'))   # True
print(hasattr(lst, 'pop'))      # True

# 3. Check dictionary methods
d = {"a": 1}
print(hasattr(d, 'keys'))       # True
print(hasattr(d, 'values'))     # True

# 4. Check built-in functions
print(hasattr(print, '__name__'))  # True

# 5. Check number attributes
x = 10
print(hasattr(x, 'real'))       # True
print(hasattr(x, 'imag'))       # True

# 6. Check module attributes
import math
print(hasattr(math, 'pi'))      # True

# 7. Check non-existent attributes
print(hasattr("hello", 'nonexistent'))  # False

# 8. Check tuple methods
t = (1, 2, 3)
print(hasattr(t, 'count'))      # True

# 9. Check set methods
s = {1, 2, 3}
print(hasattr(s, 'add'))        # True

# 10. Check function attributes
def func(): pass
print(hasattr(func, '__name__'))  # True

4. getattr()

Description: Gets the value of an attribute.

python

# 1. Get string methods
s = "hello"
upper_method = getattr(s, 'upper')
print(upper_method())           # HELLO

# 2. Get list methods
lst = [1, 2, 3]
append_method = getattr(lst, 'append')
append_method(4)
print(lst)                      # [1, 2, 3, 4]

# 3. Get with default value
d = {"a": 1}
value = getattr(d, 'nonexistent', 'default')
print(value)                    # default

# 4. Get number attributes
x = 5 + 3j
print(getattr(x, 'real'))       # 5.0
print(getattr(x, 'imag'))       # 3.0

# 5. Get built-in constants
import math
print(getattr(math, 'pi'))      # 3.141592653589793

# 6. Get function attributes
def greet(): return "Hello"
print(getattr(greet, '__name__'))  # greet

# 7. Get dictionary methods
d = {"a": 1}
keys_method = getattr(d, 'keys')
print(list(keys_method()))      # ['a']

# 8. Get tuple methods
t = (1, 2, 2, 3)
count_method = getattr(t, 'count')
print(count_method(2))          # 2

# 9. Get module functions
import random
rand_func = getattr(random, 'randint')
print(rand_func(1, 10))         # Random number between 1-10

# 10. Get set methods
my_set = {1, 2, 3}
add_method = getattr(my_set, 'add')
add_method(4)
print(my_set)                   # {1, 2, 3, 4}

5. id()

Description: Returns unique identity (memory address) of object.

python

# 1. IDs of integers
a = 5
b = 5
print(id(a))                    # Same as id(b) due to caching
print(id(a) == id(b))           # True

# 2. IDs of strings
s1 = "hello"
s2 = "hello"
print(id(s1) == id(s2))         # True (string interning)

# 3. IDs of different objects
lst1 = [1, 2, 3]
lst2 = [1, 2, 3]
print(id(lst1) == id(lst2))     # False

# 4. ID of None
print(id(None))                 # Always the same

# 5. ID after modification
x = [1, 2]
original_id = id(x)
x.append(3)
print(id(x) == original_id)     # True

# 6. IDs of functions
def func1(): pass
def func2(): pass
print(id(func1) == id(func2))   # False

# 7. ID of built-in functions
print(id(print))                # Unique ID

# 8. IDs of boolean values
print(id(True))                 # Always same
print(id(False))                # Always same

# 9. ID of empty collections
empty_list = []
empty_dict = {}
print(id(empty_list) != id(empty_dict))  # True

# 10. ID comparison with is operator
a = [1, 2]
b = a
print(id(a) == id(b))           # True

6. dir()

Description: Returns list of valid attributes for object.

python

# 1. Dir of string
s = "hello"
print('upper' in dir(s))        # True
print('split' in dir(s))        # True

# 2. Dir of list
lst = [1, 2, 3]
print('append' in dir(lst))     # True
print('pop' in dir(lst))        # True

# 3. Dir of dictionary
d = {"a": 1}
print('keys' in dir(d))         # True
print('values' in dir(d))       # True

# 4. Dir of number
x = 10
print('real' in dir(x))         # True
print('imag' in dir(x))         # True

# 5. Dir of function
def func(): pass
print('__name__' in dir(func))  # True

# 6. Dir of module
import math
math_attrs = dir(math)
print('sqrt' in math_attrs)     # True
print('pi' in math_attrs)       # True

# 7. Dir of None
none_attrs = dir(None)
print('__class__' in none_attrs)  # True

# 8. Dir of boolean
print(dir(True))                # Shows bool attributes

# 9. Dir of tuple
t = (1, 2, 3)
print('count' in dir(t))        # True
print('index' in dir(t))        # True

# 10. Dir without arguments (current scope)
local_vars = dir()
print('__name__' in local_vars)  # True

7. repr()

Description: Returns official string representation of object.

python

# 1. String representation
s = "hello"
print(repr(s))                  # "'hello'"

# 2. Number representation
print(repr(123))                # '123'
print(repr(3.14))               # '3.14'

# 3. List representation
lst = [1, 2, 3]
print(repr(lst))                # '[1, 2, 3]'

# 4. Dictionary representation
d = {"a": 1, "b": 2}
print(repr(d))                  # "{'a': 1, 'b': 2}"

# 5. Tuple representation
t = (1, 2, 3)
print(repr(t))                  # '(1, 2, 3)'

# 6. Set representation
s = {1, 2, 3}
print(repr(s))                  # '{1, 2, 3}'

# 7. None representation
print(repr(None))               # 'None'

# 8. Boolean representation
print(repr(True))               # 'True'
print(repr(False))              # 'False'

# 9. Special characters in strings
s = "hello\nworld"
print(repr(s))                  # "'hello\\nworld'"

# 10. Function representation
def greet(): return "Hello"
print(repr(greet))              # '<function greet at 0x...>'

These functions are essential for introspection, debugging, and understanding objects in Python!

I’ll explain built-in object and attribute functions in Python with 7 simple examples for each:

1. type()

Syntax: type(object) or type(name, bases, dict)
Description: Returns the type of an object or creates a new type.

Examples:

python

# 1. Check type of basic objects
print(type(5))              # <class 'int'>
print(type("hello"))        # <class 'str'>
print(type([1, 2, 3]))      # <class 'list'>

# 2. Check type of variables
x = 3.14
print(type(x))              # <class 'float'>

# 3. Check if object is of specific type
if type(10) == int:
    print("It's an integer")  # This will print

# 4. Create a new class dynamically
MyClass = type('MyClass', (), {'x': 10})
obj = MyClass()
print(obj.x)                # 10

# 5. Check type of functions
def my_func():
    pass
print(type(my_func))        # <class 'function'>

# 6. Check type of None
print(type(None))           # <class 'NoneType'>

# 7. Compare types
print(type(5) is int)       # True

2. isinstance()

Syntax: isinstance(object, classinfo)
Description: Checks if an object is an instance of a class or tuple of classes.

Examples:

python

# 1. Check if object is integer
print(isinstance(5, int))           # True

# 2. Check if object is string or list
print(isinstance("hello", (str, list)))  # True

# 3. Check with custom class
class Dog:
    pass

my_dog = Dog()
print(isinstance(my_dog, Dog))      # True

# 4. Check inheritance
class Animal:
    pass

class Cat(Animal):
    pass

my_cat = Cat()
print(isinstance(my_cat, Animal))   # True (inheritance)

# 5. Check with built-in types
numbers = [1, 2, 3]
print(isinstance(numbers, list))    # True

# 6. Check multiple types
value = 3.14
print(isinstance(value, (int, float)))  # True

# 7. Check with None
print(isinstance(None, type(None))) # True

3. issubclass()

Syntax: issubclass(class, classinfo)
Description: Checks if a class is a subclass of another class.

Examples:

python

# 1. Basic inheritance check
class Animal:
    pass

class Dog(Animal):
    pass

print(issubclass(Dog, Animal))      # True

# 2. Check with built-in types
print(issubclass(bool, int))        # True (bool is subclass of int)

# 3. Multiple inheritance check
class A: pass
class B(A): pass
class C(B): pass

print(issubclass(C, A))             # True

# 4. Check with tuple of classes
print(issubclass(str, (int, str)))  # True

# 5. Class is subclass of itself
print(issubclass(Animal, Animal))   # True

# 6. Check with non-inheritance
class Bird: pass
print(issubclass(Bird, Animal))     # False

# 7. Built-in type hierarchy
print(issubclass(list, object))     # True (all classes inherit from object)

4. id()

Syntax: id(object)
Description: Returns the unique identity (memory address) of an object.

Examples:

python

# 1. Get ID of integers
x = 5
print(id(x))                # e.g., 140735849845792

# 2. Compare IDs of same values
a = 10
b = 10
print(id(a) == id(b))       # True (small integers are cached)

# 3. Different objects have different IDs
list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(id(list1) == id(list2))  # False

# 4. ID remains same for same object
x = [1, 2, 3]
y = x
print(id(x) == id(y))       # True

# 5. ID of functions
def my_func():
    pass
print(id(my_func))          # Unique ID

# 6. ID after modification
lst = [1, 2]
id1 = id(lst)
lst.append(3)
id2 = id(lst)
print(id1 == id2)           # True (same object modified)

# 7. ID of None
print(id(None))             # Always same ID

5. hasattr()

Syntax: hasattr(object, name)
Description: Checks if an object has an attribute with the given name.

Examples:

python

# 1. Check for string methods
s = "hello"
print(hasattr(s, 'upper'))      # True

# 2. Check for list methods
lst = [1, 2, 3]
print(hasattr(lst, 'append'))   # True

# 3. Check for non-existent attribute
print(hasattr(s, 'nonexistent')) # False

# 4. Check with custom class
class Person:
    def __init__(self, name):
        self.name = name

p = Person("Alice")
print(hasattr(p, 'name'))       # True

# 5. Check for methods
print(hasattr(p, '__init__'))   # True

# 6. Check with built-in objects
print(hasattr(5, 'real'))       # True

# 7. Check for private attributes
class Test:
    def __init__(self):
        self._private = "secret"

t = Test()
print(hasattr(t, '_private'))   # True

6. getattr()

Syntax: getattr(object, name[, default])
Description: Gets the value of an attribute, with optional default if not found.

Examples:

python

# 1. Get string method
s = "hello"
upper_method = getattr(s, 'upper')
print(upper_method())           # HELLO

# 2. Get attribute with default
class Person:
    def __init__(self, name):
        self.name = name

p = Person("Bob")
age = getattr(p, 'age', 25)     # Default if attribute not found
print(age)                      # 25

# 3. Get built-in attributes
x = 10
print(getattr(x, 'real'))       # 10

# 4. Get method and call it
lst = [1, 2, 3]
append_method = getattr(lst, 'append')
append_method(4)
print(lst)                      # [1, 2, 3, 4]

# 5. Get class attributes
class MyClass:
    class_attr = "class value"

print(getattr(MyClass, 'class_attr'))  # "class value"

# 6. Handle missing attribute
try:
    value = getattr(p, 'nonexistent')
except AttributeError:
    value = "default"
print(value)                    # "default"

# 7. Get special methods
print(getattr([], '__len__'))   # <method-wrapper '__len__' of list object>

7. setattr()

Syntax: setattr(object, name, value)
Description: Sets the value of an attribute, creating it if it doesn’t exist.

Examples:

python

# 1. Set attribute on custom object
class Person:
    pass

p = Person()
setattr(p, 'name', 'Charlie')
print(p.name)                   # Charlie

# 2. Set multiple attributes
attributes = {'age': 30, 'city': 'New York'}
for key, value in attributes.items():
    setattr(p, key, value)
print(p.age, p.city)            # 30 New York

# 3. Modify existing attribute
setattr(p, 'age', 31)
print(p.age)                    # 31

# 4. Set private attribute
setattr(p, '_secret', 'hidden')
print(p._secret)                # hidden

# 5. Set class attribute
setattr(Person, 'species', 'Human')
print(Person.species)           # Human

# 6. Set attribute with dynamic name
attr_name = 'dynamic_attr'
setattr(p, attr_name, 'dynamic value')
print(p.dynamic_attr)           # dynamic value

# 7. Set on built-in types (usually not recommended)
# Note: This may not work for all built-in types
class CustomList(list):
    pass

cl = CustomList([1, 2, 3])
setattr(cl, 'custom_attr', 'test')
print(cl.custom_attr)           # test

These functions are essential for introspection and dynamic attribute handling in Python, enabling powerful meta-programming capabilities.

Similar Posts

  • Thonny: A User-Friendly Python IDE for Beginners in 2025

    Thonny is a free and open-source Integrated Development Environment (IDE) specifically designed for beginners learning Python. It provides a simple and user-friendly interface, making it an excellent choice for those new to programming. Key Features: Why Thonny is good for beginners: How to install Thonny: If you’re new to Python and looking for a user-friendly…

  • Bank Account Class with Minimum Balance

    Challenge Summary: Bank Account Class with Minimum Balance Objective: Create a BankAccount class that automatically assigns account numbers and enforces a minimum balance rule. 1. Custom Exception Class python class MinimumBalanceError(Exception): “””Custom exception for minimum balance violation””” pass 2. BankAccount Class Requirements Properties: Methods: __init__(self, name, initial_balance) deposit(self, amount) withdraw(self, amount) show_details(self) 3. Key Rules: 4. Testing…

  • re.findall()

    Python re.findall() Method Explained The re.findall() method returns all non-overlapping matches of a pattern in a string as a list of strings or tuples. Syntax python re.findall(pattern, string, flags=0) Key Characteristics: Example 1: Extracting All Numbers from Text python import retext = “I bought 5 apples for $3.50, 2 bananas for $1.25, and 10 oranges for $7.80.”result = re.findall(r”\d{3}”,…

  • difference between positional and keyword arguments

    1. Positional Arguments How they work: The arguments you pass are matched to the function’s parameters based solely on their order (i.e., their position). The first argument is assigned to the first parameter, the second to the second, and so on. Example: python def describe_pet(animal_type, pet_name): “””Display information about a pet.””” print(f”\nI have a {animal_type}.”) print(f”My {animal_type}’s name…

  • List of Basic Regular Expression Patterns in Python

    Complete List of Basic Regular Expression Patterns in Python Character Classes Pattern Description Example [abc] Matches any one of the characters a, b, or c [aeiou] matches any vowel [^abc] Matches any character except a, b, or c [^0-9] matches non-digits [a-z] Matches any character in range a to z [a-z] matches lowercase letters [A-Z] Matches any character in range…

  • Password Strength Checker

    python Enhanced Password Strength Checker python import re def is_strong(password): “”” Check if a password is strong based on multiple criteria. Returns (is_valid, message) tuple. “”” # Define criteria and error messages criteria = [ { ‘check’: len(password) >= 8, ‘message’: “at least 8 characters” }, { ‘check’: bool(re.search(r'[A-Z]’, password)), ‘message’: “one uppercase letter (A-Z)”…

Leave a Reply

Your email address will not be published. Required fields are marked *