当前位置: 首页 > news >正文

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 常见数据类型

  1. 数字
    • 整型 int 也就是整数,如10 -10等
    • 浮点型 float 也就是小数,如3.14 0.66等
    • 复数 complex 也就是实数和虚数的组合,如5+3i等
    • 布尔型 bool 也就是真假类型,真为True,假为False
  2. 字符串
  3. 列表list 有序可重复
  4. 字典dict 键值对,键唯一
  5. 元祖tuple 元素不可变
  6. 集合set 无序不重复

变量的定义,格式:

变量名=变量值,如count=20;l=list()dic={'a':10,'b'=666}

使用type()查看数据类型,如type(10)显示<class 'int'>

变量最好做到见名知意,也就是看到变量名能大概猜到表示什么,比如stock_price表示股票价格,而a b c x等等,用在项目中就不那么舒服了

1.2.2 强制类型转换

  1. 字符串转换为数字
    也就是说,起初类似str=“123”,但类型是字符串类型,不能与数字进行运算,需要强制转换为数字
    对于字符串转数字,要求字符串的内容都是数字,如"123""666"等,不能掺杂其他非数字类型,比如"123a""66b5"
# 转换为整型
num=int(str);
# 或者,转换为浮点型
num=float(str);
  1. 数字转换为字符串
    不希望数字参与运算,转换为字符串类型。
num=10
# 转换为字符串类型
s=str(num)

1.2.3 注释

  1. 单行注释
    #号开头 如# 单行注释
    注意# 号后有一个空格(规范)
  2. 多行注释
    使用三个 " 包围,如:
    """
    多行 
    注释
    """
    code
    
  3. 快捷键 ctrl + /
    对需要注释的代码,选中后,按下快捷键即可

1.2.4 运算符

运算符描述
+加法运算
-减法运算
*乘法运算
/除法运算(结果带小数)
//取整除(结果下取整)
%取余运算
**指数运算
=赋值运算
复合运算a=5;a+=1;,相当于a=5;a=a+1;,也就是说a+=1相当于a=a+1a*=5相当于a=a*5,以此类推

1.2.5 字符串

1.2.5.1 字符串的定义

三种方式

  1. 单引号接收,如 name=‘jack’
  2. 双引号接收(常用),name=“jack”
  3. 三引号接收,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,先转换成了字符串,后参与拼接

常用的三种占位

  1. %s 将内容转换为字符串后拼接
  2. %d 将内容转换为整型后拼接
  3. %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]Htext[-1]!

也可以通过下标来切割字符串
text[0:5]值为Hell

2.2.2.3 字符串拼接

使用+来拼接若干段字符串

s2 = s + " " + texts2的值为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的房价预测数据 涉及的数据文件&#xff0c;提取码为&#xff1a;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的使用&#xff08;ToTensor&#xff0c;Normalize&#xff0c;Resize &#xff0c;Co…...

macOS Ventura 13.5 (22G74) Boot ISO 原版可引导镜像下载

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

【机器学习】 奇异值分解 (SVD) 和主成分分析 (PCA)

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

如何用logging记录python实验结果?

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

C语言假期作业 DAY 03

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

使用serverless实现从oss下载文件并压缩

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

从上到下打印二叉树

题目描述 从上到下打印出二叉树的每个节点&#xff0c;同一层的节点按照从左到右的顺序打印。 例如: 给定二叉树: [3,9,20,null,null,15,7], 返回&#xff1a; [3,9,20,15,7] 算法思想 建立一个vector数组ret用来当做返回的结果数组&#xff0c;建立一个队列用来接收二叉树…...

【推荐】排序模型的调优

【推荐】排序模型的调优 排序模型的选择 排序模型常见的训练方式 样本类别不均衡处理尝试 欠拟合 过拟合 其他问题 排序模型的选择 LR&#xff0c;GBDT&#xff0c;LRGBDT&#xff0c;FM/FFM&#xff0c; 深度模型&#xff08;wide & deep&#xff0c;DeepFM&#x…...

负载均衡安装配置详解

负载均衡&#xff08;Load Balancing&#xff09;是一种将网络流量分布到多个服务器上的技术&#xff0c;以提高系统的性能、可靠性和可扩展性。 在负载均衡中&#xff0c;有一个负载均衡器&#xff08;Load Balancer&#xff09;&#xff0c;它充当了传入请求的前置接收器。当…...

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&#xff1a;&Carlton tag&#xff1a;C topic&#xff1a;【C】多态原理剖析&#xff0c;Visual Studio开发人员工具使用查看类结构cl /d1 reportSingleClassLayout website:黑马程序员C tool&#xff1a;Visual Studio 2019 date&#xff1a;2023年7月24日 目…...

vue实现flv格式视频播放

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

iptables安全技术和防火墙

防火墙&#xff1a;隔离功能 位置&#xff1a;部署在网络边缘或主机边缘&#xff0c;在工作中&#xff0c;防火墙的主要作用是决定哪些数据可以被外网访问以及哪些数据可以进入内网访问&#xff0c;主要在网络层工作 其他类型的安全技术&#xff1a;1、入侵检测系统 2、入侵…...

微信小程序开发5

一、自定义组件-插槽 1.1、什么是插槽 在自定义组件的wxml结构中&#xff0c;可以提供一个<slot>节点(插槽)&#xff0c;用于承载组件使用者提供的wxml结构 1.2、单个插槽 在小程序中&#xff0c;默认每个自定义组件中允许使用一个<slot>进行占位&#xff0c;这种…...

【算法题】2681. 英雄的力量

题目&#xff1a; 给你一个下标从 0 开始的整数数组 nums &#xff0c;它表示英雄的能力值。如果我们选出一部分英雄&#xff0c;这组英雄的 力量 定义为&#xff1a; i0 &#xff0c;i1 &#xff0c;… ik 表示这组英雄在数组中的下标。那么这组英雄的力量为 max(nums[i0],n…...

fastutil简单测试下性能

前言 简单测试一下fastutil的实现和Java类库实现的速率。 使用jmh进行测试。 简单解释一下&#xff0c;每轮测试预热2次&#xff0c;每次1s&#xff1b;实测2次&#xff0c;每次1秒。 进行5轮测试。数组大小3种。 package fastutil;import it.unimi.dsi.fastutil.ints.IntArr…...

【FAQ】关于无法判断和区分用户与地图交互手势类型的解决办法

一&#xff0e; 问题描述 当用户通过缩放手势、平移手势、倾斜手势和旋转手势与地图交互&#xff0c;控制地图移动改变其可见区域时&#xff0c;华为地图SDK没有提供直接获取用户手势类型的API。 二&#xff0e; 解决方案 华为地图SDK的地图相机有提供CameraPosition类&…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...