Python编程:01-基本数据类型-数值字符串,列表与元组,字典,集合set

news2024/11/16 18:48:27

python的数据类型有如下:

1、数字

数字类型是python中常用的类型,她是不可变的,创建一个数字很简单可以用一个变量来接收它

num1=2 `在这里插入代码片` #创建变量num1
num2=9  #创建变量num2

数字的类型分为如下几类:
整型:int,不带小数点,正负数都可以,如 23,45,
浮点型:float,带小数点,如3.3454。或者用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
布尔型:bool,0和1
复数:complex,包含实数和虚数,用a + bj,或者complex(a,b)表示

数字类型转换:

int(a)  # 把a转为整数型
float(b) # 把b转为浮点型

数字的运算: +-*/=–赋值运算
数字相关函数:主要包含数字运算相关的函数,例如求绝对值,平方根等,
常用的数学函数如下:
abs(x) 返回数字的绝对值,如abs(-10) 返回 10
exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x) 以浮点数形式返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y) x**y 运算后的值。
round(x [,n]) --返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。其实准确的说是保留值将保留到离上一位更近的一端。
sqrt(x) 返回数字x的平方根。

2、字符串

字符串的概念:字符串是 Python 中最常用的数据类型。它是不可变的,一般使用单引号来创建字符串。

str1='Hello'  #单引号的字符串
str2="Hello"  #双引号的字符串
str3='''Hello'''  #三引号的字符串

字符串中本身有单引号时,外面用双引号

 str1="It's OK"

字符串中本身有双引号时,外面用单引号

 str2='He said:"Are you ok?"'

三引号: 用三个单引号’‘’ ‘’'或者三个双引号"“” “”"
应用:
1.在换行比较多的情况下,可以用三引号,这样就不需要手动输入换行符
2.字符串中既有单引号,也有双引号的场合
3.用于函数或方法的注释

str3='''独坐幽篁里 弹琴复长啸 深林人不知 明月来相照''' 
print(str3) 
def fun1():     
'''     :return:     '''

字符串中的转义符

 # \n 换行符 \t 制表符
 filepath='D:\note1.txt'
 print(filepath)  #这样打印,filepath中的\n进行了转义
 #方案一  在\前面再加一个\,后面的\不进行转义
 filepath='D:\\note1.txt'
 #方案二  在字符串外面加一个r,字符串中的所有转义符均不进行转义
 filepath=r'D:\note1.txt'
 #方案三  表示路径时,可以用/代替\
 filepath='D:/note1.txt'

*字符串的拼接

 print('1'+'6')  #1和6拼接,打印16
 print('1'+6)  #字符串与数字拼接,报错
 print('1'*6)  #表示将字符串打印6次
 a=5
 b='6'
 print(a+int(b))  #int(),将对象转为整数型,float(),将对象转为浮点型,str()将对象转为字符串型

字符串的下标

 #下标以 0 为开始值,-1 为从末尾的开始位置。
 str6='abcdefg'
 print(str6[5])  #取得第5位的值,f
 print(str6[-2])  #取得倒数第二位的值,f
 str6[0]='q'  #字符串是不可变对象,不可以通过下标修改某个位置的值

字符串的切片
[起始值:终止值:步长] 包含起始值,不包含终止值 步长默认为1,

 print(str6[0:3])  #abc
 print(str6[-7:-4])  #abc
 print(str6[:-4])  #起始值不写,表示从头开始取值
#步长为正数时,从左向右取值,步长为负数时,从右向左取值
 print(str6[2::-1])  #终止值不写,表示取到后面所有的值
 print(str6[:])  #全部取值,注意切片是一个新的对象,不影响原对象的值
 print(str6[::2])  #aceg
切片是一个新对象,不影响原对象
str9='aabbccddee' str9_new=str9[0:2] print(str9) print(str9_new)

3、列表

列表的概念:常用到的数据结构之一。Python中使用中括号[]来表示列表,它是可改变的,一般通过下标改变
列表可以存放任意类型的对象

 list1=[1,'abc',[10,20],(10,20),{'A':'apple'}]

列表是可变对象

 list2=[10,20,30,40,50]
 list2[0]=198

1.新增元素
append()方法,添加元素到列表末尾

 list2.append(60)

2.插入元素
insert()方法,添加元素到指定位置

 list2.insert(1,60)

3.列表拼接
extend()方法,列表的拼接

 list2_1=[100,200]
 list2_2=[300,400]
 list2_1.extend(list2_2)
 print(list2_1)

4.删除元素

  • pop()方法,默认删除列表末尾的元素,也可以指定位置进行删除
 list3=[100,200,300,400,500,500]
 list3.pop(0)
 print(list3)
  • remove()方法,根据值进行删除
 list3.remove(500)
 print(list3)
  • del的方式进行删除
 del list3[2]
 print(list3)

5、列表的切片
列表的切片,也是一个新的对象,不影响原列表的值

 list6=[11,22,33,44,55,66]
 print(list6[0:3])
 print(list6[-6:-3])
 print(list6[-4::-1])

4、元组

元组与列表类似,都可以使用下标与切片,但是元组是不可变对象,不能进行增删改

 tuple1=(11,22,33,44,55,66)
 tuple2=(10,)  #当元组中只有一个值时,加个逗号
 print(type(tuple2))

注意:如果元组中有子列表,子列表的值可以修改

 tuple3=(10,20,30,40,50,[1,2])
 tuple3[5][0]=99
 print(tuple3)

5、字典

字典是非常常用的一种数据结构,它与json格式的数据非常相似,核心就是以键值对的形式存储数据,关于Python中的字典做如下四点说明:

1.构造字典对象需要用大括号表示 {},每个字典元素都是以键值对的形式存在,并且键值对之间用英文状态下的’‘:’'隔开
2.键在字典中是唯一的,不能有重复,对于字符型的键需要用引号引起来。值可以是单个值,也可以是多个值构成的列表,元组或字典
3.字典不再是序列,无法通过位置索引完成元素值的获取,只能通过键索引实现。
4.字典是可变对象,字典是无序的

如下

 dict1={'A':'apple','B':'book'}
 dict2={'B':'book','A':'apple'}
 print(dict1==dict2)

列表是有序的

 list1=[10,20]
 list2=[20,10]
 print(list1==list2)  #列表是有序的,输出为真

说明:字典的键可以存放不可变对象,不可以存放可变对象 字典的值可以存放任意对象 字典属于可变对象,可以进行增删改

字典的键是唯一的

 dict6={'A':'apple','A':'ace'}  #保存的是{'A':'ace'}
 print(dict6)

新增:字典的新增与修改的语句是一样的,如果字典内已经有同名的键,则修改,如果没有,则新增

 dict9={'A':'apple'}
dict9['hyntehwrtgrf34nthbg']='3j5hg45umryjbtrghmryjbg'  #字典中没有对应的键,所以新增
 dict9['A']='ace'  #字典中有对应的键,所以进行修改
 print(dict9)

update()方法,可以添加或修改多个键值对

 dict9.update({'C':'cake','D':'duck','E':'earth'})
 print(dict9)

del 删除字典中的键值对

 del dict9['E']
 print(dict9)

清空字典中的键值对

 dict10={'A':'apple'}
 dict10={}  #这种方式,内存地址发生了变化,相当于重新定义了一个字典
 dict10.clear()  #这种方式,内存地址不变

遍历字典中的键值对

 dict11={'老虎':'WOW!!','羊':'咩~~','狗':'汪汪汪'}
 for k,v in dict11.items():
     print(k,v)

遍历键

 for k in dict11.keys():
     print(k)

遍历值

 for v in dict11.values():
     print(v)

判断某个对象是否在字典中,根据键判断,而不是值

 dict100={'ABC':'ABCDE'}
 print('ABCDE' in dict100)

json模块:json格式,非常像字典的字符串,
json.loads(str1) 把json转换为字典
json.dumps(str1_new) 将字典转为json

 str1='''{
     "aac003" : "tom",
     "tel" : "13959687639",
     "crm003" : "1",
     "crm004" : "1"
 }'''
 import json
 str1_new=json.loads(str1)  #将json格式转为字典
 print(type(str1_new))
 print(str1_new['tel'])
 str2=json.dumps(str1_new)  #将字典转为json
 print(type(str2))

6、集合set

集合(set)是一个无序的不重复元素序列。可以进行交集、并集、差集等常见的集合操作,使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。

set1 = {value01,value02,...}  #创建方式1
set(value1,value2,...) # 创建方式2

1、添加元素 add( x )

 thisset = set(("Google", "Runoob", "Taobao"))
 thisset.add("Facebook")
 print(thisset)

输出结果:

{'Taobao', 'Facebook', 'Google', 'Runoob'}

**2、移除元素 ** remove( x ),pop()

thisset.remove("Taobao") # 指定移除
thisset.pop() #随机移除

3、清空集合 clear()

thisset.clear()

判断元素是否在集合中存在 :in

thisset = set(("Google", "Runoob", "Taobao"))
 "Runoob" in thisset  #输出为真

以上是python 中数据类型的基本六个类型,一些简单的使用以及说明,后续篇幅继续介绍python的语法。

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

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

相关文章

再谈QT的界面开发 - QT的社区版本的获取 - 2024-09

前言: QT的跨平台特性,赋予了QT的生命。2024年,因为项目的原因,重新开启了一个基于QT的跨平台项目。 QT有付费的版本和社区的版本。 1 获取社区的版本: 1.1 社区的版本的软件授权说明: Qt - Obligation…

Spring Boot 2.x基础教程:实现文件上传

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 前言 文件上传的功能实现是我们做Web应用时候最为常见的应用场景,比如:实现头像的上传,Excel文件数据的导入等功能,都需要我们先实现文件的上传,然…

【含文档】基于Springboot+微信小程序 的高校心理咨询系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

WordPress最佳恶意软件扫描插件:入门级指南

在现代互联网环境中,网站安全已经成为每个网站管理员必须重视的问题。特别是对于使用WordPress的用户来说,由于其普及度高,WordPress网站常常成为黑客的首要攻击目标。幸运的是,有许多优秀的恶意软件扫描插件可以帮助我们保护网站…

案例精选 | 海门北部新城医学综合体智能化日志管理系统部署

海门北部新城医学综合体,即海门中医院新院区,坐落于江苏省南通市海门区北部新城的核心地带,是一座全新的现代化三级甲等中医医院。医院于2024年初正式启用,占地约64710平方米,拥有超过12万平方米的建筑面积&#xff0c…

【Python】The Algorithms:开源算法的宝库

The Algorithms 是一个开源项目,旨在为开发者提供各种编程语言的算法实现。该项目汇集了数千种算法的实现,涵盖了数据结构、排序算法、数学算法、机器学习、密码学等领域。通过该平台,开发者可以学习、理解并应用不同编程语言中的算法&#x…

企业安全策略制定

如今,网络安全是所有组织的必需品,而不是奢侈品。现代企业面临着针对其数据、网络和系统的复杂且不断演变的威胁。 即使一个漏洞也可能导致严重违规、财务损失和声誉受损。正如堡垒依靠多层防御共同作用一样,公司的安全措施必须作为一个整体…

MAC M1 安装brew 配置环境变量,安装dart

一. 下载 brew 1. 终端输入 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2. 如遇到下载失败情况,需要VPN/代理 curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 8 m…

Vue3 取消密码输入框在浏览器中自动回填

浏览器默认会对用户提交表单行为进行监控,若发现type属性值为password的input控件,且该控件可见时,会提示用户是否记住密码 VUE3登录禁止浏览器记住密码_vue3禁止chome浏览器提示保存密码-CSDN博客 项目需求: 前端禁止在浏览器coo…

优青博导团队携手提供组学技术服务、表观组分析、互作组分析、遗传转化实验、单细胞检测等全方位生物医学支持

🌟 教授团队领衔,全方位服务! 🚀 从实验设计到论文发表,一站式解决方案! 📈 选择我们,加速您的科研进程,让成果不再等待! 📝 专业分析 定制服…

python贪吃蛇小游戏

1.简介 使用了turtle库来创建图形界面,你可以使用键盘的W、A、S、D键来控制蛇的移动方向。蛇吃到食物后,身体会增长,如果蛇撞到自己或者游戏边界,游戏就会结束。 2. 代码 import turtle import time import randomdelay 0.1# …

在MacOS上安装MongoDB数据库

一、安装方法 1.1 安装包安装 首先,打开MongoDB 官网下载安装包,下载链接:https://www.mongodb.com/try/download/community。 根据自己的系统环境自行选择下载的版本。将下载好的 MongoDB 安装包解压缩,并将文件夹名改为 mon…

数据结构:链表算法题

目录 题1.删除链表中的某个元素val题目表述:思路1:在源链表中进行删除更改思路2:创建一个新链表 题2:反转一个链表问题描述:思路1:在源链表内部进行操作思路2:创建一个新链表 题3:寻找链表中间位置题目描述:思路1:思路2:快慢指针 题1.删除链表中的某个元…

1.1.5 计算机网络的性能指标(下)

时延: 指数据从网络的一端传送到另一端所需的时间。有时候也称为延迟或迟延。 总时延发送时延传播时延处理时延排队时延 发送时延: 又名传输时延,节点将数据推向信道所花的时间 数据长度/发送速率 传播时延: 电磁波在信道…

Windows电脑本地安装DrawDB数据库设计工具并一键发布公网远程使用

文章目录 前言1. Windows本地部署DrawDB2. 安装Cpolar内网穿透3. 实现公网访问DrawDB4. 固定DrawDB公网地址 前言 我们在开发项目时很多时候都会使用到数据库,所以选择一个好用的数据库设计工具会让工作效率翻倍。在当今数字化时代,数据库管理是许多企业…

git clone或repo init 时报错:fatal: 协议错误:错误的行长度 xxx

执行repo init或git clone时报错:protocol error: bad line length 或协议错误:错误的行长度 系统版本:Ubuntu20.04 repo version v2.47 repo launcher version 2.45 git version 2.25.1 报错信息 fatal: 协议错误:错误的行长度 948 fatal: 远端意外挂断了 repo: err…

一篇文章让你秒懂MySQL中的各种锁

目录 一、序言二、各种锁详细介绍1、Shared and Exclusive Locks(共享锁和读占锁)2、Intention Locks(意向锁)3、Record Locks(记录锁)4、Gap Locks(间隙锁)5、Next Key Locks (Next Key锁)6、Insert Intention Locks (插入意向锁)7、AUTO-INC Locks (自增锁)8、Predicate Lock…

java 生成.h文件,java调用c语言dll动态链接库流程

** 1、首先创建一个java文件,里面最好不要有中文 ** /*** BelongsPackage: PACKAGE_NAME* Author: wangqian* CreateTime: 2024-09-27 18:42:24* Describe:*/ public class testDll {static {System.loadLibrary("testDll");}public native int add(…

思科安全网络解决方案

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…

NVLM多模态 LLM 在图像和语言任务中的表现优于 GPT-4o

论文地址:https://arxiv.org/pdf/2409.11402 背景 传统的多模态 LLM 有两种主要方法:纯解码器架构(如 LLaVA)和基于交叉注意力的架构(如 Flamingo)。混合架构,既提高了训练效率,又增…