python数据类型汇总_python基础数据类型汇总

#!/usr/bin/env python

# -*- encoding:utf-8 -*-

# author:Administrator

# make_time:2018/6/9

‘‘‘

数据类型:

不可变数据类型:int、str、bool、tuple、frozenset

可变数据类型:list、dict、set

公共方法:count()、len()、del、copy()

len(所有都有)

count(数字、字典、集合没有此方法)

index(数字、字典、集合没有此方法)

可变数据类型都有copy()

整数、字符串、列表、元组、布尔可以相加(字典、集合不可相加)

整数: int

# 不可变数据类型

bit_length() 查看数字在内存中最少占几位

数学运算:+ - * / //(整除) % **(幂)

比较运算: >,=,<=,==,!=

赋值运算:=,+=,*=,/=,-=,%=,,//=,**=

逻辑运算:not or and

从左到右

优先级:() not and or

1(非零整数):true 0:false

1 or 2 左边非零取左边,0 取右边,and相反

身份运算:is is not 判断两个对象是不是为同一个内存地址

成员运算:in not in 判断字符/元素是否在目标中,str,list,dict,set,tuple

位运算:

& 与运算 1 1 得1 , 1 0 得0 ,0 0 得 0

| 或运算 1 1 得1,1 0 得1 ,0 0 得0

方法:

int.bit_lens() 查看数字在内存中占的字节数

布尔值:True False

#不可变数据类型、True为1,False为0 (0,None,False,[],(),{},set(),都为False)

字符串: str

# 不可变数据类型、有序、可切片,可迭代循环,交互默认输入为字符串

# 以单或双引号表示 :‘元素‘

# 不可增删改

切片:从左到右字符串中的索引从0开始

[start:end:step] 顾头不顾尾

[1:3] 字符串中索引1到2的字符

[1:-1] -1 表示最后一个字符

操作方法:

del str 删除字符串

len(str) 统计字符串长度,内置方法

str.count(元素) 统计字符串中的元素出现的个数

str.center(宽度,"填充物可不写") 指定长度居中显示,默认填充物为空格

str.title() 非字母隔开得首字母大写

china country --> China Country

* str.capitalize() 首字母大写,其他分开的单词首字母小写

china_Country --> China_country

str.swapcase() --->字符串大小写互转

** str.upper() ----> 全部变成大写

str.isupper() 是否全部为大写

** str.lower() -----> 全部变成小写

str.islower() 是否全部为小写

str.encoding("将字符串以何种编码集进行编码")

** str.startswith("元素") 判断字符串是否以什么开头,返回bool值

str.endswith("元素")

*** str.find("元素",star,end) 找元素的索引,如果元素不存在,返回-1

*** str.index("元素",star,end) 找元素的索引,如果元素不存在,报错

*** str.strip("元素可空") 去掉两端的\n,\t,\s等空白字符,也可指定字符从两端删

str.lstrip()

str.rstrip()

***** str.split("分割符可空,默认空格,多个空格看成一个") 分割字符串,返回列表

str.lsplit()

str.rsplit()

*** str.replace(old,new,替换几次)

*** str.format() 字符串格式化

"{}my name is {}".format(11,"秀文")

"{1}my name is {2},next year is {1}".format(11,"秀文")

{id}is old boy ,my name {name}".format(id =11,name="sun") 不能放字典

% 百分号的方式格式化

"my name is %s ,i am %d" %("sun",30)"

"my name is %(name)s ,i am %(age)d" %(dic)" 可以放字典

%s 字符串

%d 整数

%f 小数 %.2f 保留2为小数

3.6以上版本格式话可以:f"{name}已经登录了"

str.isalnum() 是否为字母或数字,返回bool值

str.isalpha() 是否全为字母

str.isdigit() 是否全为数字

str.isspace() 是否有空白字符

***** str.join(iterable可迭代) 字符串拼接,括号里一定得是可迭代得数据,且只能为一个参数

注:

"sun".join([11,22]) 报错,join不能将带有数字得list转换成字符串,需要先将数字转换成字符串

"*".join("%s" %id for id in list)

object in str 判断元素是否在str中

列表:list

# 可变数据类型,有序,可切片,可迭代循环,元素可为任意类型数据

# 以[元素,]表示

# 可增删改查

切片:

同字符串一样,通过索引切

增:

list.append(元素) 向列表末尾添加元素

list.insert(index,元素) 指定索引位置向列表添加元素

list.extend(iterable) 迭代的向列表末尾添加多个元素

删:

list.pop(index) 根据索引删除,不添加元素时,默认删除最后一个

list.remove(元素/object) 根据元素删除

del list 删除列表

del list[:3] 根据索引切片删除

list.clear() 清空列表

改:

lis[index] = new_data 索引切片修改

lis = [11,22,33,44,55]

lis[:2] = [66,77,88] # lis = [66, 77, 88, 33, 44, 55] 步长为1时,不考虑个数对应,切的时一片空间

lis[:3:2] = [66,77] # 报错,步长不为1时,左右元素个数需一致

#ValueError: attempt to assign sequence of size 3 to extended slice of size 2

查:

lis[index] 通过索引查

for i in list: 通过迭代循环查,i为列表中的每个元素

方法:

del list 删除列表

len(list) 统计列表的长度

list.count(object) 统计列表中指定元素出现的个数

list.index(object,start,end) 查找元素的索引

list.sort(reverse=False) 排序,默认为升序,当reverse值设为True时,降序排列

list.reverse() 列表中元素顺序反转过来

list.copy() 列表浅拷贝

object in list 判断对象是否在列表中

元组:tuple

# 不可变数据类型,有序,可切片,可迭代循环,元素可以是任意数据类型

# 不可增删改

# 以括号表示()

查:

tuple[2] 通过切片查

for i in tuple: 通过迭代循环查

方法:

tuple.count(object)

tuple.index(object,start,end)

len(tuple)

object in tuple

字典:dict

# 可变数据类型,键值对存在,键不可变,可哈希的(int,str,bool,frozenset),值可以是任意数据类型,无序,不可切片,可迭代循环查询

# 以大括号表示{key:value}

# 可整删查

增:

dic = {}

dic[new_key] = new_data 直接增加,如果key存在则更新value

dic.setdefault(key,value) 本方法一旦key,value都创建,且value指定的不是[]、{}、set(),值都不能更改

new_dic = dict.fromkeys(iterable,values)

new_dic = dict.fromkeys([11,22],[33,44]) -->{11: [33, 44], 22: [33, 44]}

前面的key对应相同的value,且当后面的value为可变数据类型时如列表,改变任意一个value,

另一个也会改变,浅拷贝,否则不改变

删:

dic.pop(key) 指定key删除,默认删除最后一项,返回删除key对应的value,如果key不存在报错 KeyError:

dic.popitem() 随机删除 ,返回删除的键值对以tuple形式显示

3.6以上字典内置为有序,popitem()默认删除最后一个,但面试要说随机删除

del dic[key] 指定key删除,如果key不存在报错 KeyError:

del dic

dic.clear()

改:

dic[key] = new_data

dic.update(dic1) dic将dic1更新到自己的字典中,key重复更新为新value

查:

dic[key] key不存在时,报错

dic.get[key,"不存在时自定义返回值"] key不存在时默认返回None,也可自定义返回值

dic.keys() 以仿列表形式存所有key,可迭代

dic.values()

dic.items()

for i in dic i 为dic的key

方法:

len(dic)

集合:set

# 可变数据类型,无序,元素唯一不重复且不可哈希即不可变数据类型,可迭代

# 以{}形式表现,主要用于去重

# 不可切片(无序),可增删改查

增:

set.add(元素)

set.update(iterable) 迭代的更新到set中

删:

set.pop() 随机删除

set.remove(元素) 没有报错

set.clear()

del set

改:

因无序,只能通过先删除后整加的方式

set.remove(待改元素)

set.add(新增元素)

查:

for i in set:

方法:

len(set)

交集: & 相同的部分

并集: | 合体

差集 a-b 去掉在a中b有的元素,减法

s = frozenset([11,22,33]) 将可变数据类型改为不可变

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

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

相关文章

开发实战细节之——关于整型转换为字符串类型的性能与实现分析

细节决定成败&#xff0c;开发中往往从一些细节就可以看出一个程序员的开发水准&#xff0c;下面我就给大家分享一下开发中最最常见的int转换为String类型的方法及其性能解析。 一般大家最常用的方法有 方法一&#xff1a;String s1 String.valueOf(i); 方法二&#xff1a;St…

华为服务器故障灯不开机_华为服务器日常维护及故障处理介绍V.ppt

通电策略 power on上电自动开机。 power off上电不自动开机&#xff0c;需按前面板电源按钮才能开机。 Last State上电开机与否取决于上次断电之前的状态&#xff0c;如果是关机状态则通电后不能自动开机&#xff0c;如果是开机状态则通电后可以自动开机。 硬件狗 BMC WDT Acti…

《黑客大曝光:移动应用安全揭秘及防护措施》一2.2 攻击与对策

本节书摘来自华章出版社《黑客大曝光&#xff1a;移动应用安全揭秘及防护措施》一书中的第2章&#xff0c;第2.2节&#xff0c;作者 &#xff08;美&#xff09;Neil Bergman &#xff0c;更多章节内容可以访问云栖社区“华章计算机”公众号查看 2.2 攻击与对策 好&#xff0c…

Android 4.2 通知通过PendingIntent启动Activity失败的问题

今天突然发现在Android 4.2手机上点击通知消息无法打开Activity的问题&#xff0c;具体Logcat信息如下&#xff1a; 01-09 11:37:43.733: WARN/ActivityManager(92): Unable to send startActivity intent java.lang.SecurityException: Permission Denial: starting Intent { …

ubuntu安装sublime

添加sublime text 3的仓库&#xff1a; sudo add-apt-repository ppa:webupd8team/sublime-text-3 更新软件库 sudo apt-get update 安装Sublime Text 3: sudo apt-get install sublime-text-installer 安装sublime2: sudo add-apt-repository ppa:webupd8team/sublime-text-2 …

jdbctemplate mysql 配置_Spring JDBCTemplate配置使用

一、开发环境Windows 10IntelliJ IDEA 2016.1 旗舰版JDK1.8二、项目和数据库结构项目结构&#xff1a;数据库(MySQL 5.5.39)&#xff1a;/*Navicat MySQL Data TransferSource Server : localhostSource Server Version : 50539Source Host : localhost:3306Source Database : …

细数家庭安防五大乱象 何时能步入正轨

虽然智能家居行业在我国的成长已逾十个年头了&#xff0c;但是目前市场离成型仍然有一段距离。市场上可谓“乱象”丛生&#xff0c;这些绊脚石严重阻碍了行业的良性发展。市场乱象繁生&#xff0c;智能家居从概念炒作到价格高抬&#xff0c;相关预测显示&#xff0c;若真如电商…

HDU 1181 变形课

Problem Description呃......变形课上Harry碰到了一点小麻烦,由于他并不像Hermione那样可以记住全部的咒语而任意的将一个棒球变成刺猬什么的,可是他发现了变形咒语的一个统一规律:假设咒语是以a开头b结尾的一个单词,那么它的作用就恰好是使A物体变成B物体. Harry已经将他所会的…

多线程(同步代码块和同步函数)

线程安全问题 当多条语句在操作同一个线程共享数据时&#xff0c;一个线程对多条语句只执行了一部分&#xff0c;还没有执行完&#xff0c; 另一个线程参与进来执行。导致共享数据的错误。解决办法&#xff1a; 对多条操作共享数据的语句&#xff0c;只能让一个线程都执行…

没有基础学python_python没有基础好学吗

什么是Python&#xff1f;Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言&#xff0c;比如非常难学的C语言&#xff0c;非常流行的Java语言&#xff0c;适合初学者的Basic语言&#xff0c;适合网页编程的JavaScript语言等&#xff0c;Python是他们其中…

C++中的头文件和源文件

一、C编译模式 通常&#xff0c;在一个C程序中&#xff0c;只包含两类文件——cpp文件和h文件。cpp文件被称作C源文件&#xff0c;里面放的都是C的源代码&#xff1b;h文件则被称作C头文件&#xff0c;里面放的也是C的源代码。 C 语言支持“分别编译”&#xff08;separ…

Hibernate 事物隔离级别 深入探究

目录 一、数据库事务的定义 二、数据库事务并发可能带来的问题 三、数据库事务隔离级别 四、使用Hibernate设置数据库隔离级别 五、使用悲观锁解决事务并发问题 六、使用乐观锁解决事务并发问题 Hibernate事务与并发问题处理&#xff08;乐观锁与悲观锁&#xff09; 一、数据库…

Linked List Cycle II - LeetCode

Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Note: Do not modify the linked list. Follow up:Can you solve it without using extra space? 思路&#xff1a;维护两个指针slow和fast。先判断是否存在环。 在判断是否…

mysql 无论输入什么都是现实 not found_NotAPanda

前言面试竞争力越来越大&#xff0c;是时候撸一波Vue和React源码啦&#xff1b;本文从20个层面来对比Vue和React的源码区别&#xff1b;如果需要了解API的区别&#xff0c;请戳&#xff1a;Vue 开发必须知道的 36 个技巧React 开发必须知道的 34 个技巧文章源码&#xff1a;请戳…

这五张PPT告诉你,如何打造无人驾驶“最强大脑”

“英特尔在谈无人驾驶&#xff0c;会成为汽车制造商吗?NO!我们要为无人驾驶提供从车、连接到云的‘最强大脑’。” 在昨天于北京举行的英特尔无人驾驶分享会上&#xff0c;英特尔无人驾驶事业部中国区市场总监徐伟杰在主旨演讲中开门见山。 这也是英特尔无人驾驶事业部去年11月…

javascript之ua与urlSchema

我们首先拿到浏览器ua: 1 var ua navigator.userAgent; 1 if (ua.indexOf("MicroMessenger") > -1) { 2 alert("微信浏览器"); 3 } 1 if (ua.indexOf("iPhone") > -1) { 2 alert("iphone"); 3 } 其…

ezdpl Linux自动化部署实战

最近把ezdpl在生产环境中实施了&#xff0c;再加上这段时间的一些修改&#xff0c;一并介绍一下。再次申明&#xff1a; ezdpl不是开箱即用的&#xff0c;需要根据自己的应用环境定制。对初学者来说使用起来反倒困难更多、风险更大。它不是一个通用的项目&#xff0c;更多的是提…

无法打开输入文件mysql_错误LNK1181,pip安装“无法打开输入文件”mysqlclient.lib'...

我是Python新手&#xff0c;正在尝试安装mysql模块&#xff0c;但是在解决了其他5个问题之后&#xff0c;我现在遇到了一个问题&#xff0c;当我尝试安装该模块时&#xff0c;会出现以下日志&#xff1a;PS C:\Users\poste> pip install mysqlCollecting mysqlUsing cached …

俄罗斯将封杀LinkedIn 推动个人数据本地化

北京时间11月11日上午消息&#xff0c;莫斯科一家法院本周四支持了在俄罗斯封杀职业社交网站LinkedIn的决定。 俄罗斯联邦通信监管局&#xff08;Roskomnadzor&#xff09;之前要求国内外企业从2015年9月开始&#xff0c;必须将所有俄罗斯用户的个人数据存储在该国境内。Linked…

python的datetime举例_Python datetime模块的使用示例

1、获取当前年月日时分秒# -*- encodingutf-8 -*-import datetimenow datetime.datetime.now()print("now:{}".format(now))year now.yearprint("year:{}".format(year))month now.monthprint("month:{}".format(month))day now.dayprint(&q…