Python入门知识点总结,Python三大数据类型、数据结构、控制流
off999 2024-09-29 16:15 18 浏览 0 评论
Python基础的重要性不言而喻,是每一个入门Python学习者所必备的知识点,作为Python入门,这部分知识点显得很庞杂,内容分支很多,大部分同学在刚刚学习时一头雾水。
本节将Python的知识点进行总结与归纳,节选部分在数据分析过程中用到比较多的一些知识,例如字符串、列表、元组、字典等的用法,以及控制流if、for、while的用法,下面一起来学习。
Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python基础知识包含Python数据类型,数据结构,控制流等,与其他高级语言类似,顺序语句、条件语句、循环语句等是其基本结构。
1.Python基本命令
1.1 列出已安装的包
pip list
1.2 查看可升级的包
pip list -o
1.3 安装包
pip install SomePackage # 最新版本
pip install SomePackage==1.5.0 # 指定版本
1.4 镜像站安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
1.5 升级包
pip install --upgrade SomePackage # 升级至最新版本
pip install --upgrade SomePackage==1.5.0 # 升级为指定版本
1.6 卸载包
pip uninstall SomePackage
#导入sys库只是为了确认一下Python的版本
import sys
#导入pandas
import pandas as pd
import numpy
import matplotlib
print('Python 版本为:' + sys.version)
print('Pandas 版本为:' + pd.__version__)
print('Numpy 版本为:' + pd.__version__)
print('Matplotlib 版本为:' + matplotlib.__version__)
2.变量与保留字
2.1 变量
变量相当于一个内存容器,可以指定存入不同的数据类型,可以是整数,小数或字符。
#Jupyter notebook打印多个变量结果
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity='all'
使用如上的代码可以使得变量结果多行显示。
name = "大话数据分析" # 字符串
age = 18 # 赋值整型变量
height = 178.4 # 浮点型
name
age
height
2.2 保留字
Python中的保留字不能用作变量名称,常见的Python保留字如下所示。
import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
3. 三大数据类型
3.1 str
3.1.1 初识字符串
# 字符串定义
a = 'hello world'
a
'hello world'
type(a)#类型
len(a)#长度
str
Out[82]:11
3.1.2 索引和切片
使用[头下标:尾下标]来切片,其中下标是从 0 开始算起,切片的范围前闭后开,表示方括号的左边可以切切到,而右边切不到。
# 切片索引
a[0:5],a[:5]
('hello', 'hello')
a[:],a[::1]
('hello world', 'hello world')
#负号代表从右边开始截取,这里表示取反
a[::-1]
'dlrow olleh'
3.1.3 方法
'-'.join(a)
a.replace('world','boy')
a.zfill(15)#返回指定长度的字符串,原字符串右对齐,前面填充0
today=['2015','10','15']
print("-".join(today))
'h-e-l-l-o- -w-o-r-l-d'
Out[6]:'hello boy'
Out[6]:'0000hello world'
2015-10-15
a.count('o') #字符串计数
a.index('o') #字符串索引
a.find('o') #字符串查找
a.capitalize()#首字母大写
a.title() #设置为标题
a.upper() #字母大写
a.lower() #字母小写
a.startswith('h') #开头包含的字符
2
Out[70]:4
Out[70]:4
Out[70]:'Hello world'
Out[70]:'Hello World'
Out[70]:'HELLO WORLD'
Out[70]:'hello world'
Out[70]:True
s = '**2021/12/16**'
s.strip('*')#去除头和尾部字符
s.lstrip('*')#去除左边字符
s.rstrip('*')#去除右边字符
s.strip('*').split('/') #去除头和尾部字符,并按照/分隔开
'2021/12/16'
'2021/12/16**'
'**2021/12/16'
['2021', '12', '16']
3.1.4 字符运算
# 运算符运算:+ 和 *
s = '大话数据分析'
'Hello' + ' ' + s
s * 3
'Hello 大话数据分析'
'大话数据分析大话数据分析大话数据分析'
3.2 int
num = 10
print(type(num))
#基本的算术运算
print('加法:',num + 2)
print('减法:',num - 2)
print('乘法:',num * 2)
print('除法',num / 2)
print('地板除法',num // 2)
print('幂运算',num ** 2)
print('余数',num % 2)
加法: 12
减法: 8
乘法: 20
除法 5.0
地板除法 5
幂运算 100
余数 0
#算术运算的顺序,先计算括号里边的内容,再乘除后加减
print(num * (2 + 1))
30
#数字自增长
num = 10
num = num + 1
print(num)
#或者+=方式
num = 10
num += 1
print(num)
#数字自乘积
num = 10
num = num * 5
print(num)
#使用*=
num = 10
num *= 5
print(num)
11
11
50
50
3.3 float
num = 10.01
print(type(num))
<class 'float'>
#基本的算术运算
print('加法:',num + 2)
print('减法:',num - 2)
print('乘法:',num * 2)
print('除法',num / 2)
print('地板除法',num // 2)
print('幂运算',num ** 2)
print('余数',num % 2)
加法: 12.01
减法: 8.01
乘法: 20.02
除法 5.005
地板除法 5.0
幂运算 100.20009999999999
余数 0.009999999999999787
#算术运算的顺序,先计算括号里边的内容,再乘除后加减
print(num * (2 + 1))
30.03
#数字自增长
num = 10.0
num = num + 1
print(num)
#或者+=方式
num = 10.0
num += 1
print(num)
#数字自乘积
num = 10.0
num = num * 5
print(num)
#或者*=
num = 10.0
num *= 5
print(num)
11.0
11.0
50.0
50.0
3.4 类型转化
str,int,float数据类型相互转化。
#将string内容为数字,字符串相连
num1 = '10'
num2 = '20'
num3 = '30.0'
print('字符串相连:',num1+num2+num3)
#使用int()函数将字符型转换为int,float函数将字符型转换为float
num1_int = int(num1)
num2_int = int(num2)
num3_int = int(float(num3))
print('数值相加:',num1_int + num2_int + num3_int)
字符串相连:102030.0
数值相加:60
4. 三大数据结构
4.1 列表
4.1.1 初识列表
列表是 Python 中使用最频繁的数据类型,列表中的每个元素都可变的,可以对每个元素进行修改和删除,且列表是有序的,每个元素的位置是确定的,可以用索引去访问每个元素,并且,列表中的元素可以是Python中的任何对象,比如字符串、整数、元组、也可以是list等Python中的对象。
# 列表定义
lst = [1,2,3,4,5,6,7,8,9]
lst
[1, 2, 3, 4, 5, 6, 7, 8, 9]
lst = list(range(5))
lst
[0, 1, 2, 3, 4]
# 类型和长度
type(lst)
len(lst)
4.1.2 索引和切片
使用[头下标:尾下标]来截取部分字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
# 索引
lst = [1,2,3,4,5,6,7,8,9]
lst[0]
lst[-1]
9
# 切片
lst[0:4]
lst[:4]
lst[0:4:1]
lst[:]
lst[::-1]
[0, 1, 2, 3]
[0, 1, 2, 3]
[0, 1, 2, 3]
[0, 1, 2, 3, 4]
[4, 3, 2, 1, 0]
lst[::1] #缺省为1,默认间隔一个位置提取
lst[::2] #步长为 2(间隔一个位置)来截取
[0, 1, 2, 3, 4]
[0, 2, 4]
4.1.3 方法
# append,列表末尾添加新的对象
lst = [0,1,2,3,4]
lst.append(5)
lst
[0, 1, 2, 3, 4, 5]
#extend合并列表内容
lst = [0,1,2,3,4]
lst.extend([5])
lst
[0, 1, 2, 3, 4, 5]
#insert指定位置插入数据
lst = [0,1,2,3,4]
lst.insert(1,5)
lst
[0, 5, 1, 2, 3, 4]
lst = [0,1,2,3,4]
lst.copy()
[0, 1, 2, 3, 4]
# remove
lst = [0,1,2,3,4]
lst.remove(4)
lst
[0, 1, 2, 3]
# count,index
lst = [7,8,5,4,3,3,5,6,7,5]
lst.count(5)
lst.index(3)
3
4
# 默认升序排列
lst = [7,8,5,4,3,3,5,6,7,5]
lst.sort()
lst
[3, 3, 4, 5, 5, 5, 6, 7, 7, 8]
4.1.4 列表运算
# 运算符运算:+ 和 *
lst = [1,2,3,4]
lst + [3,4,5]
lst * 2
[1, 2, 3, 4, 3, 4, 5]
[1, 2, 3, 4, 1, 2, 3, 4]
4.2 元组
元组可理解为一个固定列表,一旦初始化其中的元素便不可修改,只能对元素进行查询。
4.2.1 初识元组
# 元组的定义
t = (0, 1, 2, 3, 4)
t
(0, 1, 2, 3, 4)
t = tuple(range(5))
t
(0, 1, 2, 3, 4)
# 属性和长度
type(t)
len(t)
tuple
Out[8]:5
4.2.2 索引和切片
# 索引
t = (0, 1, 2, 3, 4)
t[0]
t[1]
t[-1]
0
1
4
# 切片
t = (0, 1, 2, 3, 4)
t[0:4]
t[:4]
t[0:4:1]
(0, 1, 2, 3)
Out[10]:(0, 1, 2, 3)
Out[10]:(0, 1, 2, 3)
t = (0, 1, 2, 3, 4)
t[:]
t[::-1]
(0, 1, 2, 3, 4)
Out[14]:(4, 3, 2, 1, 0)
t = (0, 1, 2, 3, 4)
t[::1]
t[::2]
(0, 1, 2, 3, 4)
Out[13]:(0, 2, 4)
# count---index
t = (2, 1, 2, 4, 2)
t.count(2)
t.index(2)
t.index(4)
3
Out[16]:0
Out[16]:3
4.2.3 元组运算
# 运算符运算:+ 和 *
t = (1, 2, 3, 4)
t + (4,5,6)
t * 2
(1, 2, 3, 4, 4, 5, 6)
Out[17]:(1, 2, 3, 4, 1, 2, 3, 4)
4.3 字典
字典中的数据必须以键值对的形式出现,其中,键是唯一的,不可重复,值可重复,字典中键(key)是不可变的,为不可变对象,不能进行修改;而值(value)是可以修改的,可以是任何对象。
4.3.1 初识字典
# 字典的定义: 键值对
d = {'a':10,'b':20,'c':30}
d
{'a': 10, 'b': 20, 'c': 30}
# 属性和长度
d = {'a':10,'b':20,'c':30}
type(d)
len(d)
4.3.2 索引和切片
# 索引
d = {'a':10,'b':20,'c':30}
d['b']
20
4.3.3 方法
# keys---values---items
d = {'a':10,'b':20,'c':30}
d.keys()
d.values()
d.items()
dict_keys(['a', 'b', 'c'])
Out[24]:dict_values([10, 20, 30])
Out[24]:dict_items([('a', 10), ('b', 20), ('c', 30)])
# update
d = {'a':10,'b':20,'c':30}
d.update({'d':40})
d
# pop
d = {'a':10,'b':20,'c':30}
d.pop('a')
# get
d = {'a':10,'b':20,'c':30}
d.get('b')
5. 三大控制流
5.1 if语句
当 if "判断条件" 成立时,则执行后面的语句,else 为可选语句,当条件不成立时可以执行该语句。
#if...else语句
score = 60
if score <60:
print('不及格')
print('还需要在努力!')
else:
print('很棒!及格了')
很棒!及格了
#if...elif语句
score = 75
if score <60:
print('不及格')
print('还需要在努力!')
elif score <70:
print('成绩:{}'.format('及格'))
elif score <80:
print('成绩:{}'.format('中等'))
elif score <90:
print('成绩:{}'.format('良好'))
elif score <100:
print('成绩:{}'.format('优秀'))
成绩:中等
5.2 while语句
在某特定条件下,循环执行某命令。
#while
a = 0
i = 100
while i < 100:
a=a+i
i=i+1
print(a)
5050
5.3 while……else……语句
else中的语句会在循环正常执行完(即不是通过break跳出而中断的)的情况下执行。
#while…else…
a = 1
b = 1
while a > b:
print(a)
else:
print('数值大小相等')
数值大小相等
#while…if…else…
a = 1
b = 1
while a > b:
print(a)
if a < b:
print(b)
else:
print('数值大小相等')
数值大小相等
#break 语句,跳出当前循环,结束语句
a = 10
b = 50
while a < b:
print(b)
a += 10
a = 10
b = 50
while a < b:
print(b)
a += 10
break
5.4 for 循环语句
对集合(如列表或元组)或迭代器进行迭代。
range函数用于产生一组间隔相等的整数序列的可迭代对象,可以指定起始值、终止值以及步长,常用于按索引对序列进行迭代。
a=0
for i in range(1,101):
a = a+i
print(a)
5050
#for
for i in range(1,5):
print(i * 10)
10
20
30
40
#for…if…else…
for i in range(1,5):
if i < 3:
print(str(i) + 'Python')
else:
print(str(i) + 'Java')
1Python
2Python
3Java
4Java
for i in range(1,5):
print(i)
if i > 2:
break
1
2
3
5.5循环控制语句
- break:结束(终止)循环
- continue:中止当前循环,跳到下一次循环的开始
- while true/break:实现一个永远不会自己停止的循环
- else:在使用break时,可以使用else语句在没有调用break时执行对应的语句
- pass:不做任何事情,一般用做占位语句
for a in 'This is Python!':
if a == ' ':
pass
print('passed!')
break
print(a)
相关推荐
- Python钩子函数实现事件驱动系统(created钩子函数)
-
钩子函数(HookFunction)是现代软件开发中一个重要的设计模式,它允许开发者在特定事件发生时自动执行预定义的代码。在Python生态系统中,钩子函数广泛应用于框架开发、插件系统、事件处理和中...
- Python函数(python函数题库及答案)
-
定义和基本内容def函数名(传入参数):函数体return返回值注意:参数、返回值如果不需要,可以省略。函数必须先定义后使用。参数之间使用逗号进行分割,传入的时候,按照顺序传入...
- Python技能:Pathlib面向对象操作路径,比os.path更现代!
-
在Python编程中,文件和目录的操作是日常中不可或缺的一部分。虽然,这么久以来,钢铁老豆也还是习惯性地使用os、shutil模块的函数式API,这两个模块虽然功能强大,但在某些情况下还是显得笨重,不...
- 使用Python实现智能物流系统优化与路径规划
-
阅读文章前辛苦您点下“关注”,方便讨论和分享,为了回馈您的支持,我将每日更新优质内容。在现代物流系统中,优化运输路径和提高配送效率是至关重要的。本文将介绍如何使用Python实现智能物流系统的优化与路...
- Python if 语句的系统化学习路径(python里的if语句案例)
-
以下是针对Pythonif语句的系统化学习路径,从零基础到灵活应用分为4个阶段,包含具体练习项目和避坑指南:一、基础认知阶段(1-2天)目标:理解条件判断的逻辑本质核心语法结构if条件:...
- [Python] FastAPI基础:Path路径参数用法解析与实例
-
查询query参数(上一篇)路径path参数(本篇)请求体body参数(下一篇)请求头header参数本篇项目目录结构:1.路径参数路径参数是URL地址的一部分,是必填的。路径参...
- Python小案例55- os模块执行文件路径
-
在Python中,我们可以使用os模块来执行文件路径操作。os模块提供了许多函数,用于处理文件和目录路径。获取当前工作目录(CurrentWorkingDirectory,CWD):使用os....
- python:os.path - 常用路径操作模块
-
应该是所有程序都需要用到的路径操作,不废话,直接开始以下是常用总结,当你想做路径相关时,首先应该想到的是这个模块,并知道这个模块有哪些主要功能,获取、分割、拼接、判断、获取文件属性。1、路径获取2、路...
- 原来如此:Python居然有6种模块路径搜索方式
-
点赞、收藏、加关注,下次找我不迷路当我们使用import语句导入模块时,Python是怎么找到这些模块的呢?今天我就带大家深入了解Python的6种模块路径搜索方式。一、Python模块...
- 每天10分钟,python进阶(25)(python进阶视频)
-
首先明确学习目标,今天的目标是继续python中实例开发项目--飞机大战今天任务进行面向对象版的飞机大战开发--游戏代码整编目标:完善整串代码,提供完整游戏代码历时25天,首先要看成品,坚持才有收获i...
- python 打地鼠小游戏(打地鼠python程序设计说明)
-
给大家分享一段AI自动生成的代码(在这个游戏中,玩家需要在有限时间内打中尽可能多的出现在地图上的地鼠),由于我现在用的这个电脑没有安装sublime或pycharm等工具,所以还没有测试,有兴趣的朋友...
- python线程之十:线程 threading 最终总结
-
小伙伴们,到今天threading模块彻底讲完。现在全面总结threading模块1、threading模块有自己的方法详细点击【threading模块的方法】threading模块:较低级...
- Python信号处理实战:使用signal模块响应系统事件
-
信号是操作系统用来通知进程发生了某个事件的一种异步通信方式。在Python中,标准库的signal模块提供了处理这些系统信号的机制。信号通常由外部事件触发,例如用户按下Ctrl+C、子进程终止或系统资...
- Python多线程:让程序 “多线作战” 的秘密武器
-
一、什么是多线程?在日常生活中,我们可以一边听音乐一边浏览新闻,这就是“多任务处理”。在Python编程里,多线程同样允许程序同时执行多个任务,从而提升程序的执行效率和响应速度。不过,Python...
- 用python写游戏之200行代码写个数字华容道
-
今天来分析一个益智游戏,数字华容道。当初对这个游戏颇有印象还是在最强大脑节目上面,何猷君以几十秒就完成了这个游戏。前几天写2048的时候,又想起了这个游戏,想着来研究一下。游戏玩法用尽量少的步数,尽量...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python自定义函数 (53)
- python进度条 (67)
- python吧 (67)
- python字典遍历 (54)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python串口编程 (60)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python字典增加键值对 (53)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python人脸识别 (54)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)