2024.8.08(python)

news2024/11/15 21:31:59

  一、搭建python环境

1、检查是否安装python

[root@python ~]# yum list installed | grep python
[root@python ~]# yum list | grep python3

2、安装python3

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

安装3.12可以使用源码安装

3、查看版本信息

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

4、开发工具

        1. 安装自带的ide(集成开发工具)

        2.pycharm(付费)

        3.anaconda(数据分析)

5、修改pip为清华镜像 

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

二、python变量和数据类型

1、进入python的编辑状态

[root@python ~]# python3

>>> a=3
>>> b=4
>>> 
[1]+  已停止               python3    #ctrl+z退出
[root@python ~]# fg   #返回命令行
python3


>>> a
3
>>> b
4
2、三大数据类型
        1. 字符        字符串 str
        2. 数值        整数 int,浮点数 float
        3. 逻辑        True False(首字母必须大写)
>>> flag=True
>>> print(flag);
True
>>> print(1==1);
True
>>> print(1!=1);
False
>>> b='ll'
>>> b
'll'
>>> type(b)
<class 'str'>
>>> c=3
>>> c
3
>>> type(c)
<class 'int'>
>>> d=3.14
>>> d
3.14
>>> type(d)
<class 'float'>

>>> print("hello world!")
hello world!
>>> a=3
>>> b="abc"
>>> type(a)
<class 'int'>
>>> type(b)
<class 'str'>

三、数据集合

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

使用数据集合批量管理内存空间

​​​>>> name1="张三"
>>> name2="李四"
>>> name3="王五"
>>> print(name1,name2,name3)
张三 李四 王五
1、数据集合包括:
        1. 列表

                1.1 在python中使用最广泛的一个数据集合工具

                1.2 是java中数组和list的综合体

                1.3 list 当有多个数据需要管理,可以定义一个列表 

                1.5 管理列表

#创建列表  lista=[]  listb=[1,2,3]
>>> lista=["张三","李四","王五","赵六"]
>>> type(lista)
<class 'list'>
>>> lista
['张三', '李四', '王五', '赵六']
#python为开发提供了丰富的使用感手册
#通过上下方向。enter,space翻阅信息,按q推出查看 more list
>>> help(lista)   #获取帮助命令 按q退出
>>> listb=["tom","jerry"]
>>> listb
['tom', 'jerry']
#修改列表
#追加元素
>>> listb.append("tomcat");    #在所有元素之后添加数据   
>>> listb
['tom', 'jerry', 'tomcat']
#插入元素 listb.insert(pos,item) #在pos序列号之前插入item
>>> listb.insert(1,"laozhang")
>>> listb
['tom', 'laozhang', 'jerry', 'tomcat']
#删除元素 remove和pop
#list.pop()  删除list中的最后一个元素
>>> listb.pop()                #从后向前删除元素
'tomcat'
>>> listb
['tom', 'laozhang', 'jerry']
>>> listb.pop()
'jerry'
>>> listb.pop()
'laozhang'
>>> listb.pop()
'tom'
>>> listc=listb.pop()        #当在列表中删除或者修改一个元素时,列表会返回新的列表          
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: pop from empty list
>>> listb
[]
>>> listb.append("dhwiuh")
>>> listb.append("lisi")
>>> listb
['dhwiuh', 'lisi']
#list.remove(listb[index])   删除list中序号为index的元素
>>> listb.remove('lisi')   #指定元素移除
>>> listb
['dhwiuh']
>>> listb.remove(listb[0])   #指定序列号移除
>>> listb.append("lisi")
>>> listb.append("dhwiuh")
>>> listb[0]
'lisi'
>>> listb[1]
'dhwiuh'
>>> listb[2]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range  #下标越界
>>> listb.remove(listb[0])   #按序号删除
>>> listb
['dhwiuh']
#修改元素
>>> listb.append("jerry")
>>> print(listb)
['dhwiuh', 'jerry']
>>> listb[0]
'dhwiuh'
>>> listb[0]='tom'  #按序号直接修改
>>> print(listb)
['tom', 'jerry']
#del list 删除所有
        2. 字典

                2.1 dict

                2.2 dictionary

                2.3 key-value 键值对

                2.4 {"name":"","age":"","gender":"male"}

                2.5 键:值

{
    "from":"me"
    "to":"you"
    "message":"在干嘛"
    "time":"2024-7-8 9:00:32"
    "user":{
        "username":"abc"
        "password":"abc"    
    }
}
>>> dict0={
... "id":1,
... "username":"123"
... }
>>> dict0
{'id': 1, 'username': '123'}
>>> dict0["realname"]="zhangsan"
>>> dict0
{'id': 1, 'username': '123', 'realname': 'zhangsan'}   #字典
>>> dict0.pop("id")
1
>>> dict0
{'username': '123', 'realname': 'zhangsan'}
>>> dict0["password"]="123456"
>>> dict0
{'username': '123', 'realname': 'zhangsan', 'password': '123456'}
>>> a=[1,2,3]
>>> b={"username":'abc',"password":'123'}
>>> a.append(b)
>>> b["a"]=a
>>> a
[1, 2, 3, {'username': 'abc', 'password': '123', 'a': [...]}]
>>> b
{'username': 'abc', 'password': '123', 'a': [1, 2, 3, {...}]}
        3. 元组

                3.1 没有修改,只可以查看

                3.2 tuple[index]

                3.3 list[tuple]

                3.4 tuple(list)

功能指令说明
创建列表[]符号本身就是列表
list(元组)将元组转成列表
list(字典)提取字典中的key值转成列表
字典.keys()

字典中的key返回成一个列表

字典.values()字典中的values祖成列表
字典.items()字典中的k-y祖成元组,这些元组祖成一个新的列表
修改列表L.insert(index,value)在索引值为index的元素之前插入一个元素
L.append(value)在所有元素之后添加一个元素
L[index]=value将索引为index元素的值改为value
L.pop()删除最后一个元素

del L

释放L内存
查看列表L显示列表中的所有数据
L[index]返回索引值为index的元素
字典的创建{}本身代表一个空字典

{k0:v0,k1:v1...}

这是一个有初始值的列表
dict({(k0.v0),(k1,v1),(k2,v2)})[]中的每个()中都有两个值,一个是key一个是vlaue自动解析成一个字典
元组(),(1,2,3,4)创建空元组,创建有初始值的元组
也可从dict中提取,也可以将列表转换成元组

                        

#元组支持查看不支持修改
>>> tupl0=(1,2,3,4)
>>> tupl0
(1, 2, 3, 4)
>>> tupl0[0]
1
>>> tupl0[3]
4
>>> tupl0[1]=666   #不支持修改
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> list(tupl0)
[1, 2, 3, 4]
>>> aa=list(tupl0)    #变成列表可以修改
>>> aa
[1, 2, 3, 4]           #列表
>>> tuple(aa)          
(1, 2, 3, 4)           #元组
>>> dict1={"a":1,"b":2,"c":3}
#list()可以把dict的key生成一个列表
>>> dict1
{'a': 1, 'b': 2, 'c': 3}
>>> dict1.keys()
dict_keys(['a', 'b', 'c'])
>>> dict1.items()
dict_items([('a', 1), ('b', 2), ('c', 3)])
>>> list(dict1)
['a', 'b', 'c']
#list可以把tupl变成列表
#tupl可以把dic和list变成元组
>>> dict([("a",1),("b",2)])
{'a': 1, 'b': 2}


四、选择语句和循环语句

        1、选择语句
                1.if

                if condition:

                        statement0

                        if condition1:

                                statement2

                        else:

                else:

                        statement1

        [root@python ~]# vim py001.py     格式必须缩进

        

        [root@python ~]# python3 py001.py   执行脚本
        i am true

>>> if True:
...     print("i am true")
... else:
...     print("i am false")
... 
i am true
                  2. if多分支
>>> print("请输入你的选择")
请输入你的选择
>>> print("1.创建master,2.创建slave")
1.创建master,2.创建slave
>>> input("---:")
---:1
'1'
>>> n=input(""---:)
  File "<stdin>", line 1
    n=input(""---:)
                 ^
SyntaxError: invalid syntax
>>> n=input("---:")
---:2
>>> n
'2'

 [root@python ~]# vim py002.py

[root@python ~]# python3 py002.py
随机分数为: 50
不及格
[root@python ~]# python3 py002.py
随机分数为: 74
中等

>>> if n>90:
...     print("优秀")
... elif n>80:
...     print("良好")
... elif n>70:
...     print("中等")
... elif n>60:
...     print("及格")
... else:
...     print("不及格")
... 
不及格
                    3. if嵌套

                [root@python ~]# vim py003.py

                
                [root@python ~]# python3 py003.py
                随机数值: 66
                及格

                 4.switch 插槽
        2、循环语句
                1. for

                for var in list:

                        print(var)

>>> range(9)
range(0, 9)
>>> list(range(9))
[0, 1, 2, 3, 4, 5, 6, 7, 8]
>>> for i in range(9):
...     print(i)
... 
0
1
2
3
4
5
6
7
8
>>> n=0
>>> for i in range(100):  #0-99
...     n=n+i    #1-99数字累加
...     
... 
>>> n
4950
>>> for i in range(101):   #0-100
...     n=n+1
... 
>>> n
5051
>>> range(10)
range(0, 10)
>>> for i in range(1,10):
...     print(i)
... 
1
2
3
4
5
6
7
8
9
>>> # 在列表中循环
>>> for var in ["a","b","c"]:
...     print(var)
... 
a
b
c
>>> a=["b","c","d","h"]
>>> for var in a:
...     print(var)
... 
b
c
d
h
>>> #在字典中遍历
>>> d={"id":"1001",'name':'张三','age':18,'gender':'男'}
>>> d
{'id': '1001', 'name': '张三', 'age': 18, 'gender': '男'}
>>> for var in d:
...     print(var)   #将d字典中的key输出
...     #print(d[var])   #将key对应的value值输出
id
name
age
gender
>>> for var in d:
...     print(var,"-",d[var])
... 
id - 1001
name - 张三
age - 18
gender - 男
>>> for var in d.values():   #value
...     print(var)
... 
1001
张三
18
男
#在元组中遍历
>>> tupl0=("a","b","c")   #创建元组
>>> for var in tupl0:
...     print(var)
... 
a
b
c

[root@python ~]# vim py004.py


[root@python ~]# python3 py004.py
5050
[root@python ~]# python -m pdb py004.py   调试模式,按n下一步,按q退出

案例:输出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:

                        blocak

                        #continue(退出当前循环),break(退出整个循环);

>>> n=0
>>> i=1
>>> while i<101:
...     n+=i
...     i+=1
... 
>>> n
5050
>>> i=1
>>> n=0
>>> while True:   #死循环
...     print(i)
#break和continue也可用于for
>>> while True:
...     print("abc")
...     break
... 
abc
>>> while True:
...     print("abc")
...     continue    #死循环
>>> i=1
>>> while True:
...     if i==3:
...             continue
...     print(i)
...     i+=1         
... 
1
2          #之后都不输出

 


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1993815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++(类和对象.下)

类型转换 先给出以下代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; class B { private:int _a1; public:B(int a){_a1 a;}void Print() {cout << _a1<< endl;} }; int main() {//实例化对象1B b(1);b.Pri…

video-retalking部署安装,在服务器Ubuntu22.04系统下

video-retalking部署安装&#xff0c;在服务器Ubuntu22.04系统下 一、ubuntu基本环境配置1.更新包列表&#xff1a;2. 安装英伟达显卡驱动2.1 使用wget在命令行下载驱动包2.2 更新软件列表和安装必要软件、依赖2.2 卸载原有驱动2.3 安装驱动2.4 安装CUDA2.5 环境变量配置 二、安…

基于YOLOv10深度学习的交通信号灯检测识别系统【python源码+Pyqt5界面+数据集+训练代码】红绿灯检测、目标检测、人工智能

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

易语言窗口1以及其它子窗口在任务栏显示的方法以及源代码

大家都知道在启动子程序中载入窗口里&#xff0c;窗口就不在任务栏中显示了 用什么办法可以解决这个问题呢 本例程教源码教你如何解决

零拷贝:原理与实现

1. 简介 I/O 或输入/输出通常意味着中央处理器 (CPU) 与外部设备&#xff08;如磁盘、鼠标、键盘等&#xff09;之间的读写。在深入研究零拷贝之前&#xff0c;有必要指出磁盘 I/O&#xff08;包括磁盘设备和其他块导向设备&#xff09;和网络 I/O 之间的区别。 磁盘 I/O 的常…

Vue3简单介绍和快速体验

目录 前言 1. Vue3介绍 1.1 Vue的两个核心功能&#xff1a; 1.2 Vue作者介绍 2. Vue3快速体验(非工程化方式) 2.1 所有代码 2.2 导入js 2.3 一些基本指令 2.4 app对象的创建和挂载 ​ 前言 在学习Vue3之前,自己已经学习过的vue2了,在学习Vue3后还是能感觉到2和3在使用…

媒体资讯视频数据采集-yt-dlp-python实际使用-下载视频

对于视频二创等一些业务场景&#xff0c;可能要采集youtube等的相关媒体视频资源&#xff0c;使用[yt-dlp](https://github.com/yt-dlp/yt-dlp)是一个不错的选择&#xff0c;提供的命令比较丰富&#xff0c;场景比较全面yt-dlp 是一个用 Python 编写的命令行工具&#xff0c;主…

数据结构和算法|递归算法那些事(递归算法的时间复杂度和尾递归优化)

对于文章的第一部分&#xff0c;递归算法的时间复杂度&#xff0c;来自于代码随想录文章:通过一道面试题目&#xff0c;讲一讲递归算法的时间复杂度&#xff01; 对于第二节尾递归优化来自于B站&#xff1a;尾递归优化&#xff1a;你的递归调用是如何被优化的&#xff1f; 关于…

什么是占空比?什么是周期?什么是频率?

一、什么是占空比&#xff1f; 占空比(Duty Cycle)是脉冲信号中高电平持续时间与整个周期时间的比率。它通常用于描述脉冲宽度调制(PWM)信号&#xff0c;其中信号在一定频率下在高电平和低电平之间切换。 图1.1 60%占空比信号 占空比计算公式如下&#xff1a; 脉冲高电平持续时…

护眼首选,一线智联!AOC Q27E12C商用显示器,摆脱束缚高效办公!

摘要&#xff1a;QHD广色域护眼显示器&#xff0c;减负提效商务利器&#xff01; 不管是日常处理报表、制作方案还是进行文字创作、设计剪辑&#xff0c;都离不开商用显示器的身影。相较于传统显示器&#xff0c;商用显示器往往更有助于减负提效&#xff0c;提高企业生产力&am…

开源24Mhz采样逻辑分析仪-信息搜集

引用&#xff1a; 开源4Mhz采样逻辑分析仪-信息搜集&#xff1a; Sigrok逻辑分析仪软件(基于CY7C68013A)-CSDN博客 迷你逻辑分析仪TYPE C接口单片机ARM FPGA调试工具24M采样8通道_逻辑分析仪24m能测stm32吗-CSDN博客 nanoDLA逻辑分析仪上手教程-CSDN博客 基于cy7c68013的逻…

嵌入式初学-C语言-练习四

一维数组练习题 1.键盘录入一组数列&#xff0c;利用冒泡排序将数据由大到小排序 代码&#xff1a; 1 /*2 需求&#xff1a;一维数组案例-冒泡排序3 */4 #include <stdio.h>5 6 int main()7 {8 //创建一个数组&#xff0c;用来存储排序的数列9 int arr[10];1…

Redis远程字典服务器(2) —— 全局命令

一&#xff0c;使用官方文档 学会使用文档&#xff0c;是一个优秀程序员的必备技能。Redis的命令非常多&#xff08;上百个&#xff09;&#xff0c;因为Redis是通过键值对存储数据的&#xff0c;key为string类型&#xff0c;但是value可以是其它的数据类型&#xff08;字符串…

javascript-动态增加和删除表格的行

本地环境&#xff1a;win10 / centos6 &#xff0c; python3 实现效果 点击添加峰图按钮即可增加一行&#xff0c;点击每行右侧的删除按钮即可删除行。 初始状态&#xff1a; 点击后&#xff1a; 实际生成的html内容类似下图&#xff0c;可以看到&#xff0c;只有id这样需要…

VMware capacity mismatch for disk错误解决办法

因为业务或者学习很多时候我们要用到虚拟机&#xff0c;当我们使用vmware去打开VirtualBox导出的文件虚拟机镜像时会发生capacity mismatch for disk错误&#xff0c;同时在网上查询没有完整通俗易懂的解决方案&#xff0c;我本人也遇到了这个错误&#xff0c;经过测试以后写下…

arcgis server 发布地图服务相关问题

地图类型选择feature access 发布后&#xff0c;存在个别图层失败&#xff0c; 配置符号后&#xff0c;发布地图服务时&#xff0c;选择了Map Server 和Feature Access后&#xff0c;地图发布成功&#xff0c;但是对于feature server 类型中部分图层失败&#xff0c;在服务目录…

【题解】【数学】—— [CSP-J2019 江西] 次大值

【题解】【数学】—— [CSP-J2019 江西] 次大值 [CSP-J2019 江西] 次大值题目描述输入格式输出格式输入输出样例输入 #1输出 #1输入 #2输出 #2输入 #3输出 #3 提示 解法1.暴力枚举(非正解)1.1.题意分析1.2.代码 解法2.总结规律(正解)2.1.题意分析2.1.1.解题思路2.2.2.功能拆解 …

5个适用于Linux系统的PDF转Word工具

凭借其跨平台和设备的统一标准、兼容性和规模小巧等主要优点&#xff0c;可携带文档格式&#xff08;PDF&#xff09;可谓最主流的文件格式之一。 市面上有许多查看PDF文件的强大工具&#xff0c;因此所有Linux系统的用户都可以根据自身喜好找到合适的PDF查看工具。然而&#x…

三星、小米和 OPPO设备实验室将采用Android设备流技术

早在 5 月份的年度开发者大会上&#xff0c;Google就发布了 Android 设备流测试版。开发人员可以在Google数据中心的真实物理设备上更轻松、更互动地测试自己的应用程序&#xff0c;这些设备会直接串流到 Android Studio。今天&#xff0c;Google宣布与三星、小米和 OPPO 合作扩…

染色法+组合数学,CF 557D - Vitaly and Cycle

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 557D - Vitaly and Cycle 二、解题报告 1、思路分析 t 的取值范围为&#xff1a;[0, 3] 0&#xff1a;本身有奇环&#xff0c;样例说明方案为1 1&#xff1a;存在偶数长度路径&#xff0c;连接一下就行&a…