Forwarded from Astu Techs
Astu Techs
ክፍል ፬ 📱 Python Operators ፓይተን ውስጥ ስሌት ለምስራት የምንጠቀምባቸው 7 አይነት Operatorኦች አሉ። 1. Arithmetic 2. Relational 3. Assignment 4. Logical 5. Membership 6. Identity 7. Bitwise በመባል ይታወቃሉ
Arithmetic Operator
ውስጡ የያዛቸው፦ +, -, *, /, **, // ና % ናቸው።
Addition +
1. ቁጥሮችን ለመደመር
2. ለ String concatenation እንጠቀማለን
String Concatenation
Subtraction -
ከአንድ ቁጥር ላይ ሌላ ቁጥር ለመቀነስ
Multiplication *
1. ቁጥሮችን ለማባዛት
2. String or List or Tuple ለማባዛት(ለመደጋገም)
ውስጡ የያዛቸው፦ +, -, *, /, **, // ና % ናቸው።
Addition +
1. ቁጥሮችን ለመደመር
2. ለ String concatenation እንጠቀማለን
print(1+2) # Output -> 3
print(5+3) # Output -> 8
String Concatenation
print("Hello" + ", World") # Output -> Hello, World
text = "My name is "
name = "Abebe"
print(text+name) # Output -> My name is AbebeSubtraction -
ከአንድ ቁጥር ላይ ሌላ ቁጥር ለመቀነስ
print(5-1) # Output -> 4
print(10-2) # Output -> 8
Multiplication *
1. ቁጥሮችን ለማባዛት
2. String or List or Tuple ለማባዛት(ለመደጋገም)
print(5*2) # Output -> 10
print(2*3) # Output -> 6
print("h"*5) # Output -> hhhhh
print("hello"*2) # Output -> hellohelloForwarded from Astu Techs
Astu Techs
Arithmetic Operator ውስጡ የያዛቸው፦ +, -, *, /, **, // ና % ናቸው። Addition + 1. ቁጥሮችን ለመደመር 2. ለ String concatenation እንጠቀማለን print(1+2) # Output -> 3 print(5+3) # Output -> 8 String Concatenation print("Hello" + ", World") # Output -> Hello, World text =…
Division /
ቁጥሮችን ለማካፈል
Exponent **
Exponent ለማድረግ እንጠቀምበታለን፤ x**y ማለት፦ ሂሳብ ላይ እንዳለው x the power of y እንደማለት ነው
Floor //
ቁጥሮችን አካፍለን ነገር ግን ያገኘነውን ውጤት ያለ ነጥብ(.) ማስቀመጥ(በInteger ማስቀመጥ)
Modulus %
ቁጥሮችን አካፍለን ቀሪው ስንት እንደሆነ የሚያሰላ ነው።
ለምሳሌ፦ 5%2 ብንል፥ 2 ደራሽ ይሆንና ግን 1 ትቀራለች፤ ስለዚህ 5%2 እኩል ይሆና 1። ሁለቱ ቁጥሮች ተካፍለው ምንም ቀሪ ማይኖር ከሆነ ደግሞ መልሱ 0 ይሆናል።
❔2%5 ስንት ሚመጣ ይመስላችኋል ?
ቁጥሮችን ለማካፈል
print(5/2) # Output -> 2.5
print(4/2) # Output -> 2.0
Exponent **
Exponent ለማድረግ እንጠቀምበታለን፤ x**y ማለት፦ ሂሳብ ላይ እንዳለው x the power of y እንደማለት ነው
print(2**3) # Output -> 8
print(5**2) # Output -> 25
Floor //
ቁጥሮችን አካፍለን ነገር ግን ያገኘነውን ውጤት ያለ ነጥብ(.) ማስቀመጥ(በInteger ማስቀመጥ)
print(5//2) # Output -> 2
print(3//2) # Output -> 1
Modulus %
ቁጥሮችን አካፍለን ቀሪው ስንት እንደሆነ የሚያሰላ ነው።
ለምሳሌ፦ 5%2 ብንል፥ 2 ደራሽ ይሆንና ግን 1 ትቀራለች፤ ስለዚህ 5%2 እኩል ይሆና 1። ሁለቱ ቁጥሮች ተካፍለው ምንም ቀሪ ማይኖር ከሆነ ደግሞ መልሱ 0 ይሆናል።
print(5%2) # Output -> 1
print(3%3) # Output -> 0
❔2%5 ስንት ሚመጣ ይመስላችኋል ?
Relational Operator
- ተመሳሳይ የሆኑ የዳታ አይነቶች(Data Types) ለማወዳደር የምንጠቀምበት ሲሆን፥ በውስጡ የያዛቸውም፦ ==, >, <, >=, <=, != ናቸው።
- እነዚህን ኦፕሬተሮች ተጠቅመን የምናገኘው ውጤት(Output) True/False ነው።
📌 Equal To(==)
🔰ኦፕሬተሩ == ሲሆን፣ ሁለትና ከዛ በላይ ተመሳሳይ የሆኑ ዳታዎች(ለምሳሌ ቁጥሮች) እኩል መሆናቸውንና አለመሆናቸውን ለማወቅ የሚረዳን ነው፤ ስንጠቀመውም ውጤቱ True/False ነው።
ለቁጥሮች ስንጠቀም ለምሳሌ፦
🔆 አሠራሩን ለመረዳት ያህል፥
x = 5 እንበል።
x==5 ስንልን፦
"የx ዋጋ አምስት ነውን?/ x ከ5 ጋር እኩል ነውን?" ብለን ኮምፒውተርን መጠየቅ ነው፤ ስለዚህ እኩል ከሆነ True ይለናል፥ ካልሆነ ደግሞ False ይለናል።
‼️መረሳት የሌለበት ነገር ቢኖር = እና == በጣም ልዩነት ያላቸው ሁለት የተለያዩ ኦፕሬተሮች ናቸው።
🔅 x = 5 ስንል፥ "የx ዋጋ 5 ይሁን" ብለን ለኮምፒዩተር እየነገርነው ሲሆን፥ በተቃራኒው ደግሞ x == 5 ስንል፥ "የx ዋጋ 5 ነው ወይ?" ብለን ኮምፒውተርን እየጠየቅነው ነው።
ይጥላል ....
- ተመሳሳይ የሆኑ የዳታ አይነቶች(Data Types) ለማወዳደር የምንጠቀምበት ሲሆን፥ በውስጡ የያዛቸውም፦ ==, >, <, >=, <=, != ናቸው።
- እነዚህን ኦፕሬተሮች ተጠቅመን የምናገኘው ውጤት(Output) True/False ነው።
📌 Equal To(==)
🔰ኦፕሬተሩ == ሲሆን፣ ሁለትና ከዛ በላይ ተመሳሳይ የሆኑ ዳታዎች(ለምሳሌ ቁጥሮች) እኩል መሆናቸውንና አለመሆናቸውን ለማወቅ የሚረዳን ነው፤ ስንጠቀመውም ውጤቱ True/False ነው።
ለቁጥሮች ስንጠቀም ለምሳሌ፦
x = 5
y = 10
print(x==5) # True
print(x==y) # False
print(y==10) # True
🔆 አሠራሩን ለመረዳት ያህል፥
x = 5 እንበል።
x==5 ስንልን፦
"የx ዋጋ አምስት ነውን?/ x ከ5 ጋር እኩል ነውን?" ብለን ኮምፒውተርን መጠየቅ ነው፤ ስለዚህ እኩል ከሆነ True ይለናል፥ ካልሆነ ደግሞ False ይለናል።
‼️መረሳት የሌለበት ነገር ቢኖር = እና == በጣም ልዩነት ያላቸው ሁለት የተለያዩ ኦፕሬተሮች ናቸው።
🔅 x = 5 ስንል፥ "የx ዋጋ 5 ይሁን" ብለን ለኮምፒዩተር እየነገርነው ሲሆን፥ በተቃራኒው ደግሞ x == 5 ስንል፥ "የx ዋጋ 5 ነው ወይ?" ብለን ኮምፒውተርን እየጠየቅነው ነው።
ይጥላል ....
❤1
Astu Coding
Relational Operator - ተመሳሳይ የሆኑ የዳታ አይነቶች(Data Types) ለማወዳደር የምንጠቀምበት ሲሆን፥ በውስጡ የያዛቸውም፦ ==, >, <, >=, <=, != ናቸው። - እነዚህን ኦፕሬተሮች ተጠቅመን የምናገኘው ውጤት(Output) True/False ነው። 📌 Equal To(==) 🔰ኦፕሬተሩ == ሲሆን፣ ሁለትና ከዛ በላይ ተመሳሳይ የሆኑ ዳታዎች(ለምሳሌ ቁጥሮች) እኩል መሆናቸውንና አለመሆናቸውን…
ለString
💡 Stringኦች ስናወዳድር፣ ቁጥሮችን ስናወዳድር ካለው አሠራር ጋር ይለያያል።
ለምሳሌ 5 == 5 ብንል ያለምንም ጥያቄ እውነት ይሆናል፤
"Hi" == "Hi" ስንልስ "ምኑን ከምኑ ሚያወዳድረው? 🤔" የሚል ትልቅ ጥያቄ ያስነሳል፤ እስኪ አሠራሩን በአጭሩ ለማየት እንሞክር።
ሙከራ 1. Stringኦችን ስናወዳድር መጀመሪያ ላይ የሚወዳደረው ተወዳዳሪዎቹ የያዙት የCharchters መጠን/ብዛት ነው። ለምሳሌ
"Hi" == "Hi" ብንል፥ የሁለቱም የCharacters ብዛታቸው 2 ነው፤ ስለዚህ እውነት/True ይሆናል።
በጠቃራኒው ደግም "Hi" == "Hi!" ብንል፥ "Hi" የያዘው Characterኦች 2 ሲሆን፥ "Hi!" ደግሞ 3 ነው(H, i, !)፤ ስለዚህ እኩል አይደሉም።
ሙከራ 2. ሙከራ 1 እውነት ከሆነ፥ ቀጣይ ላይ የሚሆነው ደግሞ፦
🔰 እንደሚታወቀው ሁሉም Charecters የምንላቸው ነገሮች(ቁጥር፣ ፊደላት፣ ሥርዓተ ነጥቦች ወዘተ.) የራሳቸው የሆነ ASCII CODE አሏቸው፤ ኮምፒውተር የሚውቃቸውም በነዚህ ቁጥሮች ነው። ለምሳሌ፦
የA 65፣ የB 66፣ የC 67 ... እያለ ይጥላል።
... ስለዚህ ሁለኛው ሙከራ ሚሆነው እያንዳንዱን
String characterኦች የASCII CODE ማወዳደር ነው። እስቲ አሠራሩን እንመልከት ...
"Hi" == "Hy" ብንል፣
ሙከራ 1 ✅
ሙከራ 2
፩. ASCII CODE of H == ASCII CODE of
H
-> True
ይጥላል ...
፪. ASCII CODE of i == ASCII CODE of y
-> FALSE
📝 ስለዚህ "Hi" == "Hy" ሐሰት/False ይሆናል ማለት ነው።
💡 Stringኦች ስናወዳድር፣ ቁጥሮችን ስናወዳድር ካለው አሠራር ጋር ይለያያል።
ለምሳሌ 5 == 5 ብንል ያለምንም ጥያቄ እውነት ይሆናል፤
"Hi" == "Hi" ስንልስ "ምኑን ከምኑ ሚያወዳድረው? 🤔" የሚል ትልቅ ጥያቄ ያስነሳል፤ እስኪ አሠራሩን በአጭሩ ለማየት እንሞክር።
ሙከራ 1. Stringኦችን ስናወዳድር መጀመሪያ ላይ የሚወዳደረው ተወዳዳሪዎቹ የያዙት የCharchters መጠን/ብዛት ነው። ለምሳሌ
"Hi" == "Hi" ብንል፥ የሁለቱም የCharacters ብዛታቸው 2 ነው፤ ስለዚህ እውነት/True ይሆናል።
በጠቃራኒው ደግም "Hi" == "Hi!" ብንል፥ "Hi" የያዘው Characterኦች 2 ሲሆን፥ "Hi!" ደግሞ 3 ነው(H, i, !)፤ ስለዚህ እኩል አይደሉም።
ሙከራ 2. ሙከራ 1 እውነት ከሆነ፥ ቀጣይ ላይ የሚሆነው ደግሞ፦
🔰 እንደሚታወቀው ሁሉም Charecters የምንላቸው ነገሮች(ቁጥር፣ ፊደላት፣ ሥርዓተ ነጥቦች ወዘተ.) የራሳቸው የሆነ ASCII CODE አሏቸው፤ ኮምፒውተር የሚውቃቸውም በነዚህ ቁጥሮች ነው። ለምሳሌ፦
የA 65፣ የB 66፣ የC 67 ... እያለ ይጥላል።
... ስለዚህ ሁለኛው ሙከራ ሚሆነው እያንዳንዱን
String characterኦች የASCII CODE ማወዳደር ነው። እስቲ አሠራሩን እንመልከት ...
"Hi" == "Hy" ብንል፣
ሙከራ 1 ✅
ሙከራ 2
፩. ASCII CODE of H == ASCII CODE of
H
-> True
ይጥላል ...
፪. ASCII CODE of i == ASCII CODE of y
-> FALSE
📝 ስለዚህ "Hi" == "Hy" ሐሰት/False ይሆናል ማለት ነው።
text1 = "Hello"
text2 = "hello"
text3 = "Hi"
text4 = "hi"
print(text1 == "Hello") # True
print(text1 == text2) # False
print(text2 == text3) # False
print(text3 == text4) # False
👍1
📌 ጥያቄ የሆነባቹ ነገር ካለ @astutechschat መጠየቅ ትችላላችሁ።
📌 ሐሳብ፣ አስታየት / መስተካከል አለበት ምትሉት ነገር ካለ 👤 @natiprado ላይ ልታደርሱን ትችላላችሁ። 😊
📌 ሐሳብ፣ አስታየት / መስተካከል አለበት ምትሉት ነገር ካለ 👤 @natiprado ላይ ልታደርሱን ትችላላችሁ። 😊
Greater Than (>)
🔅 እንደምናውቀው ሁለት ቁጥሮችን ለማወዳደር ነው።
🔅 ለStringኦችም ሲሆን አሠራሩ ልክ == እንዳለው ነው፤ በ == ፋንታ የሚጠቀመው >ን ነው።
‼️ 5 == "5" ማለት እንችላለን፤ ግን 5 > "5" ማለት አንችልም፤ Error ይሆናል።
Less Than (<)
🔅 ይሄም አሠራሩ ሁሉ ከ > ተመሳሳይ ነው።
Greater Than or Equal to (>=)
🔅 ከ > ጋር የሚለው ነገር ቢኖር እኩል የሆኑ ቁጥሮችን ስናወዳድር የምናገኘው True መሆኑ ነው።
Less Than or Equal To (<=)
🔅 ከ >= ጋር አሠራራቸው ተመሳሳይ ነው።
🔆 ሁሉም አሠራራቸው ልክ ሒሳብ ላይ እንዳለው ጋር አንድ ነው
🔅 እንደምናውቀው ሁለት ቁጥሮችን ለማወዳደር ነው።
🔅 ለStringኦችም ሲሆን አሠራሩ ልክ == እንዳለው ነው፤ በ == ፋንታ የሚጠቀመው >ን ነው።
‼️ 5 == "5" ማለት እንችላለን፤ ግን 5 > "5" ማለት አንችልም፤ Error ይሆናል።
print(5 > 1) # True
print(2 > -2) # True
print(1 > 3) # False
Less Than (<)
🔅 ይሄም አሠራሩ ሁሉ ከ > ተመሳሳይ ነው።
print(5 < 6) # True
print(1 < 2) # True
print(3 < 1) # False
Greater Than or Equal to (>=)
🔅 ከ > ጋር የሚለው ነገር ቢኖር እኩል የሆኑ ቁጥሮችን ስናወዳድር የምናገኘው True መሆኑ ነው።
print(5 >= 5) # True
print(5 > 5) # False
Less Than or Equal To (<=)
🔅 ከ >= ጋር አሠራራቸው ተመሳሳይ ነው።
print(5 <= 5) # True
print( 5 < 5) # False
🔆 ሁሉም አሠራራቸው ልክ ሒሳብ ላይ እንዳለው ጋር አንድ ነው
Astu Coding
Relational Operator - ተመሳሳይ የሆኑ የዳታ አይነቶች(Data Types) ለማወዳደር የምንጠቀምበት ሲሆን፥ በውስጡ የያዛቸውም፦ ==, >, <, >=, <=, != ናቸው። - እነዚህን ኦፕሬተሮች ተጠቅመን የምናገኘው ውጤት(Output) True/False ነው። 📌 Equal To(==) 🔰ኦፕሬተሩ == ሲሆን፣ ሁለትና ከዛ በላይ ተመሳሳይ የሆኑ ዳታዎች(ለምሳሌ ቁጥሮች) እኩል መሆናቸውንና አለመሆናቸውን…
Not Equal ( !=)
🔅 ይሄ ደግሞ የ== ተቃራኒ ነው፤ ሚገልጸውም ሁለት ነገሮችን ስናወዳድር እኩል አለመሆናቸውን(ኢ-እኩሌታ) ነው።
🔅 ይሄ ደግሞ የ== ተቃራኒ ነው፤ ሚገልጸውም ሁለት ነገሮችን ስናወዳድር እኩል አለመሆናቸውን(ኢ-እኩሌታ) ነው።
print(5 != 5) # False
print(6 != 2) # True
print(2 != 1) # True
Assignment Operators
🔅 በውስጡ የያዛቸው፦ =, +=, -=, *=, **=, /=, //= እና %= ነው።
እንደምናውቀው የ= ምልክት አንድ አዲስ ተለዋዋጭን ለማወጅ፣ ለማሻሻል የሚረዳን ነው። ሌሎቹ ግን ከዚ በፊት የነበረን ተለዋጭ ላይ አዲስ ዋጋን(Value) እንደየ አውዱ ለመጨመር፣ ለመቀነስ፣ ለማበዛት... ወዘተ. የሚረዱን ናቸው።
እስኪ በምሳሌ እንመልከት፦
age ለሚባል ተለዋዋጭ የ18ን ዋጋ ሰጠሁ፤ እናም እንበልና ይህ አage ዋጋ ቋሚ ሳይሆን በየ ጊዜው የሚጨምር ነው፤ ስለዚህ አዲስ ተለዋዋጭ መፍጠር ሳይጠበቅብኝ፥ እንዴት የageን ዋጋ መጨመር እችላለሁ? 🤔
መልሱ ቀላል ነው፤ Assignment Operator መጠቀም 😃
age += 2 ይህ ማለት፦
age = age + 2 ማለት ነው
age -= 2 ➡️ age = age - 2
age *= 2 ➡️ age = age * 2
age /= 2 ➡️ age = age / 2
age //=2 ➡️ age = age // 2
age = 2 ➡️ age = age 2
age %= 2 ➡️ age = age % 2
💡ግልፅ ነው?
🔅 በውስጡ የያዛቸው፦ =, +=, -=, *=, **=, /=, //= እና %= ነው።
እንደምናውቀው የ= ምልክት አንድ አዲስ ተለዋዋጭን ለማወጅ፣ ለማሻሻል የሚረዳን ነው። ሌሎቹ ግን ከዚ በፊት የነበረን ተለዋጭ ላይ አዲስ ዋጋን(Value) እንደየ አውዱ ለመጨመር፣ ለመቀነስ፣ ለማበዛት... ወዘተ. የሚረዱን ናቸው።
እስኪ በምሳሌ እንመልከት፦
age = 18
age ለሚባል ተለዋዋጭ የ18ን ዋጋ ሰጠሁ፤ እናም እንበልና ይህ አage ዋጋ ቋሚ ሳይሆን በየ ጊዜው የሚጨምር ነው፤ ስለዚህ አዲስ ተለዋዋጭ መፍጠር ሳይጠበቅብኝ፥ እንዴት የageን ዋጋ መጨመር እችላለሁ? 🤔
መልሱ ቀላል ነው፤ Assignment Operator መጠቀም 😃
age = 18
print(age) # 18
age += 2
print(age) # 20
age += 2 ይህ ማለት፦
age = age + 2 ማለት ነው
age -= 2 ➡️ age = age - 2
age *= 2 ➡️ age = age * 2
age /= 2 ➡️ age = age / 2
age //=2 ➡️ age = age // 2
age = 2 ➡️ age = age 2
age %= 2 ➡️ age = age % 2
💡ግልፅ ነው?
Astu Coding
Logical Operator 🔅 በሁኔታዎች ላይ ማለትም ነገሮች እውነት(True) ወይም ሃሰት(False) መሆናቸው ላይ ተመርኩዞ የሚሰራ ኦፕሬተረ ነው። 🔅ሌላኛው ደግሞ የተለያዩ ሁኔታዎችን ለማጣመር ይረዳናል። ✅ በውስጡም የያዛቸው፦ and, or እና not ናቸው። ‼️ ሶስቱም የፓይተን ቁልፈ-ቃላት(Keywords) ናቸው። 🔆 አሠራራቸው ከታች በምስል ተያየዞ ቀርቧል
AND
# Boolean
print(True and True) # True
print(True and False) # False
print(False and False) # False
print(False and True) # False
# Numbers
print( 5 == 5 and 6 > 1) # True
print(7 < 10 and 7 > 6) # True
print(6 < 3 and 3 < 2) # False
print(4 < 2 and 2 == 2) # False
Astu Coding
AND # Boolean print(True and True) # True print(True and False) # False print(False and False) # False print(False and True) # False # Numbers print( 5 == 5 and 6 > 1) # True print(7 < 10 and 7 > 6) # True print(6 < 3 and 3 < 2) # False print(4 < 2 and…
OR
# Boolean
print(True or True) # True
print(True or False) # True
print(False or False) # False
print(False or True) # True
# Numbers
print( 5 == 5 or 6 > 1) # True
print(7 < 10 or 7 > 6) # True
print(6 < 3 or 3 < 2) # False
print(4 < 2 or 2 == 2) # True
Astu Coding
OR # Boolean print(True or True) # True print(True or False) # True print(False or False) # False print(False or True) # True # Numbers print( 5 == 5 or 6 > 1) # True print(7 < 10 or 7 > 6) # True print(6 < 3 or 3 < 2) # False print(4 < 2 or 2 == 2) #…
NOT
# Boolean
print(not (True and True)) # False
print(not (True and False)) # False
print(not (False and False)) # True
print(not (False and True)) # True
# Numbers
print(not(5 == 5 and 6 > 1)) # False
print(not(7 < 10 and 7 > 6)) # False
print(not(6 < 3 and 3 < 2)) # True
print(not(4 < 2 and 2 == 2)) # True
Bitwise Operator
🔅 ይህ የኦፕሬተር አይነት በተወሰነ መልኩ ከሎጂካል ጋር ተመሳሳይ ነገር ግን በቢት(Bit) ደረጃ የሚሰራ ኦፕሬተር ነው።
🔅 እንዲሰራ የሰጠነውን ቁጥር ወደ ባያናሪ ቁጥር(0 ና 1) በመለወጥ፤ ከስራውም በኋላ ውጤቱን በቁጥር ይነግረናል።
✅ በውስጡ የያዛቸው፦ &, |, ^, ~, << እና >> ናቸው።
And(&)
🔅 1 & 2 ስንት እንደሆነ እንመልከት ....
1 ወደ ባይናሪ ሲቀየር 0001
2 ወደ ባይናሪ ሲቀየር 0010
ስለዚህ እነዚህን ቁጥሮች ልክ ሎጂክል ኦፕሬተር ላይ እንዳለው and አመዛዝኖ ይሰራል።
0001 & 0010 = 0000
ይሄ ቁጥር ደግሞ 0 ነው። ስለዚህ 1 & 2 = 0 ይሆናል ማለት ነው።
🔅 ይህ የኦፕሬተር አይነት በተወሰነ መልኩ ከሎጂካል ጋር ተመሳሳይ ነገር ግን በቢት(Bit) ደረጃ የሚሰራ ኦፕሬተር ነው።
🔅 እንዲሰራ የሰጠነውን ቁጥር ወደ ባያናሪ ቁጥር(0 ና 1) በመለወጥ፤ ከስራውም በኋላ ውጤቱን በቁጥር ይነግረናል።
1 = True
0 = False
✅ በውስጡ የያዛቸው፦ &, |, ^, ~, << እና >> ናቸው።
And(&)
🔅 1 & 2 ስንት እንደሆነ እንመልከት ....
1 ወደ ባይናሪ ሲቀየር 0001
2 ወደ ባይናሪ ሲቀየር 0010
ስለዚህ እነዚህን ቁጥሮች ልክ ሎጂክል ኦፕሬተር ላይ እንዳለው and አመዛዝኖ ይሰራል።
0001 & 0010 = 0000
ይሄ ቁጥር ደግሞ 0 ነው። ስለዚህ 1 & 2 = 0 ይሆናል ማለት ነው።
print(1 & 2) # 0001 & 0010 = 0000 = 0
print(3 & 5) # 0011 & 0101 = 0001 = 1
print(6 & 7) # 0110 & 0111 = 0110 = 6
print(9 & 5) # 1001 & 0101 = 0001 = 1
OR (|)
🔅 ሁሉም እንዳልነው ነው፤ አሰራሩ ከ or ልጂካል ኦፕሬተር ጋር ተመሳሳይ ነው።
python
XOR(^)
🔅 ይሄ ደግሞ የ | (OR) ተቃራኒ ነው።
🔅 ሁሉም እንዳልነው ነው፤ አሰራሩ ከ or ልጂካል ኦፕሬተር ጋር ተመሳሳይ ነው።
print(1 | 2) # 0001 | 0010 = 0011 = 3
print(3 | 5) # 0011 | 0101 = 0111 = 7
print(6 | 7) # 0110 | 0111 = 0111 = 7
print(9 | 5) # 1001 | 0101 = 1101 = 13
python
XOR(^)
🔅 ይሄ ደግሞ የ | (OR) ተቃራኒ ነው።
Membership Operator
🔅 አንዱ የአንዱ አባል መሆኑን ለማወቅ የምንጠቀምበት ኦፕሬተር ነው፣ የምንጠቀመውም in የሚባል keyword ነው።
Identity Operator
🔅 አንዱ ከሌላኛው ጋር በዋጋ እኩ፣ በዳታ አይነት(Data Type) አንድ መሆኑን ለማውቅ የሚያገለግል ኦፕሬተር ነው።
🔅 የምንጠቀው is የሚባል keyword ነው።
〽️ በተወሰነ መልኩ ከ == ጋር አሠራሩ ይመሳሰላል፤። ነገር ግን == የሁለት ነገሮችን እኩሌታ(በዋጋ) ለማወዳደር/ለማወቅ ሲረዳን፤ በሌላ መልኩ ደግሞ is የሁለት ነገሮች እኩሌታ እና ሁለቱም አንድ አይነት Data type መሆናቸውን ለማወቅ ሚረዳን ነው።
ለምሳሌ፦
ምክኒያቱም 5 == 5.0 ስንል እያወዳደርን ያለነው ዋጋቸውን ብቻ ነው፤ ስለዚህ
5 == 5.0 እወነት ነው ማለት ነው። ግን
5 is 5.0 ስንል፥ 1ኛ ዋጋቸውን እያወዳደርን ነው፤ 2ኛ ደግሞ ሁለቱም የአንድ ዳታ ቤተሰብ መሆናቸውን እያጣረን ነው።
5 ከ 5.0 እኩል ቢሆንም፥ ግን ሁለቱም የተለያየ የዳታ አይነት ነው ያለቸው(5 integer, 5.0 ደግሞ float)
ስለዚህ True and False ማለት ደግሞ ውጤቱ False ይሰጠናል ማለት ነው።
🔅 አንዱ የአንዱ አባል መሆኑን ለማወቅ የምንጠቀምበት ኦፕሬተር ነው፣ የምንጠቀመውም in የሚባል keyword ነው።
txt = "Hello"
print("H" in txt) # True
print("o" in txt) # True
print("e" in txt) # True
print("w" in txt) # False
print("R" in txt) # False
Identity Operator
🔅 አንዱ ከሌላኛው ጋር በዋጋ እኩ፣ በዳታ አይነት(Data Type) አንድ መሆኑን ለማውቅ የሚያገለግል ኦፕሬተር ነው።
🔅 የምንጠቀው is የሚባል keyword ነው።
〽️ በተወሰነ መልኩ ከ == ጋር አሠራሩ ይመሳሰላል፤። ነገር ግን == የሁለት ነገሮችን እኩሌታ(በዋጋ) ለማወዳደር/ለማወቅ ሲረዳን፤ በሌላ መልኩ ደግሞ is የሁለት ነገሮች እኩሌታ እና ሁለቱም አንድ አይነት Data type መሆናቸውን ለማወቅ ሚረዳን ነው።
ለምሳሌ፦
5 == 5.0 True ነው
5 is 5.0 ግን False ነው።
ምክኒያቱም 5 == 5.0 ስንል እያወዳደርን ያለነው ዋጋቸውን ብቻ ነው፤ ስለዚህ
5 == 5.0 እወነት ነው ማለት ነው። ግን
5 is 5.0 ስንል፥ 1ኛ ዋጋቸውን እያወዳደርን ነው፤ 2ኛ ደግሞ ሁለቱም የአንድ ዳታ ቤተሰብ መሆናቸውን እያጣረን ነው።
5 ከ 5.0 እኩል ቢሆንም፥ ግን ሁለቱም የተለያየ የዳታ አይነት ነው ያለቸው(5 integer, 5.0 ደግሞ float)
ስለዚህ True and False ማለት ደግሞ ውጤቱ False ይሰጠናል ማለት ነው።
x = 10
y = 2
n = None
print(x is 10) # True
print(y is 2) # True
print(n is None) # True
print(x is not 10.0) # True
print(y is not 2.0) # True
print(n is not None) # False
👍1
💡 አስታውስ
🔅 ለዚህ ነው ፓይተን ከሰው ልጅ ቋንቋ ጋር ተቀራራቢ ነው ሚባለው።
🔅 ለዚህ ነው ፓይተን ከሰው ልጅ ቋንቋ ጋር ተቀራራቢ ነው ሚባለው።
x = 10
print(x is 10 and x is not 10.0) # True
Forwarded from Astu Coding
📌 ጥያቄ የሆነባቹ ነገር ካለ @astutechschat መጠየቅ ትችላላችሁ።
📌 ሐሳብ፣ አስታየት / መስተካከል አለበት ምትሉት ነገር ካለ 👤 @natiprado ላይ ልታደርሱን ትችላላችሁ። 😊
📌 ሐሳብ፣ አስታየት / መስተካከል አለበት ምትሉት ነገር ካለ 👤 @natiprado ላይ ልታደርሱን ትችላላችሁ። 😊
Sequence Data Types
🔅 በአጭሩ ይህ የዳታ ታይፕ አይነት፥ የተለያዩ ዳታዎችን(ቁጥሮች፣ ጽሑፎች ወዘተ.) አንድ ላይ ሰብሰብ አድረገን ለመያዝ ይረዱናል።
💢 እንደየ ባሕርያቸውና አገልግሎታቸው በ3 ይከፈላሉ፦
1. List
2. Tuple
3. Set
🔅 በአጭሩ ይህ የዳታ ታይፕ አይነት፥ የተለያዩ ዳታዎችን(ቁጥሮች፣ ጽሑፎች ወዘተ.) አንድ ላይ ሰብሰብ አድረገን ለመያዝ ይረዱናል።
💢 እንደየ ባሕርያቸውና አገልግሎታቸው በ3 ይከፈላሉ፦
1. List
2. Tuple
3. Set
List
🔅 ይህን የዳታ አይነት ለመፍጠር [ ] 👈 ይሄን ቅንፍ እንጠቀማለን።
የሚከተሉትን ባሕርይ አለው፦
✔️ Mutable፦ በማንኛውም ጊዜ ውስጡ ያሉትን ዳታዎች፥ ማጥፋት፣ አዲስ መጨመር፣ መቀየር፣ መለወጥ እንችላለን።
✔️ Ordered፦ ልክ እንደተፈጠረ፥ ቅደም-ተከተሉን ሳይለውጥ ይቀመጣል።
✔️ Indexable፦ ውስጡ ካሉት ዳታዎች የምንፈልገውን Access ማድረግ ይቻላል።
🔅 ይህን የዳታ አይነት ለመፍጠር [ ] 👈 ይሄን ቅንፍ እንጠቀማለን።
የሚከተሉትን ባሕርይ አለው፦
✔️ Mutable፦ በማንኛውም ጊዜ ውስጡ ያሉትን ዳታዎች፥ ማጥፋት፣ አዲስ መጨመር፣ መቀየር፣ መለወጥ እንችላለን።
✔️ Ordered፦ ልክ እንደተፈጠረ፥ ቅደም-ተከተሉን ሳይለውጥ ይቀመጣል።
✔️ Indexable፦ ውስጡ ካሉት ዳታዎች የምንፈልገውን Access ማድረግ ይቻላል።
ls = [1, 2, 3, 4, 5]
print(ls) # [1, 2, 3, 4, 5]
Indexing
🔅 Indexing ማለት፦ የምንፈልገውን ዳታ ከውስጡ አውጥቶ መጠቀም ማለት ነው።
✅ የምንጠመውም በመጀመሪያ ሊስታችንን ያወጅንበት ተለዋዋጭ ላይ [የIndex ቁጥር] በማድረግ ነው።
💢 Index Number(ቁጥር)፦ ማለት እዛ List ውስጥ ላሉ ለእያንዳንዱ አባላት የሚሰጥ ተራ ቁጥር(ቅደም ተከተሉን የጠበቀ) ቁጥር ነው።
🔅 Index Number ሁልጊዜ ከ0 ይጀምራል።
ለምሳሌ፦
ብለን ሊስት ብንፈጥር፥
የIndex ቁጥራቸው የከታች ያለው ይሆናል።
0 1 2 3 4 👈 Index Number
[6, 3, 1, 7, 2] 👈 List
ስለዚህ አሁን ከዚህ ውስጥ 7 ቁጥርን ለማንበብ ብሞክር የሚከተለውን እጠቀማለሁ።
Indexing አንድ የሊስቱን አባል ብቻ ሳይሆን 2፣ 3፣ ምናልባት ሁሉን፣ ምናልባት በየ ሁለት እርምጃው፣ ምናልባት ሁሉንም ለመገልበጥ ይረዱናል።
በነዚህ ሁሉ ውስጥ በተጨማሪነት የምጠቀው ደግሞ ሁለት ነጥብ(:)(Colon) ከIndex ቁጥር አጠገብ በማስቀመጥ ነው።
Structure:
[start:end:step]
ለምሳሌ
💢 እንግዲህ ሁሌ መጀመሪያ ላይ ያለው Index ቁጥሩ 0 ነው ካልን፤ መጨረሻ ላይ ያለው ደግሞ -1 አንድ ነው። (ወደ ኋላም ይቆጥራል)
🔅 Indexing ማለት፦ የምንፈልገውን ዳታ ከውስጡ አውጥቶ መጠቀም ማለት ነው።
✅ የምንጠመውም በመጀመሪያ ሊስታችንን ያወጅንበት ተለዋዋጭ ላይ [የIndex ቁጥር] በማድረግ ነው።
💢 Index Number(ቁጥር)፦ ማለት እዛ List ውስጥ ላሉ ለእያንዳንዱ አባላት የሚሰጥ ተራ ቁጥር(ቅደም ተከተሉን የጠበቀ) ቁጥር ነው።
🔅 Index Number ሁልጊዜ ከ0 ይጀምራል።
ለምሳሌ፦
ls = [6, 3, 1, 7, 2]
ብለን ሊስት ብንፈጥር፥
የIndex ቁጥራቸው የከታች ያለው ይሆናል።
0 1 2 3 4 👈 Index Number
[6, 3, 1, 7, 2] 👈 List
ስለዚህ አሁን ከዚህ ውስጥ 7 ቁጥርን ለማንበብ ብሞክር የሚከተለውን እጠቀማለሁ።
ls = [6, 3, 1, 7, 2]
print(ls[3]) # 7
print(ls[0]) # 6
print(ls[1]) # 3
Indexing አንድ የሊስቱን አባል ብቻ ሳይሆን 2፣ 3፣ ምናልባት ሁሉን፣ ምናልባት በየ ሁለት እርምጃው፣ ምናልባት ሁሉንም ለመገልበጥ ይረዱናል።
በነዚህ ሁሉ ውስጥ በተጨማሪነት የምጠቀው ደግሞ ሁለት ነጥብ(:)(Colon) ከIndex ቁጥር አጠገብ በማስቀመጥ ነው።
Structure:
[start:end:step]
ለምሳሌ
print(ls[0: 2]) # [6, 3]
print(ls[1: 4]) # [3, 1, 7]
💢 እንግዲህ ሁሌ መጀመሪያ ላይ ያለው Index ቁጥሩ 0 ነው ካልን፤ መጨረሻ ላይ ያለው ደግሞ -1 አንድ ነው። (ወደ ኋላም ይቆጥራል)
print(ls[-1]) # 2