Python基础语法及应用

 一、基本数据类型及应用

1、基本数据

(1)整数(int)

在 Python 中,整数是一种基本的数据类型,用于表示没有小数部分的数字,整数没有固定的最大值,可以根据系统内存动态调整。Python 3 中有两种整数类型:

int:普通整数类型。
long:长整数类型,在 Python 2 中使用,Python 3 中的 int 类型可以自动转换为长整数。

 实例:

a=2
b=4
d="5"
c=int(d)     #强制转化:将字符串转化为整型
print(b/a)   #输出:2.0
print(c//a)  #输出:2
print(c%a)   #输出:1
print(a**b)  #输出:16
(2)浮点数(float)

在 Python 中,浮点数是一种表示有小数部分的数字的数据类型。Python 中的浮点数遵循 IEEE 754 标准,通常以双精度格式存储(即64位)。表示带有小数点的数值,如 3.14、-0.5 等。

实例:

a=6.66666
b=4
d="2.5"
z = 6.02e3       #6.02x10^3
c=float(d)       #强制转化:将字符串转化为浮点型
print(b*c)       #输出:10.0
print(z)         #输出:6020.0
k=round(a*c,3)   #两小数相乘,保留三位小数(会四舍五入)
print(k)         #输出:16.667
(3)布尔值(bool)

在 Python 中,布尔值是一种表示真(True)或假(False)的数据类型。布尔类型通常用于逻辑判断和条件控制,例如在条件语句(if 语句)、循环语句等中使用,只有两个取值 True 和 False。

任何非零、非空、非空字符串、非空列表等都会被视为 True,而零、空、空字符串、空列表等会被视为 False。

 实例:

print(3==4)             #输出: false
print(3!=4)             #输出: true
print(3>4)              #输出: false
print(4<=4)             #输出: true
print(3==4 or 4==4)     #输出: true
print(3==4 and 4==4)    #输出: false
print(not 3==4)         #输出: true
print(bool(0))          #输出: false
print(bool(""))         #输出: false
print(bool("123"))      #输出: true
(4)字符串(str)

在 Python 中,字符串是一种不可变的数据类型,用于表示文本数据。字符串可以使用单引号(' ')或双引号(" ")来定义。

实例:

name="hello"
name_1='world'
print(name+","+name_1)            # 输出: hello,world
print(name[1])                    # 输出: e
print(name[1:4])                  # 输出: ell
print(f"who: {name}")             # 输出: who: hello
print("who: {}".format(name_1))   # 输出: who: world
s = "  Hello, World!  "
print(s.upper())                  # 转换为大写
print(s.strip())                  # 去除首尾空格
words = s.split(',')              # 按逗号分割字符串
new_string = '-'.join(words)      # 用破折号连接字符串列表
print(new_string)                 # 输出:   Hello- World!
name_2="MathMode"
age=16
print("Name: %s, Age: %d" % (name_2, age))    # 输出:Name: MathMode, Age: 16
(5)列表(list)

Python 中的列表(List)是一种有序、可变的数据结构,用于存储一组元素。列表可以包含任意类型的元素,包括数字、字符串、对象等,并且可以根据需要进行动态增加、删除和修改。

实列:

my_list = [1, 2, 3, 4, 5]
you_list = ["you", "list"]
print(my_list[2])                          # 输出:3   获取第三个元素
print(len(my_list))                        # 输出:5   得到list长度
print(my_list[1:3])                        # 输出:[2,3]   获取索引1到2的子列表
you_list.append(8)                         # 向list末尾添加元素
print(you_list)                            # 输出:['you', 'list', 8]
squares = [x ** 2 for x in range(1, 5)]    # 创建一个包含 1 到 4 平方值的列表
print(squares)                             # 输出:[1, 4, 9, 16]
new_list=my_list+you_list                  # 连接两个列表
print(new_list)                            # 输出:[1, 2, 3, 4, 5, 'you', 'list', 8]
new_my_list=my_list*2                      # 重复列表元素
print(new_my_list)                         # 输出:[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
(6)元组(tuple)

在 Python 中,元组(Tuple)是一种有序、不可变的数据结构,用于存储一组元素。与列表不同,元组一旦创建就无法修改,也就是说元组是不可变的。由于元组是不可变的,因此不能对元组进行添加、删除或修改操作,但可以通过拼接等方式生成新的元组。

实例:

my_tuple = (1, 2, 3, 4)
print(my_tuple[1])                          # 输出: 2    获取第二个元素
print(my_tuple.index(2))                    # 输出: 1    获取元素为2的索引
a, b, c, d = my_tuple                       # 将元组中的元素分别赋值给变量 a, b, c
print(a,b,c,d)                              # 输出: 1 2 3 4
new_tuple = my_tuple + (3, 4, 5, 6, 7, 8)   # 拼接两个元组生成新的元组
print(new_tuple)                            # 输出:(1, 2, 3, 4, 3, 4, 5, 6, 7, 8)
print(new_tuple.count(3))                   # 输出:2    统计元素为2的数量
(7)集合(set)

在 Python 中,set(集合)是一种无序且元素唯一的集合数据类型。它类似于数学中的集合概念,可以用于执行各种集合操作,如并集、交集、差集等。用于存储无序、唯一元素的数据结构。

实例:

my_set = {1, 2, 3, 4, 5,5}
you_set = set([4,5,5,6,7,8,9])
print(my_set)                # 输出:{1, 2, 3, 4, 5}
print(you_set)               # 输出: {4, 5, 6, 7, 8, 9}
print(my_set | you_set)      # 输出:{1, 2, 3, 4, 5, 6, 7, 8, 9}   并集
print(my_set & you_set)      # 输出:{4, 5}                        交集
print(my_set - you_set)      # 输出:{1, 2, 3}                     差集
print(my_set ^ you_set)      # 输出:{1, 2, 3, 6, 7, 8, 9}         对称差集

my_set.add(10)               # 向集合中添加单个元素
you_set.update([10,11])      # 向集合中添加多个元素
my_set.remove(2)             # 移除集合中的指定元素,如果元素不存在则引发 KeyError 异常
you_set.discard(7)           # 移除集合中的指定元素,如果元素不存在也不会引发异常。
print(my_set)                # 输出:{1, 3, 4, 5, 10}
print(you_set)               # 输出:{4, 5, 6, 8, 9, 10, 11}
my_set.clear()               # 清空集合中的所有元素
(8)字典(dict)

在 Python 中,字典(Dictionary)是一种无序的数据结构,用于存储键-值(key-value)对。字典是可变的,可以动态地添加、删除和修改其中的元素。键(key)唯一,值(value)可以不唯一。

实例:

my_dict={"name": "MathMode", "age": 20, "city": "classroom", "sex": "man"}
print(my_dict["name"])                  # 输出: MathMode   通过键(key)访问值(value)
my_dict["grade"] = "CET-4"              # 添加新的键-值对
del my_dict["city"]                     # 删除键为 "city" 的键-值对
for key in my_dict:                     # 遍历字典
    print(key, my_dict[key])
my_dict["age"] = 31                     # 修改键 "age" 对应的值
for key, value in my_dict.items():      # 遍历字典
    print(key, value)
value = my_dict.pop("age")              # 删除并返回键为 "age" 的值
values = my_dict.values()               # 得到字典的所有值(还有keys()方法得到所有键)
value_list = list(values)               # 使用列表化获取所有值
print(value_list)                       # 输出 ['MathMode', 'man', 'CET-4']

2、基本应用

 2.1、注解及缩进
(1)注解

单行注解:以#号开头。

多行注解:以三个单引号(''')或双引号(""")开头和结尾。

实例:

# 单行注解
'''
  多行注解1
  多行注解1
'''
"""
  多行注解2
  多行注解2
"""
(2)缩进

python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

实例:(看输出结果)

print("缩进1")
if True:
    print("缩进2")
    if True:
        print("缩进3")
        if False:
            print("缩进4")
    print("缩进5")
print("缩进6")
2.2 输入输出
 (1)输入语法

<变量名> = input(<提示性文字>)

input() 函数始终将用户输入解释为字符串,如果需要将其转换为其他类型(如整数或浮点数),则需要显式进行类型转换。

(2)输出语法

print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

print() 函数可以接受多个参数,并且在打印时会将它们用空格分隔。您也可以通过设置 sep 参数来指定分隔符。且默认会在输出结束时自动换行,如果不想换行,可以设置 end 参数为空字符串 end=''。

(3)实例
n=eval(input("请输入:"))  # eval: 动态地执行字符串表达式,并返回表达式的结果。
m=list(map(int,input("请输入一组数据:").split()))
print(n*4,end=" ")  # 输出后不换行
print(m)
print(11,"study","who",3.14,sep='|')  # 将默认为逗号的分隔符,改为自定义的'|'符号

二、Python爬虫

Python爬虫指的是使用Python编程语言编写的网络爬虫程序,用于从互联网上获取信息。网络爬虫是一种自动化程序,通过访问网页并提取其中的数据,可以用于各种目的,如数据采集、搜索引擎索引、信息监控等。

Python是一种功能强大且易于学习的编程语言,拥有丰富的第三方库和工具,因此成为了爬虫开发的热门选择。

Python的爬虫库一般包括:
(1)Requests: 用于发送HTTP请求,获取网页内容。
(2)Beautiful Soup: 用于解析HTML和XML文档,提取所需的数据。
(3)Scrapy: 一个功能强大的爬虫框架,提供了高效的爬取、处理和存储数据的功能。
(4)Selenium: 用于模拟浏览器行为,支持动态网页的爬取

模板:

import requests
from bs4 import BeautifulSoup

# 网页URL
url = "http://example.com"

# 发送GET请求
response = requests.get(url)

# 解析网页
soup = BeautifulSoup(response.text, 'html.parser')

# 找到指定的div(假设div的id为'mydiv')
div = soup.find('div', id='mydiv')

# 获取div中的内容
text = div.get_text()

#输出内容
print(text)

三、Python在数学建模中的简单应用

 1、基础图形实现

在 Python 中,matplotlib 是一个用于绘制图表和数据可视化的库,而 pyplot 模块是 matplotlib 库的一个子模块,提供了类似于 MATLAB 的绘图接口。

 1.1、饼状图
import matplotlib.pyplot as plt

# 饼状图数据
labels = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']  # 标签
sizes = [10.5, 15.5, 4, 7.5, 19.5, 8, 1, 11, 8, 5]  # 各部分占比(百分比)

# 饼状图属性设置
colors = ['red', 'green', 'blue', 'yellow', 'orange', 'cyan', 'purple', 'pink', 'brown', 'gray']  # 颜色设置
explode = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0)  # 突出显示某一部分,把想凸显的部分设置的参数大于0即可,这里未设置凸显部分

# 画饼状图
plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%',shadow=True, startangle=90)

# 设置标题
plt.title('Myweige')

# 显示图形
plt.axis('equal')  # 保证长宽相等,使饼状图为正圆形
plt.show()
1.2、折线图
import matplotlib.pyplot as plt

# x 轴数据
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 第一条线的 y 轴数据
y1 = [2, 6, 3, 28, 10, 7, 12, 9, 15, 11]

# 第二条线的 y 轴数据
y2 = [11, 3, 5, 7, 9, 1, 21, 8, 6, 18]

# 绘制第一条线
plt.plot(x, y1, label='Line 1')

# 绘制第二条线
plt.plot(x, y2, label='Line 2')

# 添加标题和轴标签
plt.title('Weige Picture')
plt.xlabel('X')
plt.ylabel('Y')

# 添加图例
plt.legend()

# 显示图形
plt.show()
1.3、柱状图
import matplotlib.pyplot as plt

# x轴数据
x = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K']

# y轴数据
y = [10, 15, 7, 12, 9, 13, 8, 11, 6, 17, 14]

# 绘制柱状图
plt.bar(x, y)

# 添加标题和轴标签
plt.title('Example')
plt.xlabel('X-lable')
plt.ylabel('y-lable')

# 显示图形
plt.show()
1.3、散点图
import matplotlib.pyplot as plt

# x轴数据
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# y轴数据
y = [6, 7, 8, 9, 10, 2, 11, 4, 1, 5]

# 绘制散点图
plt.scatter(x, y)

# 添加标题和轴标签
plt.title('Weige-Example')
plt.xlabel('X-label')
plt.ylabel('Y-label')

# 显示图形
plt.show()

 2、数据处理

实例:有一个名为"Test1.xlsx"的文件数据如下:

要求:把数据中样本A、样本B、样本C分别选出来,并创建相应的xlsx文件。

Python代码如下:(相关代码作用看注解)

import numpy as np
import pandas as pd
data=pd.DataFrame(pd.read_excel('.\Test1.xlsx',sheet_name='Sheet1'))#'.\'表示相对路径,读取表名为”Sheet1“的表
print(data)
data_a=data.loc[data['样本']=='A'].reset_index(drop=True)#把样本'A'的数据选出来存入data_a中
data_b=data.loc[data['样本']=='B'].reset_index(drop=True)#把样本'B'的数据选出来存入data_b中
data_c=data.loc[data['样本']=='C'].reset_index(drop=True)#把样本'C'的数据选出来存入data_c中
print(data_a)
print(data_b)
print(data_c)
data_a.to_excel("样本A.xlsx")#创建名字为'样本A.xlsx'的文件并把数据导入文件中
data_b.to_excel("样本B.xlsx")#创建名字为'样本B.xlsx'的文件并把数据导入文件中
data_c.to_excel("样本C.xlsx")#创建名字为'样本C.xlsx'的文件并把数据导入文件中
#在a,b,c中选取data_a为样例:
num_a=(data_a==12).astype(int).sum(axis=1)#按行统计值为12的个数
num_a=(240-np.array(num_a)).tolist()#num_a=240-上行统计的个数
print(num_a)
tota_a=data_a.sum(axis=1).to_list()#对data_a的数据按行求和
print(tota_a)

程序创建的文件在该程序文件目录下(运行程序自动会创建相应文件),如图:

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode-移除元素

题目 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长…

最简单知识点PyTorch中的nn.Linear(1, 1)

一、nn.Linear(1, 1) nn.Linear(1, 1) 是 PyTorch 中的一个线性层&#xff08;全连接层&#xff09;的定义。 nn 是 PyTorch 的神经网络模块&#xff08;torch.nn&#xff09;的常用缩写。 nn.Linear(1, 1) 的含义如下&#xff1a; 第一个参数 1&#xff1a;输入特征的数量…

服务器 安装1Panel服务器运维管理面板

服务器 安装1Panel服务器运维管理面板 SSH链接服务器安装1Panel 出现此提示时输入目标路径&#xff0c;须以“/”开头&#xff0c;默认&#xff1a;/opt&#xff0c;本例&#xff1a;/www。 出现此提示时输入目标端口&#xff0c;须未被使用的端口&#xff0c;默认&#xff1…

媒体邀约专访如何深入地做一篇专访报道?流程分享

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 进行媒体邀约专访并深入撰写一篇专访报道是一个系统性工作&#xff0c;涉及多个环节。以下是一个详细的流程分享&#xff1a; 一、前期准备 确定专访目的与主题&#xff1a;明确专访希望…

一文了解低功耗蓝牙BLE

低功耗蓝牙技术可以构建两种类型的设备:双模设备和单模设备。双模设备既支持经典蓝牙又支持低功耗蓝牙。单模设备只支持低功耗蓝牙。还有仅支持经典蓝牙的设备。 在链路层,设备被分为广播者、扫描者、从设备和主设备。广播者是传输数据包的设备,扫描者是接收广播者的数据包…

华大单片机新建工程步骤

1.新建文件夹&#xff0c;比如00_LED 2.拷贝 hc32f460_ddl_Rev2.2.0\driver 到 00_LED 3.拷贝 hc32f460_ddl_Rev2.2.0\mcu\common 到 00_LED 4.拷贝 hc32f460_ddl_Rev2.2.0\example\ev_hc32f460_lqfp100_v2\gpio\gpio_output\source 到 00_LED 5.拷贝 hc32f460_ddl_Rev2.2.…

【C++】C++11可变参数模板

&#x1f440;樊梓慕&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》《算法》 &#x1f31d;每一个不曾起舞的日子&#xff0c;都是对生命的辜负 目录 前言 可变参数模板的定义…

vscode-tasks.json自定义任务

以下所有内容,参考自VScode官方文档: vscode_tasks-docs任务说明文档vscode_variables-reference-docs变量说明文档vscode addtional docs for tasksvscode launch.json 属性设置文档,(下文没有介绍,没有涉及) 浅浅记录一下个人对vscode任务(task)的理解,还谈不上使用. 文章目…

Linux 性能分析工具大全

vmstat--虚拟内存统计 vmstat&#xff08;VirtualMeomoryStatistics&#xff0c;虚拟内存统计&#xff09;是 Linux 中监控内存的常用工具,可对操作系统的虚拟内存、进程、CPU 等的整体情况进行监视。vmstat 的常规用法&#xff1a;vmstat interval times 即每隔 interval 秒采…

德斯兰压缩机邀您体验2024第13届国际生物发酵展

参展企业介绍 德斯兰压缩机&#xff08;上海&#xff09;有限公司是一家专注于研发和生产“高效节能”和“无油环保”空气压缩机的的高新技术企业。公司成立于2005年&#xff0c;注册资金326万美金&#xff0c;生产基地坐落于上海市嘉定区&#xff0c;建筑面积高达25,500m2。公…

vscode 连接远程服务器 服务器无法上网 离线配置 .vscode-server

离线配置 vscode 连接远程服务器 .vscode-server 1. .vscode-server下载 使用vscode连接远程服务器时会自动下载配置.vscode-server文件夹&#xff0c;如果远程服务器无法联网&#xff0c;则需要手动下载 1&#xff09;网址&#xff1a;https://update.code.visualstudio.com…

API接口在数据分析中的应用:淘宝商品信息获取实例

在数字化时代&#xff0c;数据分析已经成为各行各业不可或缺的一部分。无论是市场调研、竞争对手分析&#xff0c;还是产品优化、用户行为研究&#xff0c;数据分析都发挥着至关重要的作用。而API接口作为数据获取的重要渠道&#xff0c;其在数据分析中的应用也日益广泛。本文将…

用vue.js写案例——ToDoList待办事项 (步骤和全码解析)

目录 一.准备工作 二.编写各个组件的页面结构 三.实现初始任务列表的渲染 四.新增任务 五.删除任务 六.展示未完成条数 七.切换状态-筛选数据 八.待办事项&#xff08;全&#xff09;代码 一.准备工作 在开发“ToDoList”案例之前&#xff0c;需要先完成一些准备工作&a…

【AOP入门案例深解析】

AOP 1.AOP简介 AOP&#xff08;Aspect Oriented Programming&#xff09;面向切面编程&#xff0c;是一种编程范式&#xff0c;指导开发者如何组织程序结构 OOP&#xff08;Object Oriented Programming&#xff09;面向对象编程 作用&#xff1a;在步惊动原始设计的基础上进行…

蓝桥杯-AT24C02

1.概述 2.管脚 A1-A3接地 WP保护接地 代码实现 void EEPROM_Write(unsigned char*EEPROM_String,unsigned char addr,unsigned char num) {I2CStart();I2CSendByte(0xA0);I2CWaitAck();I2CSendByte(addr);I2CWaitAck();while(num--){I2CSendByte(*EEPROM_String);I2CWaitAck()…

高等数学基础篇之关于圆,椭圆,圆环的应用

文章目录 前言 1.圆 1.1标准方程 1.2偏心圆 1.3参数方程 2.椭圆 2.1标准方程 2.2参数方程 2.3极坐标 3.圆环 4.扇形 前言 这篇文章主要是应对二重积分出现的一些关于圆的积分域&#xff0c;让大家大概了解一下&#xff0c;不是很详细&#xff0c;因为二重积分对几何…

软件的测试过程模型_v模型

V模型 作用&#xff1a; 主要描述测试、开发之间的对应关系 V模型优点 每个阶段比较清楚&#xff0c;测试过程由底层&#xff08;代码&#xff09;测试到高层&#xff08;应用&#xff09;测试过程 V模型缺点 不适用于需求的变更&#xff0c;发现问题的时机比较晚

基于springboot实现在线教育平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现在线教育平台系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了微服务在线教育系统的开发全过程。通过分析微服务在线教育系统管理的不足&#xff0c;创建了一个计算机管理微服务在线…

Golang 基于共享变量的并发锁

一、互斥锁 先看一个并发情况&#xff0c;同时操作一个全局变量&#xff0c;如果没有锁会怎么样 假设有1000个goroutines并发进行银行余额的扣除&#xff0c;每次都扣除10元&#xff0c;起始的总余额是10000&#xff0c;理论上并发执行完应该是0对不对&#xff0c;但实际却不…

C11 lambda、线程库、包装器

目录 一、lambda表达式 1、产生背景 2、使用方法 3、使用lambda解决排序问题 4、组合捕捉 5、捕获外部变量的应用 6、lambda与函数对象 二、线程库 1、thread类 使用方法 2、线程函数参数 3、mutex的种类 std::mutex std::recursive_mutex&#xff1a; std::ti…