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 ```python >>> print("hello world") hello world >>> a=3 >>> b="abc" >>> type(a) >>> type(b) >>> flag=True 逻辑类型 >>> print(flag); True >>> print(1==1); True >>> print(1!=1); False >>> b='abcder'; >>> b 'abcder' >>> type(b) 字符类型 >>> c=3 >>> c 3 >>> type(c) 整数型 >>> d=3.14 >>> d 3.14 >>> type(d) 浮点型 ```

三、数据集合

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

1、列表 list

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

(1)管理列表
javascript 复制代码
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]=newvalue

del list
python 复制代码
>>> 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、 元组
python 复制代码
>>> 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
python 复制代码
>>> a=3
>>> b=4
>>> 
[1]+  已停止               python3   #Ctrl+z退出
[root@localhost ~]# fg    #fg回去
python3
>>> a
3
>>> b
4
python 复制代码
if condition0:
    statement0
    if condition1:
        block1
    else:
        block2
else:
    statement1

root@localhost \~\]# vim py001.py ![](https://i-blog.csdnimg.cn/direct/ed8d8a63560c497290172dc9c629d213.png) \[root@localhost \~\]# python3 py001.py #必须缩进 File "py001.py", line 2 print("I\`am true") \^ IndentationError: expected an indented block \[root@localhost \~\]# vim py001.py ![](https://i-blog.csdnimg.cn/direct/06e1306ecd074812abab36f658298afc.png) \[root@localhost \~\]# python3 py001.py I\`am true ```python >>> if True: ... print("I`am true") File "", line 2 print("I`am true") ^ IndentationError: expected an indented block >>> if True: ... print("I`am true") ... else: ... print("I`am false") ... I`am true ```

(3)if多分枝
python 复制代码
if condition0:
    block0
elif condition1:
    block1
elif condition2:
    block1
...
else:
    block2
python 复制代码
>>> 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 ![](https://i-blog.csdnimg.cn/direct/e8fc5a916c3543fcad2e330097c108be.png) \[root@localhost \~\]# python3 py002.py 随机分数为: 67 及格 \[root@localhost \~\]# vim py003.py ![](https://i-blog.csdnimg.cn/direct/235633c734234012b66f63d741ca84f9.png) \[root@localhost \~\]# python3 py003.py 随机数为: 77 中等

(4)switch
2、循环语句
(1)for
python 复制代码
for var in list:
    print(var)

for i in range(101): #0-100
    n=n+i
    print(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 ![](https://i-blog.csdnimg.cn/direct/773bed2977ed496fa32b4144b37dd37c.png) \[root@localhost \~\]# python3 py004.py 5050 \[root@localhost \~\]# python -m pdb py004.py \> /root/py004.py(1)\() -\> n=0 (Pdb) (Pdb) n \> /root/py004.py(2)\() -\> for i in range(101): (Pdb) n \> /root/py004.py(3)\() -\> n=n+i (Pdb) n \> /root/py004.py(2)\() -\> for i in range(101): (Pdb) n \> /root/py004.py(3)\() -\> n=n+i

1.1在列表中遍历
python 复制代码
>>> 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在字典中循环遍历
python 复制代码
>>> 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在元组里面遍历
python 复制代码
>>> tup10=("a","b","e")
>>> for var in tup10:
...     print (var)
... 
a
b
e
3、 案例(0-100之间可以被7整除的数)
python 复制代码
>>> 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
python 复制代码
while condition:
    block
    #continue,break;   也可以应用于for
python 复制代码
>>> 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
相关推荐
wdxylb1 小时前
云原生俱乐部-shell知识点归纳(1)
linux·云原生
飞翔的佩奇1 小时前
【完整源码+数据集+部署教程】表盘指针检测系统源码和数据集:改进yolo11-CA-HSFPN
python·yolo·计算机视觉·数据集·yolo11·表盘指针检测
larance2 小时前
SQLAlchemy 的异步操作来批量保存对象列表
数据库·python
飞雪20072 小时前
Alibaba Cloud Linux 3 在 Apple M 芯片 Mac 的 VMware Fusion 上部署的完整密码重置教程(二)
linux·macos·阿里云·vmware·虚拟机·aliyun·alibaba cloud
路溪非溪2 小时前
关于Linux内核中头文件问题相关总结
linux
搏博2 小时前
基于Python3.10.6与jieba库的中文分词模型接口在Windows Server 2022上的实现与部署教程
windows·python·自然语言处理·flask·中文分词
木易双人青3 小时前
01-Docker-简介、安装与使用
运维·docker·容器
麦兜*3 小时前
Swift + Xcode 开发环境搭建终极指南
开发语言·ios·swiftui·xcode·swift·苹果vision pro·swift5.6.3
lxmyzzs4 小时前
pyqt5无法显示opencv绘制文本和掩码信息
python·qt·opencv
海绵不是宝宝8174 小时前
连接远程服务器上的 jupyter notebook,解放本地电脑
服务器·jupyter·github