python简单入门
python简单入门
文章目录
- python简单入门
- 0. 地址链接
- 1. 官网
- 2.2. 下载地址
- 3. 官方文档
- 1. 第一章
- 1.1 python解释器
- 1.2 基础语法
- 1.2.1 常见数据类型
- 1.2.2 强制类型转换
- 1.2.3 注释
- 1.2.4 运算符
- 1.2.5 字符串
- 1.2.5.1 字符串的定义
- 1.2.5.2 字符串拼接
- 1.2.5.3 格式化字符串
- 1.2.5.3 精度格式化
- 1.2.5.4 快速格式化
- 1.2.6 数据输入
- 1.2.7 条件与循环
- 1.2.8 condition与break
- 1.2.9 函数
- 2.2 数据容器
- 2.2.1 列表list
- 2.2.1.1 创建列表
- 2.2.1.2 访问列表数据
- 2.2.1.3 删除元素
- 2.2.1.4 列表的截取
- 2.2.1.5 列表的遍历
- 2.2.2 字符串str
- 2.2.2.1 创建字符串
- 2.2.2.2 访问字符串的值
- 2.2.2.3 字符串拼接
- 2.2.3 字典dict
- 2.2.3.1 创建字典
- 2.2.3.2 获取字典的值
- 2.2.3.3 更新字典
- 2.2.3.4 添加数据
- 2.2.3.5 字典的遍历
- 2.2.4 元组tuple
- 2.2.5 集合set
0. 地址链接
1. 官网
官网
2.2. 下载地址
官网下载地址
3. 官方文档
官方文档
1. 第一章
1.1 python解释器
基本原理 :计算机只认识二进制 0 1
python代码 => python解释器 => 二进制代码 => 执行
安装python环境,本质上就是安装python解释器
1.2 基础语法
1.2.1 常见数据类型
- 数字
- 整型 int 也就是整数,如10 -10等
- 浮点型 float 也就是小数,如3.14 0.66等
- 复数 complex 也就是实数和虚数的组合,如5+3i等
- 布尔型 bool 也就是真假类型,真为True,假为False
- 字符串
- 列表list 有序可重复
- 字典dict 键值对,键唯一
- 元祖tuple 元素不可变
- 集合set 无序不重复
变量的定义,格式:
变量名=变量值
,如count=20;
,l=list()
,dic={'a':10,'b'=666}
等
使用type()查看数据类型,如type(10)
显示<class 'int'>
变量最好做到见名知意,也就是看到变量名能大概猜到表示什么,比如stock_price
表示股票价格,而a b c x
等等,用在项目中就不那么舒服了
1.2.2 强制类型转换
- 字符串转换为数字
也就是说,起初类似str=“123”,但类型是字符串类型,不能与数字进行运算,需要强制转换为数字
对于字符串转数字,要求字符串的内容都是数字,如"123"
,"666"
等,不能掺杂其他非数字类型,比如"123a"
,"66b5"
等
# 转换为整型
num=int(str);
# 或者,转换为浮点型
num=float(str);
- 数字转换为字符串
不希望数字参与运算,转换为字符串类型。
num=10
# 转换为字符串类型
s=str(num)
1.2.3 注释
- 单行注释
#号开头 如# 单行注释
注意# 号后有一个空格(规范) - 多行注释
使用三个 " 包围,如:""" 多行 注释 """ code
- 快捷键
ctrl + /
对需要注释的代码,选中后,按下快捷键即可
1.2.4 运算符
运算符 | 描述 |
---|---|
+ | 加法运算 |
- | 减法运算 |
* | 乘法运算 |
/ | 除法运算(结果带小数) |
// | 取整除(结果下取整) |
% | 取余运算 |
** | 指数运算 |
= | 赋值运算 |
复合运算 | 如a=5;a+=1; ,相当于a=5;a=a+1; ,也就是说a+=1 相当于a=a+1 ,a*=5 相当于a=a*5 ,以此类推 |
1.2.5 字符串
1.2.5.1 字符串的定义
三种方式
- 单引号接收,如 name=‘jack’
- 双引号接收(常用),name=“jack”
- 三引号接收,name=“”“jack”“”
1.2.5.2 字符串拼接
使用+
来拼接多段字符串
如s = "abc" + "天气不错" + "666"
,结果为s = "abc天气不错666"
1.2.5.3 格式化字符串
用在需要拼接的字符串太多,使用占位符先占个位,再补(支持数字类型和字符串类型拼接)
name = "jack"
age = 20
hobby = "sleeping"res="the man %s is %s years old and he likes %s" % (name, age, hobby)
# %表示这是个占位符 s表示需要占位的内容
# the man jack is 20 years old and he likes sleeping
# 代码中数字20,先转换成了字符串,后参与拼接
常用的三种占位
- %s 将内容转换为字符串后拼接
- %d 将内容转换为整型后拼接
- %f 将内容转换为浮点型后拼接
1.2.5.3 精度格式化
使用m.n
格式化数值的整数部分和小数部分
若num = 123.4567
%5d
为[空格][空格]123
%5.2f
为[空格][空格]123.46
,小数部分进行四舍五入,若不限制整数部分的宽度,可写成%.2f
1.2.5.4 快速格式化
格式:f"内容{变量}"
,如
name = "jack"
age = 20res = f"{jack} is {age} years old"
即可完成快速格式化
快速格式化不关心数据类型,也不做精度控制
1.2.6 数据输入
print()
用来输出数据
input()
用来输入数据,读取键盘输入
格式:
value = input()
input
输入的全部作为字符串类型
1.2.7 条件与循环
# 条件
if 条件1为真:code1
elif 条件2为真:code2
else:code3# for 循环 举个例子,遍历从0到9的十个数
for i in range(10):print(i)# while 循环
while 条件为真:code
1.2.8 condition与break
condition
用于退出当前的循环,但继续下一次循环
break
跳出整个循环,嵌套循环中跳出内循环
1.2.9 函数
def 函数名(参数):函数体code[return 返回值]
"""
对第一章的一些简单注释
极简模式
"""
# 1. 数字
# - 整型 int 也就是整数,如10 -10等
a = 10
# - 浮点型 float 也就是小数,如3.14 0.66等
b = 3.14
# - 复数 complex 也就是实数和虚数的组合,如5+3i等
c = complex(5, 3)
# - 布尔型 bool 也就是真假类型,真为True,假为False
d = True
# 2.2. 字符串
str = "一串字符串"
# 3. 列表list 有序可重复
l = list([1, 2, 3])
# 4. 字典dict 键值对,键唯一
dic = dict({'a': 1, 'b': 2})
# 5. 元祖tuple 元素不可变
tup = (1, 2, 3)
# 6. 集合set 无序不重复
s = set("set_content")print(type(a))
print(type(tup))
print(type(s))
"""
<class 'int'>
<class 'tuple'>
<class 'set'>
"""print(a/b)
print(a//b)
"""
3.184713375796178
3.0
"""name = "zhangsan"
age = 20res = f"{name} is {age} years old"print("你叫什么名字?")
name = input()
# 也可以两行并一行为:name = input("你叫什么名字?")
print(f"你好,{name}!")
2.2 数据容器
可以存储若干数据的容器,存储数据的类型可以不唯一
2.2.1 列表list
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
2.2.1.1 创建列表
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
2.2.1.2 访问列表数据
使用下标索引来访问列表中的值,或者使用下标索引来访问列表中的值
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
# list1[0]: physics
# list2[1:5]: [2, 3, 4, 5]# 加入元素
list2.append("abc") # 尾加
同样,更新元素就是访问到元素后,重新赋值:list[0] = 666
2.2.1.3 删除元素
可以使用 del 列表[下标]
的方式
或者 列表.remove(元素)
的方式
一次只能删一个元素
2.2.1.4 列表的截取
>>>L = ['Google', 'Runoob', 'Taobao']
>>> L[2]
'Taobao'
>>> L[-2]
'Runoob'
>>> L[1:]
['Runoob', 'Taobao']
>>>
如果是从第一个元素向后选取,则第一个元素下标为0
,最后一个元素下标为列表长度-1
如果是从最后一个元素向前来看,则最后一个元素下标为-1
,第一个元素下标为-列表长度
,需要注意的是也是从左向右选取
names = ["a", 2, "bb", "c"] # 下标分别为 0 1 2 3 或者是 -4 -3 -2 -1
print(names[0:2]) # ['a', 2]
print(names[-4:-2]) # ['a', 2]# 或者,规定逆向
print(names[-2:-4:-1]) # ['bb', 2]
2.2.1.5 列表的遍历
list = ['html', 'js', 'css', 'python']# 1
for i in list:print(list.index(i), i)# 2
for i in range(len(list)):print(i, list[i])# 3
for i, val in enumerate(list):print(i, val)# 4
i = 0
while i < len(list):print(i, list[i])i += 1
2.2.2 字符串str
字符串是 Python 中最常用的数据类型
可以使用引号 ( ’ 或 " ) 来创建字符串
2.2.2.1 创建字符串
为变量分配一个值即可
s = "abc"
text = "Hello Wolrd!"
2.2.2.2 访问字符串的值
使用下标的方式访问
text[0]
是H
,text[-1]
是!
也可以通过下标来切割字符串
text[0:5]
值为Hell
2.2.2.3 字符串拼接
使用+
来拼接若干段字符串
s2 = s + " " + text
,s2
的值为abc Hello Wolrd!
2.2.3 字典dict
使用key:value
键值对的方式存储数据
2.2.3.1 创建字典
dic1 = dict()
dic2 = dict({'a':1,'b':2})
2.2.3.2 获取字典的值
使用dic2['a']
或者dic2.get('a')
的方式根据key
来获取value
的值
2.2.3.3 更新字典
根据字典的key
获取到值后,重新赋值即可
dic2['a'] = 10
2.2.3.4 添加数据
使用dic[]
的方式,如dic2['c'] = 3
,字典中没有键为c
的键值对,会自动添加一对c : 3
2.2.3.5 字典的遍历
# 1
for key,value in dic2.items():print(key,value)# 2
for i in dic2.keys():print(i,dic2[i]) # or print(i,dic2.get(i))
2.2.4 元组tuple
元组的元素不能修改
只需要在括号中添加元素,并使用逗号隔开即可创建元组
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
可根据下标来访问数据,但元组创建后,就不可以更改其数据了
2.2.5 集合set
集合中的元素不可重复
使用花括号来创建集合
set1 = {'a', 'b', 'c', 4}
一般可用于对列表list等容器中的数据去重
相关文章:

python简单入门
python简单入门 文章目录 python简单入门0. 地址链接1. 官网2.2. 下载地址3. 官方文档 1. 第一章1.1 python解释器1.2 基础语法1.2.1 常见数据类型1.2.2 强制类型转换1.2.3 注释1.2.4 运算符1.2.5 字符串1.2.5.1 字符串的定义1.2.5.2 字符串拼接1.2.5.3 格式化字符串1.2.5.3 精…...
如何快速从csv文件搭建一个简单的神经网络模型(回归)
快速搭建一个简单的神经网络预测模型 采用的数据是kaggle的房价预测数据 涉及的数据文件,提取码为:zxcv #导入相关包 import pandas as pd import numpy as np import torch import torch.nn as nn首先读取数据 trainpd.read_csv("path",enc…...

Pytorch深度学习-----DataLoader的用法
系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用(ToTensor,Normalize,Resize ,Co…...

macOS Ventura 13.5 (22G74) Boot ISO 原版可引导镜像下载
macOS Ventura 13.5 (22G74) Boot ISO 原版可引导镜像下载 本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持在 Windows 和 Lin…...

【机器学习】 奇异值分解 (SVD) 和主成分分析 (PCA)
一、说明 在机器学习 (ML) 中,一些最重要的线性代数概念是奇异值分解 (SVD) 和主成分分析 (PCA)。收集到所有原始数据后,我们如何发现结构?例如,通过过去 6 天…...

如何用logging记录python实验结果?
做python实验有时候需要打印很多信息在控制台(console),但是控制台的信息不方便回顾和保存,故而可以采用logging将信息存储起来。 先新建一个文件message.log代码如下: import logging logging.basicConfig(filename"messa…...

C语言假期作业 DAY 03
目录 题目 一、选择题 1、已知函数的原型是: int fun(char b[10], int *a); ,设定义: char c[10];int d; ,正确的调用语句是( ) 2、请问下列表达式哪些会被编译器禁止【多选】( ) 3、…...

使用serverless实现从oss下载文件并压缩
公司之前开发一个网盘系统, 可以上传文件, 打包压缩下载文件, 但是在处理大文件的时候, 服务器遇到了性能问题, 主要是这个项目是单机部署.......(离谱), 然后带宽只有100M, 现在用户比之前多很多, 然后所有人的压缩下载请求都给到这一台服务器了, 比如多个人下载的时候带宽问…...

从上到下打印二叉树
题目描述 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 返回: [3,9,20,15,7] 算法思想 建立一个vector数组ret用来当做返回的结果数组,建立一个队列用来接收二叉树…...
【推荐】排序模型的调优
【推荐】排序模型的调优 排序模型的选择 排序模型常见的训练方式 样本类别不均衡处理尝试 欠拟合 过拟合 其他问题 排序模型的选择 LR,GBDT,LRGBDT,FM/FFM, 深度模型(wide & deep,DeepFM&#x…...
负载均衡安装配置详解
负载均衡(Load Balancing)是一种将网络流量分布到多个服务器上的技术,以提高系统的性能、可靠性和可扩展性。 在负载均衡中,有一个负载均衡器(Load Balancer),它充当了传入请求的前置接收器。当…...

Java-逻辑控制
目录 一、顺序结构 二、分支结构 1.if语句 2.swich语句 三、循环结构 1.while循环 2.break 3.continue 4.for循环 5.do while循环 四、输入输出 1.输出到控制台 2.从键盘输入 一、顺序结构 按照代码的书写结构一行一行执行。 System.out.println("aaa"); …...

UE 透明渲染次序
附加顺序 用最外面的球, 依次附加里面的球 最后附加的物体优先级最高 附加顺序 用最里面的球, 依次附加外面的球 这样渲染顺序就对了...

【C++】多态原理剖析,Visual Studio开发人员工具使用查看类结构cl /d1 reportSingleClassLayout
author:&Carlton tag:C topic:【C】多态原理剖析,Visual Studio开发人员工具使用查看类结构cl /d1 reportSingleClassLayout website:黑马程序员C tool:Visual Studio 2019 date:2023年7月24日 目…...

vue实现flv格式视频播放
公司项目需要实现摄像头实时视频播放,flv格式的视频。先百度使用flv.js插件实现,但是两个摄像头一个能放一个不能放,没有找到原因。(开始两个都能放,后端更改地址后不有一个不能放)但是在另一个系统上是可以…...

iptables安全技术和防火墙
防火墙:隔离功能 位置:部署在网络边缘或主机边缘,在工作中,防火墙的主要作用是决定哪些数据可以被外网访问以及哪些数据可以进入内网访问,主要在网络层工作 其他类型的安全技术:1、入侵检测系统 2、入侵…...
微信小程序开发5
一、自定义组件-插槽 1.1、什么是插槽 在自定义组件的wxml结构中,可以提供一个<slot>节点(插槽),用于承载组件使用者提供的wxml结构 1.2、单个插槽 在小程序中,默认每个自定义组件中允许使用一个<slot>进行占位,这种…...
【算法题】2681. 英雄的力量
题目: 给你一个下标从 0 开始的整数数组 nums ,它表示英雄的能力值。如果我们选出一部分英雄,这组英雄的 力量 定义为: i0 ,i1 ,… ik 表示这组英雄在数组中的下标。那么这组英雄的力量为 max(nums[i0],n…...
fastutil简单测试下性能
前言 简单测试一下fastutil的实现和Java类库实现的速率。 使用jmh进行测试。 简单解释一下,每轮测试预热2次,每次1s;实测2次,每次1秒。 进行5轮测试。数组大小3种。 package fastutil;import it.unimi.dsi.fastutil.ints.IntArr…...

【FAQ】关于无法判断和区分用户与地图交互手势类型的解决办法
一. 问题描述 当用户通过缩放手势、平移手势、倾斜手势和旋转手势与地图交互,控制地图移动改变其可见区域时,华为地图SDK没有提供直接获取用户手势类型的API。 二. 解决方案 华为地图SDK的地图相机有提供CameraPosition类&…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...

认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7
在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤: 第一步: 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为: // 改为 v…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
python打卡第47天
昨天代码中注意力热图的部分顺移至今天 知识点回顾: 热力图 作业:对比不同卷积层热图可视化的结果 def visualize_attention_map(model, test_loader, device, class_names, num_samples3):"""可视化模型的注意力热力图,展示模…...