Built-in Object & Attribute Functions in python

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

  • Case Conversion Methods in Python

    Case Conversion Methods in Python (Syntax + Examples) Python provides several built-in string methods to convert text between different cases (uppercase, lowercase, title case, etc.). Below are the key methods with syntax and examples: 1. upper() – Convert to Uppercase Purpose: Converts all characters in a string to uppercase.Syntax: python string.upper() Examples: python text = “Hello, World!”…

  • Variable Length Positional Arguments in Python

    Variable Length Positional Arguments in Python Variable length positional arguments allow a function to accept any number of positional arguments. This is done using the *args syntax. Syntax python def function_name(*args): # function body # args becomes a tuple containing all positional arguments Simple Examples Example 1: Basic *args python def print_numbers(*args): print(“Numbers received:”, args) print(“Type of…

  • re.split()

    Python re.split() Method Explained The re.split() method splits a string by the occurrences of a pattern. It’s like the built-in str.split() but much more powerful because you can use regex patterns. Syntax python re.split(pattern, string, maxsplit=0, flags=0) Example 1: Splitting by Multiple Delimiters python import retext1=”The re.split() method splits a string by the occurrences of a pattern. It’s like…

  • replace(), join(), split(), rsplit(), and splitlines() methods in Python

    1. replace() Method Purpose: Replaces occurrences of a substring with another substring.Syntax: python string.replace(old, new[, count]) Examples: Example 1: Basic Replacement python text = “Hello World” new_text = text.replace(“World”, “Python”) print(new_text) # Output: “Hello Python” Example 2: Limiting Replacements (count) python text = “apple apple apple” new_text = text.replace(“apple”, “orange”, 2) print(new_text) # Output: “orange orange apple”…

  • String Alignment and Padding in Python

    String Alignment and Padding in Python In Python, you can align and pad strings to make them visually consistent in output. The main methods used for this are: 1. str.ljust(width, fillchar) Left-aligns the string and fills remaining space with a specified character (default: space). Syntax: python string.ljust(width, fillchar=’ ‘) Example: python text = “Python” print(text.ljust(10)) #…

  • Date/Time Objects

    Creating and Manipulating Date/Time Objects in Python 1. Creating Date and Time Objects Creating Date Objects python from datetime import date, time, datetime # Create date objects date1 = date(2023, 12, 25) # Christmas 2023 date2 = date(2024, 1, 1) # New Year 2024 date3 = date(2023, 6, 15) # Random date print(“Date Objects:”) print(f”Christmas:…

Leave a Reply

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