Files
Python-Notes/Note.ipynb
2024-10-21 15:54:23 +08:00

287 lines
7.0 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python不需要显式的指定变量和函数的类型"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"a = '1' # a为str类型\n",
"b = '2' # b为str类型\n",
"b = 3 # b可以被直接修改为int类型\n",
"\n",
"print(a+b) # 报错不同数据类型之间不能运算说明python是强类型的\n",
"\n",
"# 函数定义也不需要声明返回值和参数的类型\n",
"def plus(a, b):\n",
" return a+b"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Python的基础数据类型\n",
"**注意:基础数据类型均为保留关键字,不要这些关键字作为变量名!**"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"x = 1 # 合理\n",
"print(int)\n",
"int = 1 # 不合理但也不报错\n",
"print(int)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1. 整数类型(`int`\n",
"## 2. 浮点数类型(`float`\n",
"## 3. 布尔类型(`bool`\n",
"## 4. 列表类型(`list`"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"my_list = [1, 2, 3, \"hello\"]\n",
"print(type(my_list)) # 输出: <class 'list'>\n",
"\n",
"# 访问元素\n",
"print(my_list[0]) # 输出: 1\n",
"print(my_list[-1]) # 输出: \"hello\"\n",
"print(my_list[0:2]) # 输出: [1, 2],要头不要尾\n",
"\n",
"# 修改元素\n",
"my_list[0] = 'modified'\n",
"print(my_list) # ['modified', 2, 3, \"hello\"]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 添加元素\n",
"my_list.append('append') \n",
"print(\"my_list.append:\", my_list) # ['modified', 2, 3, \"hello\", 'append']\n",
"my_list.insert(1, 'insert')\n",
"print(\"my_list.insert:\", my_list) # ['modified', 'insert', 2, 3, \"hello\", 4]\n",
"\n",
"# 删除元素\n",
"my_list.remove('modified')\n",
"print(\"my_list.remove:\", my_list) # ['insert', 2, 3, \"hello\", 4]\n",
"my_list.pop(3)\n",
"print(\"my_list.pop:\", my_list) # ['insert', 2, 3, 4]\n",
"\n",
"# 查找元素\n",
"print(\"2 in my_list:\")\n",
"print(2 in my_list) # 输出True\n",
"print(\"9 in my_list:\")\n",
"print(9 in my_list) # 输出False\n",
"print(\"my_list.index(2):\")\n",
"print(my_list.index(2)) # 输出1\n",
"print(\"my_list.index(9):\")\n",
"print(my_list.index(9)) # 直接抛异常"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 5. 字符串类型(`str`"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"name = \"Python\"\n",
"name = 'Python' # 单引号和双引号在python里都表示字符串没有任何区别"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 6. 元组类型(`tuple`\n",
"## 7. 集合类型(`set`"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"my_set = {'one', 'two', 'three', 'three', 'four'}\n",
"print(my_set) # 输出: {'one', 'two', 'three', 'four'}?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"my_set.add('five')\n",
"print(my_set) # 输出: {'one', 'two', 'three', 'four', 'five'}"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"my_set.remove('five')\n",
"print(my_set) # 输出: {'one', 'two', 'three', 'four'}?\n",
"my_set.pop()\n",
"print(my_set) # 输出: {'two', 'three', 'four'}?"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"print(my_set[0]) \t # 直接报错:集合是无序的,不能按下标取值\n",
"print('two' in my_set) # 输出True。集合通常就是这么用的用来判断一个值在不在集合里。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 8. 字典类型(`dict`\n",
"键-值对的无序集合,且**键不可重复**。类似于哈希表。"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"my_dict = {\"name\": \"Alice\", \"age\": 25}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 9. None 类型"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 条件控制语句\n",
"## 1. 任何版本都通用if语句"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def positive_or_negative(a, b):\n",
" if a > 0:\n",
" print(\"It's positive.\")\n",
" if a == 0:\n",
" print(\"It's zero!\")\n",
" else:\n",
" print(\"It's negative.\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# 下面是一段错误代码\n",
"def describe_temperature(temp):\n",
" if temp >= 30:\n",
" print(\"It's a hot day!\")\n",
" if temp >= 20:\n",
" print(\"It's a warm day.\")\n",
" if temp >= 10:\n",
" print(\"It's a cool day.\")\n",
" else:\n",
" print(\"It's a cold day.\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2. Python 3.10+ 新特性match-case语句"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def fruit_description(fruit):\n",
" match fruit:\n",
" case \"apple\":\n",
" print(\"This is a red or green fruit, usually sweet.\")\n",
" case \"banana\":\n",
" print(\"This is a long, yellow fruit, and it is soft.\")\n",
" case \"orange\":\n",
" print(\"This is a round orange fruit, and it is juicy\")\n",
" case \"grape\":\n",
" print(\"This is a small fruit.\")\n",
" case _:\n",
" print(\"I don't know this fruit.\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "python",
"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.11.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}