A self-study guide for Python 3 compiled from the materials on this site. Primarily intended for those who want to learn the Python programming language from scratch.
Basic Function Syntax
fun greet(name: String): String {
return "Hello, $name!"
}
println(greet("Alice")) // Hello, Alice!
Single-Expression Functions
fun square(x: Int): Int = x * x
fun greet(name: String) = "Hello, $name!"
println(square(5)) // 25
println(greet("Bob")) // Hello, Bob!
Default and Named Parameters
fun createUser(
name: String,
age: Int = 18,
isAdmin: Boolean = false
): String {
return "User: $name, age=$age, admin=$isAdmin"
}
println(createUser("Alice"))
// User: Alice, age=18, admin=false
println(createUser("Bob", age = 30, isAdmin = true))
// User: Bob, age=30, admin=true
Vararg
fun sum(vararg numbers: Int): Int = numbers.sum()
println(sum(1, 2, 3, 4, 5)) // 15
Higher-Order Functions and Lambdas
val numbers = listOf(1, 2, 3, 4, 5)
val doubled = numbers.map { it * 2 }
val evens = numbers.filter { it % 2 == 0 }
val total = numbers.reduce { acc, n -> acc + n }
println(doubled) // [2, 4, 6, 8, 10]
println(evens) // [2, 4]
println(total) // 15
// Lambda as a variable
val multiply: (Int, Int) -> Int = { a, b -> a * b }
println(multiply(3, 4)) // 12