Skip to content

Instantly share code, notes, and snippets.

@nikhilkumarsingh
Created May 14, 2018 17:43
Show Gist options
  • Save nikhilkumarsingh/5e26330c259dc6c8eaf09f2bdb92fea2 to your computer and use it in GitHub Desktop.
Save nikhilkumarsingh/5e26330c259dc6c8eaf09f2bdb92fea2 to your computer and use it in GitHub Desktop.
Parameter passing in Python
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"attachments": {
"image.png": {
"image/png": "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"
}
},
"cell_type": "markdown",
"metadata": {},
"source": [
"# Is Python call by value or call by reference? ![image.png](attachment:image.png)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"def increment(a):\n",
" a += 1"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"num = 1"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"increment(num)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"num"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"def add_more(l):\n",
" print(id(l))\n",
" l.append(5)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"mylist = [1,2,3,4]"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"140118813784008\n"
]
}
],
"source": [
"add_more(mylist)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[1, 2, 3, 4, 5]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mylist"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"140118813784008"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"id(mylist)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"mylist = [1,2,3,4]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](1.png)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"add_more(mylist)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](2.png)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[1, 2, 3, 4, 5]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mylist"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](3.png)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"def clean_it(l):\n",
" print(id(l))\n",
" l = []\n",
" print(id(l))"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"140118813784008\n",
"140118813784904\n"
]
}
],
"source": [
"clean_it(mylist)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[1, 2, 3, 4, 5, 5]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mylist"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](4.png)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](5.png)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment