🐍 Укус ΠΏΠΈΡ‚ΠΎΠ½Π° 🐍
2.47K subscribers
1.07K photos
24 videos
285 links
🐍 Канал ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° языкС Python. ВСматичСскиС ΡƒΡ€ΠΎΠΊΠΈ ΠΈ Π»Π°ΠΉΡ„Ρ…Π°ΠΊΠΈ.

πŸ‘½ Админ - @it_dashka
πŸ”Š ΠšΡƒΠΏΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ: https://telega.in/c/byteofpython

πŸ‘‰ Π§Π°Ρ‚: @abyteofpython
πŸ‘‰ ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ: @byteofpython
Download Telegram
❓ Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ get() Ρƒ словарСй Π² Python ΠΈ ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ?

ΠœΠ΅Ρ‚ΠΎΠ΄ get() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ, Ссли ΠΎΠ½ сущСствуСт, ΠΈ бСзопасно Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ссли ΠΊΠ»ΡŽΡ‡ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ошибки ΠΏΡ€ΠΈ доступС ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌ.

βœ…ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

user = {"name": "Alice", "age": 25}

print(user.get("age")) # ➜ 25
print(user.get("city", "N/A")) # ➜ N/A


πŸ“ŒΠ’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ get() бСзопасно Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "N/A", Ссли ΠΊΠ»ΡŽΡ‡ city отсутствуСт.

get() ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· API, JSON, конфигурациями ΠΈΠ»ΠΈ Π±Π°Π·Π°ΠΌΠΈ, Π³Π΄Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π½Π°Π΄Ρ‘ΠΆΠ½Π΅Π΅ ΠΈ Ρ‡ΠΈΡ‰Π΅, Ρ‡Π΅ΠΌ использованиС прямого доступа Ρ‡Π΅Ρ€Π΅Π· []
Please open Telegram to view this post
VIEW IN TELEGRAM
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
πŸ‘©β€πŸ’» enumerate β€” индСксы Π±Π΅Π· лишнСго ΠΊΠΎΠ΄Π°

enumerate() добавляСт индСкс ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π§Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ†ΠΈΠΊΠ»Π°Ρ… вмСсто range(len(...)).


➑️ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

fruits = ["яблоко", "Π±Π°Π½Π°Π½", "Π³Ρ€ΡƒΡˆΠ°"]

for i, fruit in enumerate(fruits, start=1):
print(i, fruit)

1 яблоко
2 Π±Π°Π½Π°Π½
3 Π³Ρ€ΡƒΡˆΠ°


πŸ“Œ Код становится Ρ‡ΠΈΡ‰Π΅ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠ΅Π΅, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со списками ΠΈ строками
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘©β€πŸ’» ΠœΡƒΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ vs Π˜ΠΌΠΌΡƒΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Python

Π’ Python ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ дСлятся Π½Π° измСняСмыС (mutable) ΠΈ нСизмСняСмыС (immutable).

Π­Ρ‚ΠΎ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ β€” ΠΎΡ‚ Π½Π΅Π³ΠΎ зависят ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ списков, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΈ Π΄Π°ΠΆΠ΅ ошибки с «копиями»


➑️ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

a = [1, 2, 3]
b = a
b.append(4)

print(a) # [1, 2, 3, 4]
print(a is b) # True


b Π½Π΅ копия, Π° ссылка Π½Π° Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² памяти. Π˜Π·ΠΌΠ΅Π½ΡΠ΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (list, dict, set) Π²Π΅Π΄ΡƒΡ‚ сСбя ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ. А Π²ΠΎΡ‚ нСизмСняСмыС (int, str, tuple) ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

πŸ“Œ ПониманиС ΠΌΡƒΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ β€” ΠΊΠ»ΡŽΡ‡ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π»ΠΎΠΌΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Β«ΠΏΠΎ ссылкС» ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ прСдсказуСмый ΠΊΠΎΠ΄
Please open Telegram to view this post
VIEW IN TELEGRAM
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
πŸ‘©β€πŸ’» Как Python Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: ссылки, Π° Π½Π΅ значСния

Π’ Python ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ β€” это Π½Π΅ β€œΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ с данными”, Π° ΠΈΠΌΠ΅Π½Π°, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² памяти.

Когда Ρ‚Ρ‹ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡˆΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, создаётся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° имя просто ссылаСтся Π½Π° Π½Π΅Π³ΠΎ.


➑️ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

x = [1, 2, 3]
y = x
y.append(4)

print(x) # [1, 2, 3, 4]
print(x is y) # True


x ΠΈ y ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” измСнСния ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΎΠ±ΠΎΠΈΡ…. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ копию, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ copy() ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ copy.

πŸ“Œ Π’ Python Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ: присваиваниС Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, Π° лишь создаёт Π½ΠΎΠ²ΡƒΡŽ ссылку.
ΠžΡ‚ΡΡŽΠ΄Π° Ρ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Β«Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ…Β» Π±Π°Π³ΠΎΠ² Ρƒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘©β€πŸ’» Замыкания (closures) β€” Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ помнят контСкст

Π’ Python функция ΠΌΠΎΠΆΠ΅Ρ‚ Β«Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒΒ» значСния ΠΈΠ· внСшнСй области, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½Π° ΡƒΠΆΠ΅ Π½Π΅ сущСствуСт.
Π­Ρ‚ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ β€” ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ инструмСнт для инкапсуляции Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· классов


➑️ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

def make_multiplier(factor):
def multiply(x):
return x * factor
return multiply

double = make_multiplier(2)
print(double(5)) # 10


multiply ΠΏΠΎΠΌΠ½ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ factor, Π΄Π°ΠΆΠ΅ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ make_multiplier. Π’ΠΎ Π΅ΡΡ‚ΡŒ double β€” это функция, Π·Π°ΠΌΠΊΠ½ΡƒΠ²ΡˆΠ°Ρ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя factor = 2.

πŸ“Œ Замыкания Π»Π΅ΠΆΠ°Ρ‚ Π² основС Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ„Π°Π±Ρ€ΠΈΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π»Π΅Π½ΠΈΠ²Ρ‹Ρ… вычислСний.
ПониманиС этой ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ β€” шаг ΠΎΡ‚ простого Python ΠΊ "питонистому" ΠΊΠΎΠ΄Ρƒ
Please open Telegram to view this post
VIEW IN TELEGRAM
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
πŸ‘©β€πŸ’» Как Python ΠΈΡ‰Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ (LEGB Rule)

Когда Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅ΡˆΡŒΡΡ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Python ΠΈΡ‰Π΅Ρ‚ Π΅Ρ‘ Π½Π΅ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎ, Π° строго ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ LEGB:
Local β†’ Enclosing β†’ Global β†’ Built-in

➑️ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

x = "глобальная"

def outer():
x = "Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅"
def inner():
x = "локальная"
print(x)
inner()

outer()

локальная


Если ΡƒΠ±Ρ€Π°Ρ‚ΡŒ x = "локальная", Python Π²ΠΎΠ·ΡŒΠΌΡ‘Ρ‚ x ΠΈΠ· блиТайшСй внСшнСй области β€” "Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅".
Если ΠΈ Ρ‚Π°ΠΌ Π½Π΅Ρ‚ β€” ΠΈΠ· глобальной.

πŸ“Œ ПониманиС LEGB ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΈΠΌΡ‘Π½ ΠΈ Π±Π°Π³ΠΎΠ² ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с функциями ΠΈ замыканиями
Please open Telegram to view this post
VIEW IN TELEGRAM
❓ Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ querySelectorAll() Π² JavaScript ΠΈ ΠΊΠΎΠ³Π΄Π° Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ?

ΠœΠ΅Ρ‚ΠΎΠ΄ querySelectorAll() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список всСх элСмСнтов, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ CSS-сСлСктору. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ сразу ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ нСсколько элСмСнтов для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

βœ…ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

<ul>
<li class="item">Apple</li>
<li class="item">Banana</li>
<li class="item">Orange</li>
</ul>

<script>
const items = document.querySelectorAll(".item");
items.forEach(el => el.style.color = "blue");
</script>


πŸ“ŒΠ’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ querySelectorAll() Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ всС элСмСнты с классом item ΠΈ мСняСт ΠΈΡ… Ρ†Π²Π΅Ρ‚

querySelectorAll() ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со списками, ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ, Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈ динамичСскими интСрфСйсами. Он ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΡŽΠ±Ρ‹Π΅ CSS-сСлСкторы ΠΈ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ массовыС измСнСния ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ΅ элСмСнтов
Please open Telegram to view this post
VIEW IN TELEGRAM
Π§Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΊΠΎΠ΄?
πŸ‘©β€πŸ’» Как Python Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: всё β€” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

Π’ Python Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” это Π½Π΅ особый синтаксис, Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса.

Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ значСния


➑️ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

def greet(name):
return f"ΠŸΡ€ΠΈΠ²Π΅Ρ‚, {name}!"

say_hello = greet # присвоили Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ
print(say_hello("Анна")) # ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Анна!

def run(func, arg):
print(func(arg))

run(greet, "Борис") # ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊΠ°ΠΊ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚


πŸ“Œ ПониманиС, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠ°ΠΊ строки ΠΈΠ»ΠΈ списки,
ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ ΠΊ лямбдам, Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π°ΠΌ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΡΡ‚ΠΈΠ»ΡŽ Π² Python
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘©β€πŸ’» ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° измСняСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π’ Python Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ссылкС Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π° Π½Π΅ ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.

Если функция измСняСт ΠΌΡƒΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (список, ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ), измСнСния ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ снаруТи


➑️ ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

def add_item(items):
items.append("Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт")

data = ["a", "b"]
add_item(data)

print(data) # ['a', 'b', 'Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт']


πŸ“Œ Ѐункция Π½Π΅ Π²Π΅Ρ€Π½ΡƒΠ»Π° Π½ΠΎΠ²Ρ‹ΠΉ список β€” ΠΎΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉ копию (items[:] ΠΈΠ»ΠΈ items.copy()).
Please open Telegram to view this post
VIEW IN TELEGRAM