python语言中包含的标准数据类型_python标准数据类型(笔记一)

关于python,它是一种解释型,面对对象,带有动态语义的高级程序设计语言。

之前学习python的时候,简单的将python的基础内容过了一遍,然后在工作中需要用到什么就相应的去加深某一模块的需求以及应用,总觉得基础不够扎实,所以打算把python的基础知识重新过一遍,然后做相关的笔记,让自己能够印象更深刻一些。

为了提升自己的技能,学习一门语言尤为重要,在众程语言中,python可谓是比较容易上手,且功能相对强大的一门语言。而且其在跨平台工作有很好的的实现(window,linux,mac...),所以python于我而言是相当合适一门语言。基于自身的测试工作,可能更加偏向的是用python做自动化接口测试,或者是结合python+selenium做一些页面的操作,或是一些日常工作中需要用到的小工具,BUG数据分析等。

关于选择Python的 编辑器,其实一开始我是用python自带的编辑器,这个编辑器比较小巧,入门级别的小练习是可以支撑使用的,可是随着深入学习,你需要写一些小工具,或者框架的时候,这个IDE相对来说就没有那么智能好用,后来我又用了pycharm的社区版本,Pycharm的功能比较强大,调试等各种功能都比较好用,就是启动的时候比较慢。

一、python标准数据类型 (数,字符串,列表,元组,字典)

1、数:(长)整形,浮点型,复数型

1.1 、整形和长整型没有严格区分,整形值后面添加“L”即为长整型 (python3.x中没有long类型,整数都为int型,其行为模式与python2.x的long差不多)

1.2、浮点型即为数学中的实数,可以类似科学计数法表示 如:2.3 或者 2.3E4.E标记表示10的幂次方。2.3E4表示2.3 * (10的四次方)

1.3、实数+虚数就是复数,虚部必须带有j 比如: (6.4+8.9j) ,(6j).复数=-3+5j 复数可以分离实部和虚部 (复数.real=-3;复数.imag=j),复数的共轭为(复数.conjugate()=-3-5j)

2、字符串:

2.1、字符串:'#';"#";'''#''';单引号,双引号,三引号中的#都为字符串,字符串为不可变的类型 (python中没有专门的char 数据类型)

单引号与双引号并没有什么不同,都是表示里面的内容为字符串

2.2.转义符

在字符串中需要应用一个单引号:'I'm a girl' 不能直接这样用,需要指明单引号不是字符串的结尾:' I\'m a girl ' 或者利用双引号:“ I'm a girl ”

在字符串中,行末单独加一个反斜杠表示字符串在下一行继续进行,而不是一个新的行

2.3、自然字符串

指示不需要如转义符那样的特别处理的字符串,可以指定一个自然字符串:通过加上前缀r或者R来指定:如:r“This is a book\n”

2.4、unicode字符串

unicode是书写国际文本的标准方法,python允许处理unicode文本,需要在字符串前加上前缀u或者U 。如:u“This is a Unicode string”

2.5、按字面意义级连字符串

把两个字符串按字面意义相邻放着,他们会被Python自动级连。例如,'W hat\'s''your nam e?'会被自动转为"W hat's your nam e?"

2.6、获取字符串的方法可以应用下标索引(从0开始,可为正,可为负),即为切片的方式进行字符串的提取s= [头下标:尾下标] (获取的子字符串包含头下标的字符,但不包含尾下标的字符)

加号(+)是字符串连接运算符,星号(*)是重复操作

2.7、字符串的方法

1150946-20200104155022261-1145175306.png

3、列表

3.1、List(列表) 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

3.2、列表用[ ] (方括号)标识,是 python 最通用的复合数据类型。列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾

3.3、加号 + 是列表连接运算符,星号 * 是重复操作

ContractedBlock.gif

ExpandedBlockStart.gif

#!/usr/bin/python#-*- coding: UTF-8 -*-

list=['hello','world','2020','01']

list01=['happy','2020']print(list) #输出完整字符串

print(list[0]) #输出字符串中的第一个字符

print(list[1:2]) #输出字符串中第三个至第六个之间的字符串

print(list[2:]) #输出从第三个字符开始的字符串

print(list01 * 2) #输出字符串两次

print(list+list01) #输出连接的字符串

View Code

3.4、常用的列表的方法 (增,山,查,改,排序,变换)

3.4.1、添加新元素:

list.append() #在list 末尾添加一个元素

list.insert(n,'hello') #在指定位置添加元素,如果指定位置不存在,那么就在末尾添加

list1.extend(list2) #合并两个list,list2中仍有元素

3.4.2、查看列表中的值

print(list) 遍历打印列表的值,相当于(print(i) for i in list)

list[n] 使用下标索引来访问列表中的值

list.count(XX) 查看某个元素在这个列表中的个数。如果元素不存在,则返回0 ,结合集合,可快速遍历列表中每一个字符的个数(这个对于统计数据的次数很好用:比如统计当前BUG分配到每一个人的个数)

list.index(XX) 找到某个元素的下标,如果存在多个,则返回第一个。如果元素不存在会报错

3.4.3、排序问题

list.reverse() 反转列表

list.sort() 默认升序排序 (list.sort(reverse=True) 降序排序 )

排序只针对同类型排序,如果列表中存在多种数据类型,不能进行排序

3.4.4、列表操作函数

len(list) 计算列表中的元素的个数

list(元组) 元组转换为列表

min(list) 返回列表中元素最小的值

max(list) 返回列表中元素最大的值

enumerate 打印元素对应的下标 (返回的是一个列表(“index”,“value”))

3.4.5、删除list中的元素

list.pop() 删除最后一个元素

list.pop(n) 删除某个下标的元素,该下标元素不存在,报错

list.remove(XX) 移除列表中的元素,存在多个一样的元素,移除第一个

del list[n] 删除某个下标的元素

del list 删除整个列表,删除后列表不能再次访问

3.4.6、列表推导式

python中列表推导式用于使用其他列表创建一个新列表

其基本形式为: [表达式 for 变量 in 列表] 如:print(i) for i in list

也可以对原列表进行变换,筛选: [表达式 for 变量 in 列表 if判断筛选语句] 如:example = [print(i**2) for i in range(1,11) if i%2 == 0 ]

嵌套列表,构造二维数组等:[表达式 for 变量 in 列表 for 变量 in 列表 ]

ContractedBlock.gif

ExpandedBlockStart.gif

#!/usr/bin/python#-*- coding: UTF-8 -*-

list01= [1,2,3]

list02= [print(i,j) for i in list01 for j in list01]

View Code

以及对多重嵌套的list进行变换筛选。[表达式 for 变量 in 列表 for 变量 in 列表 if判断筛选语句]

ContractedBlock.gif

ExpandedBlockStart.gif

#!/usr/bin/python#-*- coding: UTF-8 -*-

list01= [[1,2,3],[4,5,6],[7,8,9],[10]]

list02= [print(j**2) for i in list01 for j in i if j%2 == 0]

View Code

4、元组

元组的访问和列表相同,可以直接使用下标索引访问元组中的单个数据项,也可以使用截取运算符访问子元组。访问运算符包括“[]”和“[:]”运算符,用于访问元组中的单个数据项,或者一个子元组。

元组的遍历方式和列表相同,都是应用for循环语句遍历元组的元素。

4.1、元组和列表类似,不同之处是元组的元素不能修改,元组使用小括号(),由于元组的不可修改特性,用于列表的排序、替换、添加等方法,在元组中不能使用,适用于元组的主要运算有元组的合并、遍历、求元组的最大值和最小值等操作方法。

4.2、元组中只有一个元素时,元素后面需要添加逗号,否则括号会被当成运算符使用 tuple(1,)

4.3、元组可以使用下标索引,访问元组中的元素,与字符串类似,下标从0开始,可以使用切片组合 ,如:tuple[:]

4.4、元组里面的元素值不允许修改,可是元组之间可以进行连接组合,如:tup3=tup2+tup1 (创建一个新的元组,又1和2两个元组组成) --合并元组

4.4、元组里面的元素不可单独删除,元组可整个删除 ,如:del tup3;

4.5、元组中的内置函数:len();max();min();tuple(seq)--将列表转换为元组

4.6、元组是不可更改,可以通过构造新元组替换旧元组,来实现元素的插入与删除

5、字典

5.1、字典是可变的,可以存储任意类型的对象

5.2、表达形式:如:data={key:value,key2:value2} 注意:键key必须是唯一的(创建时如果同一个键被赋值两次,后一个值会被记住),值可以重复

5.3、如何访问字典里面值,通过键作为索引,如:print(data['key']) -- 打印出来的就是value

5.4、修改字典内容

ContractedBlock.gif

ExpandedBlockStart.gif

#!/usr/bin/env python3#-*- coding: utf-8 -*-

data={'english':89,'math':100}#修改内容

data['english']= 90

#添加内容

data['Name'] = "xiaoli"

View Code

5.5、删除字典元素

ContractedBlock.gif

ExpandedBlockStart.gif

#!/usr/bin/env python3#-*- coding: utf-8 -*-

data={'english':89,'math':'100'}#删除单一元素

del data['english']#清空字典的内容

data.clear()#删除字典

del data

View Code

5.6、键为不可变的,所以不能应用列表作为键,可用字符串,数字,或者是元组

5.7、字典内置函数:len();str();type()

5.8、字典内置方法:

5.8.1、radiansdict.clear() #删除字典内所有元素

5.8.2、radiansdict.copy() #返回一个字典的浅复制

5.8.3、radiansdict.fromkeys() #创建一个新字典,以序列seq中的元素做字典的键,val为字典所有键对应的初始值

5.8.4、radiansdict.get(key,default=None) #返回指定键的值,如果值不在几点钟返回default

5.8.5、key in dict #查询键是否在字典中,存在返回true,不存在返回false

5.8.6、radiansdict.items() #以列表返回可遍历的(键,值)元组数组

5.8.7、radiansdict.keys() #返回一个迭代器,可以使用list()来转换为列表

5.8.8、radiansdict.setdefault(key,default=None) #和get() 类似,但如果键不存在字典中,将会添加键并将值设置为default

5.8.9、dadiansdict.updata(dict2) #把字典dict2d 键/值对更新到dict里

5.8.10、radiansdict.values() #返回一个迭代器,可以使用list()以转换为列表

5.8.11、pop(key.[,default]) #删除字典给定键key所对应的值,返回值被删除的值。key值必须给出。否则,返回default值

5.8.12、popitem() #随机返回并删除字典中最后一对键与值。

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

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

相关文章

python怎么输入一个数字并调用_python如何直接输入上一句话,如何快速打出上一句话...

如何快速打出上一句话 用搜狗或者QQ拼音打字法,里面有设置快捷键输入语就行了。 Python,怎么在输入非数字时,输出一句话 Python提供2113了两个内置函数从标准输入5261读入一行文本,默4102认的标准输入是键盘。如下:165…

python 打卡程序_如何用python实现腾讯文档自动打卡并定时执行

最近学了些Web,了解了一些selenum包内函数使用,就写了下自动健康打卡,并用windows任务计划程序定时执行,健康打卡这个针对特定网站,所以对于通用化使用倒没有太大用处,但关于腾讯文档如何填写,因…

springboot test_精益求精!Spring Boot 知识点全面回顾,带你重新细读源码!

作者:cyd_0619原文:https://blog.csdn.net/cyd_0619约定优于配置Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as …

事物日志恢复 mysql_浅谈SQL Server中的事务日志(五)----日志在高可用和灾难恢复中的作用...

本篇文章是系列文章中的第五篇,是对前一个日志系列的补充篇。如果您对日志的基本概念还没有一个比较系统的了解,可以参看本系列之前的文章: 浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架 浅谈SQL Server中的事务日志(二)----…

select count(*) from返回的类型_数据分析面试题类型汇总

1 简单查询- 基本的查询语句&#xff1a;select <列名> from 表名 where 条件- where 后的条件需要标量&#xff0c;不可以使用集合&#xff0c;若与关联子查询连用可用&#xff1b;可使用逻辑运算符连接多个条件&#xff1a;between、and、or、in&#xff08;&#xff0…

configurationproperties_【Springboot】注解@ConfigurationProperties让配置整齐而简单

1 简介前面我们用一篇文章《【Spring】只想用一篇文章记录Value的使用&#xff0c;不想再找其它了(附思维导图)》详细讲解了在Spring中如何使用Value来实现我们对配置的需求&#xff0c;它功能强大、使用方便。但它也是有它的局限性的&#xff0c;比如对于邮件服务&#xff0c;…

dmo Java_java DMO及增删改查代码的自动生成

在web开发过程中&#xff0c;尤其是后台管理系统的开发中&#xff0c;少不了增删改成的基础操作&#xff0c;原来我自己的做法是一份一份的拷贝粘贴&#xff0c;然后修改其中的不同&#xff0c;然而这样既枯燥无味又浪费了大量的时间&#xff0c;所以根据自己项目结构的特点写了…

if __name__ == __main___一文带你弄懂python中if __name__ == #39;__main__#39;

我们在python模块那章节的学习&#xff0c;有所接触到if __name__ __main__这个概念。当时我们只是大概描述了一番&#xff0c;不少伙伴还是有所困惑&#xff0c;今天就让我们通过实际例子去讲解这条语句到底有何含义。一个python文件有两种用途&#xff0c;一种被当主程序、脚…

java 生成apk包_Eclipse导出安卓apk文件的图文教程

安装到Android手机上的apk需要签名&#xff0c;本文描述了如何创建自己的签名及从Eclipse中导出apk。方法/步骤1、在Eclipse中选择一个Android工程&#xff0c;然后点击鼠标右键菜单中的“Export”&#xff1a;2、选择“Android”->;“Export Android Application”&#xf…

营业执照在线生成_平罗县实现个体户营业执照“秒批”

近日平罗县市场监管局注册登记窗口推出个体工商户“秒批”系统。今后&#xff0c;75%个体户常见经营项目可实现5分钟内乃至数秒无人工干预智能审批。01 一是实现智能化审批。平罗县市场监管局登记注册窗口依托自治区系统升级改造&#xff0c;推行企业设立登记标准化和智能化。…

wireshark-win64-3.4.0安装_轴承安装规范

Sulli小苏&#xff1a;今天详细介绍下如何正确的安装轴承&#xff0c;正确的安装操作是轴承长寿命的关键&#xff0c;轮毂轴承的主要作用是承重和为轮毂的转动提供精确引导&#xff0c;它既承受轴向载荷又承受径向载荷&#xff0c;是一个非常重要的零部件。轴承的安装正确方式滚…

代码实现tan graph model for classification_几行代码搞定ML模型,低代码机器学习Python库正式开源...

PyCaret 库支持在「低代码」环境中训练和部署有监督以及无监督的机器学习模型&#xff0c;提升机器学习实验的效率。想提高机器学习实验的效率&#xff0c;把更多精力放在解决业务问题而不是写代码上&#xff1f;低代码平台或许是个不错的选择。最近&#xff0c;机器之心发现了…

dataframe 如何选中某列的一行_带你领略pandas中多表之间如何处理

但我们在处理Pandas多表数据时,我们需要将多个表之间进行表格的连接与合并,当连接完多表之后我们可能还需要对数据进行多重的索引,方便我们更快的找到数据,以及对数据进行做透视表,更加直观的去观察我们的数据,今天我们就围绕着数据合并以及数据重塑及透视表进行展开讲解,让我们…

python计算定积分_python编程通过蒙特卡洛法计算定积分详解

这篇文章主要介绍了python编程通过蒙特卡洛法计算定积分详解&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。 想当初&#xff0c;考研的时候要是知道有这么个好东西&#xff0c;计算定积分。。。开玩笑&#xff0c;那时候计算定积分根本没有这么简单的。但这确…

java spring mvc api_SpringMVC实现REST API

JSON使用Jackson jar包、RequestBody、ResponseBody注解&#xff0c;达到&#xff1a;1. 请求JSON消息体映射为JAVA对象2. 返回JAVA对象映射为JSON消息体Step 1. 导入Jackson jar包&#xff1a;Step 2. 在Spring MVC配置中加入annotation-driven&#xff0c;该配置可以确保Requ…

gateway动态路由_无语!SpringCloud Gateway动态路由之Nacos,我已经讲得很清楚了

前言当我们的网关Gateway程序开发完成之后&#xff0c;需要部署到生产环境&#xff0c;这个时候你的程序不能是单点运行的&#xff0c;肯定是多节点启动(独立部署或者docker等容器部署)&#xff0c;防止单节点故障导致整个服务不能访问&#xff0c;网关是对客户端的入口与出口&…

json里面的list数据取不出来_sql盲注的困局:利用DNSlog快速导出数据

对于一个sql注入点来说最幸运的就是支持堆叠注入&#xff0c;最蛋疼的就是盲注&#xff0c;盲注里面难搞的就是基于时间的盲注。我们在本地利用这段代码进行演示<?php error_reporting(0); $link mysqli_connect(localhost,root,root); mysqli_set_charset($link,utf8); m…

python怎么测试程序_python如何测试程序

测试函数是用于自动化测试&#xff0c;使用python模块中的unittest中的工具来测试 附上书中摘抄来的代码&#xff1a;#codingutf-8 import unittest from name_function import get_formatted_name class NamesTestCase(unittest.TestCase): def test_first_last_name(self): f…

判定覆盖白盒测试java_白盒测试系列(四)条件判定覆盖

条件判定覆盖一、定义&#xff1a;程序中每个判定至少有一次为真值&#xff0c;有一次为假值,使得程序中每个分支至少执行一次&#xff0c;且使得各判定中的每个条件获得各种可能的取值至少满足一次。二、特点&#xff1a;1、综合了条件覆盖和判定覆盖的特点2、满足条件判定覆盖…

discard python_Netty入门教程(一) 实现DISCARD服务

官方那个给出的介绍是&#xff1a;Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具&#xff0c;用以快速开发高性能、高可靠性的网络服务器和客户端程序。然后我们简单理解一下&#xff0c;这玩意就是个程序&#xff0c;干什么的&am…