Built-in Functions

Back

Loading concept...

🐍 Python’s Built-in Toolbox: Your Magic Helper Functions

Imagine you have a magical toolbox. Inside are special tools that can sort things, count stuff, decode secret messages, and even check if everyone agrees! Let’s open this toolbox together.


🎯 The Big Picture

Python gives you built-in functions β€” ready-to-use tools that save you from writing complicated code. Think of them like kitchen gadgets: instead of chopping vegetables by hand, you use a food processor!

Today we’ll explore 6 amazing tool groups:

  1. πŸ“Š sorted & reversed β€” Organizing things in order
  2. πŸ”’ min, max & sum β€” Finding champions and totals
  3. πŸ”„ Number Base Conversions β€” Speaking different number languages
  4. πŸ”€ chr & ord β€” Secret codes between letters and numbers
  5. πŸŽ’ Attribute Access β€” Peeking inside objects
  6. βœ… all & any β€” Group voting systems

πŸ“Š sorted() and reversed() β€” The Organizers

The Story

Imagine your toy box is messy. You want to arrange toys from smallest to biggest. That’s what sorted() does!

And reversed()? It’s like reading a book backwards β€” last page first!

sorted() β€” Put Things in Order

# Messy numbers
messy = [5, 2, 8, 1, 9]

# sorted() arranges them!
neat = sorted(messy)
print(neat)  # [1, 2, 5, 8, 9]

Cool tricks:

# Reverse order (biggest first)
big_first = sorted(messy, reverse=True)
print(big_first)  # [9, 8, 5, 2, 1]

# Sort words alphabetically
fruits = ["banana", "apple", "cherry"]
print(sorted(fruits))
# ['apple', 'banana', 'cherry']

reversed() β€” Flip Everything Around

# Original list
colors = ["red", "green", "blue"]

# Flip it backwards
flipped = list(reversed(colors))
print(flipped)
# ['blue', 'green', 'red']

Remember: reversed() gives you an iterator, so wrap it with list() to see results!

🎭 The Key Difference

Function Creates New List? Returns
sorted() βœ… Yes New sorted list
reversed() ❌ No Iterator (flip of original)

πŸ”’ min(), max() & sum() β€” The Number Champions

The Story

Imagine a race. Who came first (min time)? Who was last (max time)? What’s the total time for everyone?

min() β€” Find the Smallest

scores = [85, 92, 78, 96, 88]
lowest = min(scores)
print(lowest)  # 78

max() β€” Find the Biggest

scores = [85, 92, 78, 96, 88]
highest = max(scores)
print(highest)  # 96

sum() β€” Add Everything Together

scores = [85, 92, 78, 96, 88]
total = sum(scores)
print(total)  # 439

# Bonus: Start with extra points!
total_plus_bonus = sum(scores, 10)
print(total_plus_bonus)  # 449

🎯 Quick Combo Example

prices = [4.99, 2.50, 8.75, 1.25]

print(f"Cheapest: ${min(prices)}")
print(f"Most expensive: ${max(prices)}")
print(f"Total: ${sum(prices)}")

Output:

Cheapest: $1.25
Most expensive: $8.75
Total: $17.49

πŸ”„ Number Base Conversions β€” Speaking Different Languages

The Story

Numbers can wear different costumes!

  • Binary (base 2): Only uses 0 and 1 (like light switches)
  • Octal (base 8): Uses 0-7 (old computer style)
  • Hexadecimal (base 16): Uses 0-9 and A-F (colors in websites!)

bin() β€” Convert to Binary

number = 10
binary = bin(number)
print(binary)  # '0b1010'

# 10 in binary is 1010!

oct() β€” Convert to Octal

number = 10
octal = oct(number)
print(octal)  # '0o12'

# 10 in octal is 12!

hex() β€” Convert to Hexadecimal

number = 255
hexadecimal = hex(number)
print(hexadecimal)  # '0xff'

# 255 in hex is ff!

int() β€” Convert Back to Decimal

# From binary
print(int('1010', 2))   # 10

# From octal
print(int('12', 8))     # 10

# From hex
print(int('ff', 16))    # 255

🎨 Fun Fact: Web Colors!

# Red in RGB: 255, 0, 0
red = hex(255)[2:]    # 'ff'
green = hex(0)[2:]    # '0'
blue = hex(0)[2:]     # '0'

# Web color needs 2 digits each
color = f"#{red:0>2}{green:0>2}{blue:0>2}"
print(color)  # #ff0000 (pure red!)

πŸ”€ chr() and ord() β€” The Secret Code Machines

The Story

Every letter has a secret number! A is 65, a is 97, and so on. These are ASCII codes.

  • chr() turns a number INTO a letter
  • ord() turns a letter INTO a number

chr() β€” Number β†’ Character

print(chr(65))   # 'A'
print(chr(97))   # 'a'
print(chr(49))   # '1' (the character)
print(chr(128512)) # 'πŸ˜€' (emoji!)

ord() β€” Character β†’ Number

print(ord('A'))  # 65
print(ord('a'))  # 97
print(ord('1'))  # 49
print(ord('πŸ˜€')) # 128512

πŸ•΅οΈ Secret Message Example

# Simple cipher: shift each letter by 1
def encode(message):
    result = ""
    for char in message:
        # Shift to next character
        result += chr(ord(char) + 1)
    return result

def decode(message):
    result = ""
    for char in message:
        result += chr(ord(char) - 1)
    return result

secret = encode("HELLO")
print(secret)  # 'IFMMP'

original = decode(secret)
print(original)  # 'HELLO'

πŸŽ’ Attribute Access Functions β€” Peeking Inside Objects

The Story

Objects in Python are like backpacks. They have stuff inside (attributes) and can do things (methods). These functions help you look inside!

hasattr() β€” Does it have this?

class Dog:
    def __init__(self):
        self.name = "Buddy"
        self.age = 3

dog = Dog()

# Check if dog has 'name'
print(hasattr(dog, 'name'))   # True
print(hasattr(dog, 'wings'))  # False

getattr() β€” Get something from inside

dog = Dog()

# Get the name attribute
name = getattr(dog, 'name')
print(name)  # 'Buddy'

# With default if missing
wings = getattr(dog, 'wings', 'None!')
print(wings)  # 'None!'

setattr() β€” Put something inside

dog = Dog()

# Add a new attribute
setattr(dog, 'breed', 'Golden Retriever')
print(dog.breed)  # 'Golden Retriever'

# Change existing attribute
setattr(dog, 'age', 4)
print(dog.age)  # 4

delattr() β€” Remove something

dog = Dog()
dog.nickname = "Bud"

# Remove the nickname
delattr(dog, 'nickname')

# dog.nickname would now error!

πŸ› οΈ Why Use These?

# Dynamic attribute names!
attribute_name = input("What info? ")

if hasattr(dog, attribute_name):
    value = getattr(dog, attribute_name)
    print(f"{attribute_name}: {value}")
else:
    print("Dog doesn't have that!")

βœ… all() and any() β€” The Voting Booth

The Story

Imagine a group making decisions:

  • all() = Everyone must agree (unanimous vote)
  • any() = At least one person agrees (any vote counts)

all() β€” Does EVERYONE agree?

# All must be True
votes = [True, True, True]
print(all(votes))  # True

# One disagreement breaks it
votes = [True, False, True]
print(all(votes))  # False

any() β€” Does ANYONE agree?

# At least one True
votes = [False, False, True]
print(any(votes))  # True

# Nobody agrees
votes = [False, False, False]
print(any(votes))  # False

🎯 Real-World Examples

# Check if all scores pass (β‰₯60)
scores = [75, 82, 91, 68]
all_passed = all(score >= 60 for score in scores)
print(all_passed)  # True

# Check if any student got 100
scores = [75, 82, 100, 68]
has_perfect = any(score == 100 for score in scores)
print(has_perfect)  # True

πŸ“‹ Quick Reference Table

Function Empty List All True Any True All False
all() True True depends False
any() False True True False

🎁 Putting It All Together

# Fun example using multiple functions!
data = [5, 2, 8, 1, 9]

# Sort and reverse
ordered = sorted(data)
backwards = list(reversed(ordered))

# Stats
print(f"Min: {min(data)}, Max: {max(data)}")
print(f"Sum: {sum(data)}")

# Check conditions
all_positive = all(x > 0 for x in data)
any_big = any(x > 7 for x in data)

print(f"All positive? {all_positive}")
print(f"Any > 7? {any_big}")

🧠 Remember This!

graph LR A["Built-in Functions"] --> B["Organizing"] A --> C["Math Helpers"] A --> D["Number Bases"] A --> E["Character Codes"] A --> F["Object Access"] A --> G["Logic Checks"] B --> B1["sorted - new sorted list"] B --> B2["reversed - flip iterator"] C --> C1["min - smallest"] C --> C2["max - biggest"] C --> C3["sum - add all"] D --> D1["bin - to binary"] D --> D2["oct - to octal"] D --> D3["hex - to hexadecimal"] E --> E1["chr - number→letter"] E --> E2["ord - letter→number"] F --> F1["hasattr - check exists"] F --> F2["getattr - get value"] F --> F3["setattr - set value"] F --> F4["delattr - remove"] G --> G1["all - everyone agrees"] G --> G2["any - someone agrees"]

πŸš€ You Did It!

Now you have 6 powerful tool groups in your Python toolbox:

  1. sorted/reversed β€” Organize anything!
  2. min/max/sum β€” Quick math on collections
  3. bin/oct/hex β€” Number costume changes
  4. chr/ord β€” Letter-number secret codes
  5. hasattr/getattr/setattr/delattr β€” Object explorers
  6. all/any β€” Smart voting on conditions

These tools make your code shorter, cleaner, and more Pythonic. Practice using them, and soon they’ll feel like second nature!


Happy coding! 🐍✨

Loading story...

Story - Premium Content

Please sign in to view this story and start learning.

Upgrade to Premium to unlock full access to all stories.

Stay Tuned!

Story is coming soon.

Story Preview

Story - Premium Content

Please sign in to view this concept and start learning.

Upgrade to Premium to unlock full access to all content.