def xairetismos(όνομα):
return f"Γειά σου, {όνομα}!"
# Κλήση της συνάρτησης
print(xairetismos("Μαρία")) # Έξοδος: Γειά σου, Μαρία!
def ypologismos_posou(τιμή, φόρος=0.24):
τελικό_ποσό = τιμή * (1 + φόρος)
return f"Το τελικό ποσό είναι: {τελικό_ποσό:.2f}€"
print(ypologismos_posou(100)) # Έξοδος: Το τελικό ποσό είναι: 124.00€
print(ypologismos_posou(100, 0.10)) # Έξοδος: Το τελικό ποσό είναι: 110.00€
def synoliko_arithmo(*args):
return sum(args)
def plirofories_pelati(**kwargs):
for klidi, timi in kwargs.items():
print(f"{klidi}: {timi}")
# Κλήση συναρτήσεων
print(synoliko_arithmo(1, 2, 3, 4)) # Έξοδος: 10
plirofories_pelati(όνομα="Γιάννης", ηλικία=30, πόλη="Αθήνα")
# Έξοδος:
# όνομα: Γιάννης
# ηλικία: 30
# πόλη: Αθήνα
# Παράδειγμα: Υπολογισμός τετραγώνου
tetragono = lambda x: x ** 2
print(tetragono(5)) # Έξοδος: 25
# Χρήση με filter
arithmoi = [1, 2, 3, 4, 5, 6]
monoi = list(filter(lambda x: x % 2 != 0, arithmoi))
print(monoi) # Έξοδος: [1, 3, 5]
def prosthesi(a, b):
"""Προσθέτει δύο αριθμούς και επιστρέφει το άθροισμα."""
return a + b
android {
...
buildFeatures {
dataBinding true
}
}
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable
name="user"
type="com.example.User" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<TextView
android:id="@+id/nameTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{user.name}" />
</LinearLayout>
</layout>
package com.example
data class User(val name: String)
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.example.databinding.ActivityMainBinding // Αυτόματη δημιουργία από το Data Binding
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
// Ορισμός δεδομένων
val user = User("Πέτρος")
binding.user = user
}
}
import androidx.databinding.ObservableField
class User {
val name = ObservableField<String>()
constructor(name: String) {
this.name.set(name)
}
}
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val user = User("Μαρία")
binding.user = user
// Ενημέρωση δεδομένων μετά από 2 δευτερόλεπτα
Handler(Looper.getMainLooper()).postDelayed({
user.name.set("Αννα")
}, 2000)
}
}