Python3的安装及基础指令

Day 20

基础语法

1、环境:python2内置,安装并使用python3,最新版3.12版可以使用源码安装

# 查看python版本号

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

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

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

[root@python ~]# python3 --version

Python 3.6.8

# 进入python3的编辑状态

[root@python ~]# python3

Python 3.6.8 (default, Nov 14 2023, 16:29:52)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> print('hello world')

hello world

>>> a=3

>>> b='abc'

>>> type(a)

<class 'int'>

>>> type(b)

<class 'str'>

>>> quit()

>>> import os

>>> os.mkdir

<built-in function mkdir>

>>> os.listdir

<built-in function listdir>

# 修改pip镜像为清华,保证下载安装包去国内下载

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

Successfully installed some-package-0.1

2、数据类型和变量

1)三大类数据类型:

字符:字符串

>>> x='huajuan'

>>> x

'huajuan'

>>> type(x)

<class 'str'>

数值:整数(int)、浮点(float)

>>> c=3

>>> c

3

>>> type(c)

<class 'int'>

>>> type(c)

<class 'int'>

>>> d=3.14

>>> d

3.14

>>> type(d)

<class 'float'>

逻辑:True、False

>>> flag=True

>>> print(flag)

True

>>> print(1==1)

True

>>> print(1!=1)

False

2)变量:最终计算是在python内存中计算的,必须要指定内存空间保存数据

>>> name1='李四'

>>> name2='张三'

>>> name3='王五'

>>> print(name1, name2, name3) # 变量名

李四 张三 王五

3、数据集合:

1)定义:使用数据集合批量管理内存空间,即数据集合。

2)分类:

列表:使用最为广泛,是java中数组和list的综合体,当有多个数据需要管理可以定义一个列表。

# 通过上下方向、enter、空格键来翻阅信息,q退出,more less查看更多

help(lsita)

# 创建列表

>>> lista=['李四', '张三', '王五']

>>> type(lista)

<class 'list'>

# 插入元素insert;追加元素append

>>> listb.insert(1, 'huajuan') //在下标为1的位置插入元素

>>> listb

['tom', 'huajuan', 'jerry']

>>> listb.append('tomcat') //在所有元素之后添加

>>> listb

['tom', 'huajuan', 'jerry', 'tomcat']

>>> listb

# 删除使用pop(),默认从尾部删除

['tom', 'huajuan', 'jerry', 'tomcat']

>>> listb.pop()

'tomcat'

>>> listb

['tom', 'huajuan', 'jerry']

['tom', 'huajuan', 'jerry']

>>> listb.pop()

'jerry'

>>> listb

# 使用remoe移除指定元素

>>> listb.remove('tom')

>>> listb

['huajuan']

# 使用下标移除元素

>>> listb.remove(listb[0])

>>> listb

[]

# 修改元素

>>> listb[2]

'jerry'

>>> listb[2]='张三'

>>> listb[2]

'张三'

字典:使用key-value记录信息

# 新建

>>> dic={'name': 'huajuan', 'age': '21', 'gender': ' 女' 'phone': '1888'}

>>> dic

{'name': 'huajuan', 'age': '21', 'gender': '女', 'phone': '1888'}

# 新增

>>> dic['realname']='tangpin'

>>> dic

{'id': 1, 'username': 'abc', 'password': '123', 'realname': 'tangpin'}

>>> a=[1, 2, 4, 3, 5]

>>> dic['other']=a

>>> dic

{'username': 'abc', 'password': 'abc$_epl', 'realname': 'tangpin', 'other': [1, 2, 4, 3, 5]}

>>> 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, {...}]}

# 修改

>>> dic['password']='abc$_epl'

>>> dic

{'username': 'abc', 'password': 'abc$_epl', 'realname': 'tangpin'}

# 移除

>>> dic.pop('id')

1

>>> dic

{'username': 'abc', 'password': '123', 'realname': 'tangpin'}

>>>

# 取出所有的键

>>> dic.keys()

dict_keys(['username', 'password', 'realname', 'other'])

# 取出所有的值

>>> dic.values()

dict_values(['abc', 'abc$_epl', 'tangpin', [1, 2, 4, 3, 5]])

# 取出所有元素

>>> dic.items()

dict_items([('username', 'abc'), ('password', 'abc$_epl'), ('realname', 'tangpin'), ('other', [1, 2, 4, 3, 5])])

元组:有序,使用下标查看但不可修改,要修改将其强转为列表

>>> tup=(4, 5, 6, 7)

>>> tup[1]

5

>>> tup[1]=888

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: 'tuple' object does not support item assignment

>>> list(tup)

[4, 5, 6, 7]

list()看将dic的key生成一个列表;可把tuple()强转为列表;tuple可将dic和list变成元组

# 总结

|------------|-----------------------------------|--------------------------------------------|
| 功能 | 指令 | 说明 |
| 列表的创建 | [] | 符号本身就是列表 |
| 列表的创建 | list(元组) | 将元组转成列表 |
| 列表的创建 | list(字典) | 提取字典的key转成列表 |
| 字典取值 | 字典.keys() | 字典中的key返回⼀个列表 |
| 字典取值 | 字典.values() | 字典中的value组成的列表 |
| 字典取值 | 字典.items() | 字典中的每个k-v组成元组,这些元组组成一个新的列表 |
| 列表管理(增删该查) | list.insert(insex, value) | 在索引值为index的元素之前差 ⼈⼀个元素 |
| 列表管理(增删该查) | list.append(value) | 在所有元素之后添加⼀个元素 |
| 列表管理(增删该查) | list.[index]=value | 将索引为index元素的值修改为 value |
| 列表管理(增删该查) | list.pop() | 删除最后⼀个元素 |
| 列表管理(增删该查) | del dist | 释放list内存 |
| 查看列表 | list | 显示列表中的所有数据 |
| 查看列表 | list[index] | 返回索引值为index的元素 |
| 字典的创建 | {} | 代表一个空字典 |
| 字典的创建 | {k0: v0, k1: v1...} | 这是有初始值的列表 |
| 字典的创建 | dic{(k0, v0), (k1, v1), (k2, v2)} | []中的每个()中都有2个值,一个是key,一个是value,自动解析为一个字典 |
| 元组 | (),(1,2,3,4) | 创建空元组,创建有初始值的元组,也可以从dict中提 取,也可以将列表直接转成元组 |

# 编写py文件

vim test01.py

# 执 py脚本

python3 001.py

# 调试py脚本输入n回车执行下一行代码,输入q退出

python3 -m pdb test01.py

生成0~9内随机数

import random

n=random.randint(0, 10)

创建目录

import os

os.mkdir("/opt/aaa/")

4、选择语句和循环语句

1)选择语句

=======if...else...=====

>>> if True:

... print('i am true')

... else:

... print('i am false')

...

i am true

[root@python ~]# vim py001.py

[root@python ~]# python3 py001.py

i am true

if True:

print('i am true')

else:

print('i am false')

Ctrl + Z退出

[root@python ~]# fg //切换窗口

python3

=======单分支语句======

>>> n=58

>>> if n>90:

... print('优秀')

... elif n>80:

... print('良好')

... elif n>70:

... print('中等')

... elif n>60:

... print('及格')

... else:

... print('不及格')

...

不及格

[root@python ~]# vim test.py

import random

n=random.randint(0, 100)

print('随机分数为:', n)

if n>90:

print('优秀')

elif n>80:

print('良好')

elif n>70:

print('中等')

elif n>60:

print('及格')

else:

print('不及格')

[root@python ~]# python3 test.py

随机分数为: 57

不及格

[root@python ~]# python3 test.py

随机分数为: 40

不及格

[root@python ~]# python3 test.py

随机分数为: 11

不及格

=======多分支语句======

import random

n=random.ranint(50, 100)

print('rand:', n)

if n>90:

print('yx')

else:

if n>80:

print('lh')

else:

if n>70:

print('zd')

else:

if n>59:

print('jg')

else:

print('bjg')

2)循环语句

======for语句=======

>>> list(range(0, 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(1, 101): //不包含末尾值

... n=n+i

...

>>> print(n)

5050

[root@python ~]# vim test02.py

n=0

for i in range(101):

n=n+i

print(n)

[root@python ~]# python3 test02.py

5050

# 在列表中循环

>>> for var in ['a', 'b', 'c']:

... print(var)

...

a

b

c

>>> a=['e', 'f', 'g', 'h']

>>> for var in a:

... print(var)

...

e

f

g

H

# 在字典中循环,在字典中循环,此时 仅输出key

>>> d={'id': 1001, 'name': '花卷', 'age': 21, 'gender': '女'}

>>> for var in d:

... print(var)

...

id

name

age

gender

>>> for var in d:

... print(var, '-', d[var])

...

id - 1001

name - 花卷

age - 21

gender - 女

>>> for var in d.values():

... print(var)

...

1001

花卷

21

# 在元组中循环

>>> tupel0=('a', 'c', 'e')

>>> for var in tuple0:

... print(var)

=====案例=====

>>> b=list(range(101))

>>> 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整除

=======while语句=========

# 1~100的累加

>>> n=0

>>> i=1

>>> while i<101:

... n=n+i

... i=i+1

>>> n

5050

# break用法

>>> while True:

... print('aaa')

... break

...

aaa

# continue用法

>>> i=1

>>> while True:

... if i==3:

... continue

... print(i)

... i+=1

...

1

2 //只输出1、2然后卡住

相关推荐
土豆湿2 分钟前
拥抱极简主义前端开发:NoCss.js 引领无 CSS 编程潮流
开发语言·javascript·css
华清远见IT开放实验室6 分钟前
【每天学点AI】实战图像增强技术在人工智能图像处理中的应用
图像处理·人工智能·python·opencv·计算机视觉
运维&陈同学7 分钟前
【zookeeper01】消息队列与微服务之zookeeper工作原理
运维·分布式·微服务·zookeeper·云原生·架构·消息队列
是阿建吖!8 分钟前
【Linux】进程状态
linux·运维
界面开发小八哥9 分钟前
更高效的Java 23开发,IntelliJ IDEA助力全面升级
java·开发语言·ide·intellij-idea·开发工具
mqiqe30 分钟前
Elasticsearch 分词器
python·elasticsearch
明明跟你说过37 分钟前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump
qystca38 分钟前
洛谷 B3637 最长上升子序列 C语言 记忆化搜索->‘正序‘dp
c语言·开发语言·算法
薯条不要番茄酱38 分钟前
数据结构-8.Java. 七大排序算法(中篇)
java·开发语言·数据结构·后端·算法·排序算法·intellij-idea
今天吃饺子43 分钟前
2024年SCI一区最新改进优化算法——四参数自适应生长优化器,MATLAB代码免费获取...
开发语言·算法·matlab