提交 76976d73 编写于 作者: 南荒北逃's avatar 南荒北逃

Initial commit

上级
# Default ignored files
/shelf/
/workspace.xml
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (base)" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/Lesson1.iml" filepath="$PROJECT_DIR$/.idea/Lesson1.iml" />
</modules>
</component>
</project>
\ No newline at end of file
1.jpg

146.1 KB

2.png

33.3 KB

3.png

488.8 KB

4.png

52.5 KB

5.png

193.1 KB

6.png

122.8 KB

7.png

172.3 KB

C.png

482.7 KB

d = {'a':'apple', 'b':'banana', 'c':'car', 'd': 'desk'}
for key in d:
# 遍历字典时遍历的是键
print(key, d.get(key))
# for key, value in d.items():
# 上下两种方式等价 d.items() <=> dict.items(d)
for key, value in dict.items(d):
print(key, value)
\ No newline at end of file
Py.jpg

136.5 KB

<!-- TOC -->autoauto- [0. 我学Python干什么?](#0-我学python干什么)auto - [0.1 C与Python对比](#01-c与python对比)auto - [0.2 Python应用领域](#02-python应用领域)auto- [1. 环境搭建](#1-环境搭建)auto - [1.1 什么是编译器](#11-什么是编译器)auto - [1.2 什么是编辑器](#12-什么是编辑器)auto - [1.2 什么是IDE](#12-什么是ide)auto - [1.4 Python环境搭建简介[b站教程](https://www.bilibili.com/video/BV1tx411X7LH?from=search&seid=7596743297833900534)](#14-python环境搭建简介b站教程httpswwwbilibilicomvideobv1tx411x7lhfromsearchseid7596743297833900534)auto - [1.4.1 Python IDLE(不推荐,但是如果只是想了解语法,以及觉得后面两种操作麻烦的话可以选这个)](#141-python-idle不推荐但是如果只是想了解语法以及觉得后面两种操作麻烦的话可以选这个)auto - [1.4.2 Anaconda(必须下)](#142-anaconda必须下)auto - [1.4.3 Pycharm下载(必须下)](#143-pycharm下载必须下)auto- [2. 基本语法](#2-基本语法)auto - [2.1 新建项目 Hello World(演示)](#21-新建项目-hello-world演示)auto - [2.2 基本语法](#22-基本语法)auto - [2.2.1 注释](#221-注释)auto - [2.2.2 行与缩进](#222-行与缩进)auto - [2.2.3 数据类型和逻辑关系](#223-数据类型和逻辑关系)auto - [2.2.4 关于Python用作计算器这件事](#224-关于python用作计算器这件事)auto - [2.2.5 字符串趣事](#225-字符串趣事)auto - [2.2.6 条件分支可以怎么玩](#226-条件分支可以怎么玩)auto - [2.2.7 循环结构教会我的一个人生道理](#227-循环结构教会我的一个人生道理)auto - [2.2.8 列表(List)](#228-列表list)auto - [2.2.9 元组(tuple)](#229-元组tuple)auto - [2.2.10 字典(Dictionary)](#2210-字典dictionary)auto - [2.2.11 函数](#2211-函数)auto - [2.2.12 模块](#2212-模块)autoauto<!-- /TOC -->
# 0. 我学Python干什么?
相信大部分同学已经上过程设课了,学的主要是C/C艹(没有上过也没有关系,语言都是共通的)。对于我们专业而已在今后用到Python的场合会远远大于C艹,而且因为Python更灵活的原因,适用范围也会更广。
学过C艹的同学就知道就算写一个Hello World也要加上库啊主函数啊和分号(狗头),但是Python真的就只需要很短很短的一个指令随时调用
我们学的主要是Python3。Python2和Python3的主要区别存于在语法和部分功能上。
## 0.1 C与Python对比
C语言是编译型语言,经过编译后,生成机器码,然后再运行,执行速度快,不能跨平台,一般用于操作系统,驱动等底层开发。
Python是编译型还是解释型这个界限并不明显,但大致上可以理解为解释型语言,执行速度慢,由于Python虚拟机,Python是可以跨平台的,Python高度集成适合于软件的快速开发。
## 0.2 Python应用领域
Python主要应用领域:Web前端开发,云计算,人工智能,系统运维、爬虫、数据分析、APP开发、游戏开发、网站开发等。
对于我们的专业来说,影像和神经需要用到深度学习,微纳也可能会用到Python处理数据。学电子的同学更需要啦
![药学领域](1.jpg)
![2](2.png)
但是和大家分享的都是比较好玩的小东西啦,让大家熟悉一下,如果有兴趣的话可以继续深入~
# 1. 环境搭建
## 1.1 什么是编译器
简单讲,编译器就是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。
如gcc
## 1.2 什么是编辑器
编辑器是软件程序,一般是指用来修改电脑档案的编写软件。常见的编辑器有文本编辑器、网页编辑器、源程序编辑器、图像编辑器,声音编辑器和视频编辑器等。
文本编辑器(或称文字编辑器)是用作编写普通文字的应用软件,它与文档编辑器(或称文字处理器)不同之处在于它并非用作桌面排版(例如文档格式处理),它常用来编写程序的源代码。
如VsCode
## 1.2 什么是IDE
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。
如Visual Studio系列
我们用到的是**PyCharm**,由 JetBrains 打造的一款 Python IDE。
PyCharm 具备一般Python IDE的功能,比如:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。
简单来说,编辑器就是用来写代码的,而编译器是对现场高级语言代码翻译成相对低级语言的一段小程序/指令。
IDE就是功能很全集成多者的一个工具。
## 1.4 Python环境搭建简介[b站教程](https://www.bilibili.com/video/BV1tx411X7LH?from=search&seid=7596743297833900534)
### 1.4.1 Python IDLE(不推荐,但是如果只是想了解语法,以及觉得后面两种操作麻烦的话可以选这个)
IDLE 是 Python 所内置的开发与学习环境
[下载链接](https://www.python.org/downloads/)
![](3.png)
![](4.png)
会有个白框写代码,但是确实不好用....而且安装多次的话可能会有巨多版本....后面会有冲突(血的教训)
### 1.4.2 Anaconda(必须下)
Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等
Miniconda包括Conda、Python
conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换
简单来说,就是带了很多函数(粗略理解);还有很好用的一个功能是**环境管理**,会命令行的同学可以操作一下(当然GUI也挺香的),不会出现环境冲突。
[下载链接](https://www.anaconda.com/products/individual#Downloads)
Jupyter
简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。
![](6.png)
Environment介绍
### 1.4.3 Pycharm下载(必须下)
PyCharm 是一款功能强大的 Python 编辑器,具有跨平台性
[下载链接](https://www.jetbrains.com/pycharm/download/#section=windows)
![](7.png)
社区版即可
更具体的流程看[b站](https://www.bilibili.com/video/BV1tx411X7LH?from=search&seid=7596743297833900534)
# 2. 基本语法
## 2.1 新建项目 Hello World(演示)
## 2.2 基本语法
### 2.2.1 注释
C是 /* */
C++是 //
Python是 #
''' 和 """
### 2.2.2 行与缩进
python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {}(C和C++) 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:
### 2.2.3 数据类型和逻辑关系
![C](C.png)
![Py](Py.jpg)
#### 2.2.4 关于Python用作计算器这件事
```py
2*300/6+440-20
3*2
3**2
```
#### 2.2.5 字符串趣事
```py
print("谁是瓜娃子不用说了吧\n"*10)
```
```py
print("谁是"+"瓜娃子"+"不用说了吧\n")
```
```py
string="谁是""瓜娃子""不用说了吧"
print(string)
```
#### 2.2.6 条件可以怎么玩
```py
Event="我中了一百万" #变量不需要说明类型
if Event==true: #bool类型和==
print("我要请你吃:蒸羊羔、蒸熊掌、蒸鹿尾儿、烧花鸭、烧雏鸡、烧子鹅、卤猪、卤鸭、酱鸡、腊肉、松花小肚、晾肉香肠") #字符串和print()函数
else:
print("明早白馒头预定") #if else 注意打冒号
```
```py
temp=input("你猜猜你中了几万") #另类输入方法
guess=int(temp)
if guess==100
print("做梦好吧")
else
print("多少都不可能的就你这肤色永远是分母好吧")
```
#### 2.2.7 循环结构教会我的一个人生道理
```py
ToBeRich=True
while ToBeRich:
print("就算天上掉钱也是需要你弯腰捡一下的好吧")
print("天下没有白嫖的午餐")
```
#### 2.2.8 列表(List)
鱼龙混杂的数组
```py
mix=[1,'one','大娃']
#划重点:中括号
mix.append('二娃')
len(mix)
#更多函数可以自己探索~
print(mix[1]) #是one还是1呢
print(mix[3:5]) #一家人应该在一起对叭
print(mix[3:6]) #左闭右开你记住了🐎
```
#### 2.2.9 元组(tuple)
带上枷锁的列表:元组不可以修改o
另外元组使用的是小括号
```py
Tuple=("大娃","二娃","三娃")
#划重点:中括号
Tuple.append('四娃')
print(Tuple) #一家人要一开始就在一起o
```
#### 2.2.10 字典(Dictionary)
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
```py
d = {key1 : value1, key2 : value2 } #花括号
CalabashBrothers={'大娃':'大力士','二娃':'千里眼顺风耳','三娃':'刀枪不入','四娃':'火功电击','五娃':'吸水吐水','六娃':'隐身术','七娃':'宝葫芦吸妖怪'}
print(CalabashBrothers['大娃'])
```
### 2.2.11 函数
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
```py
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [expression]
def Pro(hundred):
"计算我中奖的概率"
if hundred>1:
return["做梦"]
else:
return["赏你了"]
Print(Pro(0))
```
### 2.2.12 模块
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。
模块让你能够有逻辑地组织你的 Python 代码段。
把相关的代码分配到一个模块里能让你的代码更好用,更易懂。
模块能定义函数,类和变量,模块里也能包含可执行的代码。
```py
import modname
import modname as substitute
from modname import name1[, name2[, ... nameN]]
EX
import numpy as np
import numpy as npy
#论为什么找不到npy的原因
```
### 2.2.13 for循环
例1:遍历字符串
```py
s = 'I love you more than I can say'
for i in s:
print(i)
```
例2:遍历列表
```py
l = ['鹅鹅鹅', '曲项向天歌', '锄禾日当午', '春种一粒粟']
for i in l:
print(i)
# 可以获取下表,enumerate每次循环可以得到下表及元素
# enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,
for i, v in enumerate(l):
print(i, v)
```
例3:遍历字典
```py
d = {'a':'apple', 'b':'banana', 'c':'car', 'd': 'desk'}
for key in d:
# 遍历字典时遍历的是键
print(key, d.get(key))
# for key, value in d.items():
# 上下两种方式等价 d.items() <=> dict.items(d)
for key, value in dict.items(d):
print(key, value)
#dict.items以列表返回可遍历的(键, 值) 元组数组
```
更多细节可以看[菜鸟教程](https://www.runoob.com/python3/python3-tutorial.html)
[墙裂推荐小甲鱼](https://www.bilibili.com/video/BV1xs411Q799?p=2)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册