当前位置: 首页 > 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类&…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...