Python开发【第二篇】:Python基本数据类型
运算符
设定:a=10,b=20 。
算数运算
2、比较运算
3、赋值运算
4、逻辑运算
5、成员运算
基本数据类型
1、数字
int(整型)
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1。
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1。
以下引用:http://www.cnblogs.com/linjiqin/p/3608541.html
- 数字类型转换:
- int(x [,base]) 将x转换为一个整数
- float(x ) 将x转换到一个浮点数
- complex(real [,imag]) 创建一个复数
- str(x) 将对象x转换为字符串
- repr(x) 将对象x转换为表达式字符串
- eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
- tuple(s) 将序列s转换为一个元组
- list(s) 将序列s转换为一个列表
- chr(x) 将一个整数转换为一个字符
- unichr(x) 将一个整数转换为Unicode字符
- ord(x) 将一个字符转换为它的整数值
- hex(x) 将一个整数转换为一个十六进制字符串
- oct(x) 将一个整数转换为一个八进制字符串
- 数字函数转换:
- abs(x) 返回数字的绝对值,如abs(-10) 返回 10
- ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
- cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
- 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的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j
2、布尔值
真或假
1 或0
3、字符串
字符串常用功能:
- 移除空白
- 分割
- 长度
- 索引
- 切片
- str.strip().lstrip().rstrip(',') #去空格及特殊符号
- len(str) #获取字符串长度
- str.lower() #将字符串转换为小写
- str.upper() #将字符串转换为大写
- str.swapcase() #字符串大小写互换
- str.capitalize() #字符串首字母大写
- strncat(str_1,str_2,n) #str_1末尾添加指定长度的字符串str_2
- strncmp(str_1,str_2,n) #字符串指定长度比较
- strncpy(str_1,str_2,n) #复制指定长度的字符串str_2到str_1
- strnset(str_1,str_2,n) #将字符串str_1前n个字符替换为指定的字符str_2
- strrev(str) #翻转字符串
- strtok(str_1,str_2) #以str_2分割str_1
- 字符串截取:
- str = '0123456789′
- str[0:3] #截取第一位到第三位的字符
- str[:] #截取字符串的全部字符
- str[6:] #截取第七个字符到结尾
- str[:-3] #截取从头开始到倒数第三个字符之前
- str[2] #截取第三个字符
- str[-1] #截取倒数第一个字符
- str[::-1] #创造一个与原字符串顺序相反的字符串
- str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
- str[-3:] #截取倒数第三位到结尾
- str[:-5:-3] #逆序截取
- 字符串在输出时的对齐方式:
- str.ljust(width,[fillchar]) #输出width个字符,str左对齐,不足部分用fillchar填充,默认为空格
- str.rjust(width,[fillchar]) #右对齐
- str.center(width,[fillchar]) #中间对齐
- str.zfill(width) #把str变成width长,并在右对齐,不足部分用0补足
- 字符串中的搜索与替换:
- str.find(substr,[start,[end]]) #返回str中出现substr的第一个字母的标号,如果str中没有则返回-1。start和end作用相当于在str[start:end]中搜索
- str.index(substr,[start,[end]]) #与find()相同,只是在str中没有时,会返回一个运行时错误
- str.rfind(substr,[start,[end]]) #返回str中最后出现的substr的第一个字母的标号,如果str中没有则返回-1。
- str.rindex(substr,[start,[end]]) #同上推理
- str.count(substr,[start,[end]]) #计算substr在str中出现的次数
- str.replace(oldstr,newstr,[count]) #把str中的oldstr替换为newstr,count为替换次数。
- str.strip([chars]) #把str中前后chars中有的字符全部去掉,可以理解为把str前后chars替换为none
- str.lstrip([chars]) #替换str中chars的左边部分
- str.rstrip([chars]) #替换str中chars的右边部分
- str.expandtabs([tabsize]) #把str中的tab字符替换为空格,每个tab替换为tabsize个空格,默认是8个
- 字符串的分割与组合:
- str.split([sep,[maxsplit]]) #以sep为分隔符,把str分成一个list,maxsplit表示分割的次数。默认的分隔符为空白字符
- str.join(seq) #把seq代表的序列——字符串序列,用str连接起来
- 字符串的测试、判断,返回bool值:
- str.startswith(prefix[,start[,end]]) #是否以prefix开头
- str.endswith(suffix[,start[,end]]) #是否以suffix结尾
- str.isalnum() #判断是否全是字母和数字,并且至少一个字符
- str.isdigit() #判断是否全是数字,并且至少一个字符
- str.isspace() #判断是否全是空白字符,并且至少一个字符
- str.islower() #判断str中的字母是否全是小写
- str.isupper() #判断str中的字母是否全是大写
- str.istitle() #判断str的首字母是否大写
4、列表
list是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目。列表中的项目包括在方括号中,一旦创建了一个列表,就可以添加、删除、修改,或者搜索列表中的项目。列表是可变的数据类型,即数据类型是可以被改变的,并且列表是可以嵌套的。
创建列表:
- name_list = ['golden','anle','sevel','dickc']
- 或
- name_list = list([name_list = ['golden','anle','sevel','dickc'])
基本操作:
- 索引
- 切片
- 追加
- 删除
- 长度
- 切片
- 循环
- 包含
- list[0] #取出第一个元素
- list[-1] #取出最后一个元素
- list[:] 或 list[:len(list)] #取出所有列表元素
- list[0:n] #取出从第0号到第n-1号元素
- list[0] = 'xx' #修改第0号的元素值
- del list[0] #删除第0号元素
- if 'xx' in list: #判断元素'xx'是否在列表
- len(list) #获取列表元素的个数
- max(list) #取出列表中元素的最大值
- min(list) #取出列表中元素的最小值
- list.append('xx') #列表中添加元素'xx'
- list.insert(0,'xx') #在列表第0号位置上插入元素'xx'
- list.index('xx') #返回元素'xx'在列表中第一次出现的索引值
- list.count('xx') #返回元素'xx'在列表中的个数
- list.remove('xx') #移除第一次出现的元素'xx'
- list.pop() #移除元素,默认从最后移除,返回该元素值,括号中可加入元素索引值来移除
- list.sort() #排序
- list.reverse() #反向
- list.extend(seq) #在列表末尾一次性追加另一个序列中的多个值
5、元组
元组与列表十分相似,不过元组是不可变的,即不能修改元组。元组通过圆括号中用逗号分隔的项目定义。元组通常用在使语句或用户定义的函数能够安全的采用一组值的时候,即被使用元组的值不会改变。元组可以嵌套。
创建元组:
- ages = (12,13,14,15,16)
- 或
- ages = tuple((12,13,14,15,16))
基本操作:
- 索引
- 切片
- 循环
- 长度
- 包含
6、字典(无序)
字典将键和值联系在一起,键必须是唯一的。键值对在字典中的标记方式:d = {key1:value1,key2:value2,key3,value3…}。键/值对用冒号分割,而各个键值对用逗号分隔,所有这些都包括在花括号里。字典中的键/值对是无序的。
创建字典:
- person = {"name":"wang","age":22}
- 或
- person = {"name":"wang","age":22}
常用操作:
- 索引
- 新增
- 删除
- 键、值、键值对
- 循环
- 长度
- person = {"name":"wang","age":22}
- 或
- person = {"name":"wang","age":22}
- person.keys() #返回包含字典所有key的列表
- person.values() #返回包含字典所有value的列表
- person.items() #返回所有键值的元组的列表
- person.clear() #删除字典中的所有项或元素
- person.copy #浅拷贝
- person.fromkeys(seq,val=None) #创建并返回一个新字典,以seq中的元素做该字典的键,val做该字典中所有键对应的初始值(默认为None)
- person.get(key,default=None) #返回字典中key对应的值,若key不存在,则返回default的值(default默认为None)
- person.update(person2) #将字典person2的键值对添加到字典person中
- for key in person.keys():print(key) #遍历字典的key(键)
- for
value
in person.values():print(value) #遍历字典的value(值) - for item in person.items():print(item) #遍历字典的项(元素)
- for item,value
in person.items():print('key=%s,value=%s'%(item,value)) #遍历字典的key-value - person[new_key] #添加一个数据项(新元素)或键值对
- person[old_key] #更新一个数据项(元素)或键值对
- del person[key] #删除键key的项,
- del person #删除整个字典
- person.pop(key) #删除键key的项并返回key对应的value值
7、其他
1、for循环
用户按照顺序循环可迭代对象中的内容。
- list = [11,22,33,44]
- for item in list:
- print(item)
2、enumrate
为可迭代的对象添加序号。
- list = [11,22,33]
- for k,v in enumerate(list,1):
- print(k,v)
3、range和xrange
指定范围,生成指定的数字。
- range(1,10) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
- rang(1,10,2) #[1, 3, 5, 7, 9]
- range(30,0,-2) #[30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2]
- 用法:
- for i in range(30,0,-2):
- print(i)
xrange用法与range完全相同,不同的是生成的不是一个list对象。在生成很大的数字序列的时候,用xrange会比range性能优秀很多,因为xrange不需要一上来就开辟一块很大的内存空间。在做循环的时候,推荐使用xrange,除非一定要返回一个列表。
Python开发【第二篇】:Python基本数据类型的更多相关文章
- Python开发 第一篇 python的前世今生
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
- python开发第二篇 :python基础
python基础a.Python基础 -基础1. 第一句python -python后缀名可以任意? -导入模块时如果不是.py文件,以后的文件后缀名是.py.2.两种 ...
- python开发[第二篇]------str的7个必须掌握的方法以及五个常用方法
在Python中 基本数据类型有 str int boolean list dict tuple等 其中str的相关方法有30多个 但是常用的就以下7个 join # split # find # ...
- Python开发第二篇
运算符 1.算术运算符 % 取余运算符,返回余数 ** 幂运算符 //返回商的整数部分 2.逻辑运算符 and 与运算符 a and b 如果a为False是,表达式为False,如果a为True返 ...
- 《python开发技术详解》|百度网盘免费下载|Python开发入门篇
<python开发技术详解>|百度网盘免费下载|Python开发入门篇 提取码:2sby 内容简介 Python是目前最流行的动态脚本语言之一.本书共27章,由浅入深.全面系统地介绍了利 ...
- 第二篇 python进阶
目录 第二篇 python进阶 一 数字类型内置方法 二 字符串类型内置方法 三 列表类型内置方法(list) 四 元组类型内置方法(tuple) 五 字典内置方法 六 集合类型内置方法(self) ...
- Python人工智能第二篇:人脸检测和图像识别
Python人工智能第二篇:人脸检测和图像识别 人脸检测 详细内容请看技术文档:https://ai.baidu.com/docs#/Face-Python-SDK/top from aip impo ...
- [转帖]虚拟内存探究 -- 第二篇:Python 字节
虚拟内存探究 -- 第二篇:Python 字节 http://blog.coderhuo.tech/2017/10/15/Virtual_Memory_python_bytes/ 是真看不懂哦 ...
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- iOS开发——高级技术精选&底层开发之越狱开发第二篇
底层开发之越狱开发第二篇 今天项目中要用到检查iPhone是否越狱的方法. Umeng统计的Mobclick.h里面已经包含了越狱检测的代码,可以直接使用 /*方法名: * isJailbroken ...
随机推荐
- selenium报错
Python 2.7.15 selenium 2.53.6 Firefox 47.0.1 pycharm 2017.3.7 # coding:utf-8 from selenium import ...
- java环境变量配置方法
原创文章,转载请注明出处. 这是本人2011-9-4记录的,现在把它放在博客上. windows xp下配置JDK环境变量: 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为 ...
- Django 之单个mysql表使用
1. mysql 表使用的功能有: 增 删 改 查 这几大功能, 但是mysql 和django 对接之后,使用的语法不是原生的SQL语法. 2. 增功能的实现: User.objects.cre ...
- delphi Berlin Could not load SSL library.
delphi Berlin Could not load SSL library. TIdSSLIOHandlerSocketOpenSSL 解决办法:下载合适的版本文件libssl32.dll Id ...
- 机器学习入门-数值特征-进行二值化变化 1.Binarizer(进行数据的二值化操作)
函数说明: 1. Binarizer(threshold=0.9) 将数据进行二值化,threshold表示大于0.9的数据为1,小于0.9的数据为0 对于一些数值型的特征:存在0还有其他的一些数 二 ...
- android平台yuv缩放相关<转>
Android的视频相关的开发,大概一直是整个Android生态,以及Android API中,最为分裂以及兼容性问题最为突出的一部分.摄像头,以及视频编码相关的API,Google一直对这方面的控制 ...
- monkey压力测试
压力测试: monkey -p com.qihu360.mobilesafe -v -p 后面跟包名 : -v 后面跟次数: 通过观察log日志,查看应用中出现的问题. =============== ...
- 2.Servlet基础.md
目录 1.定义 2.特点 3.手动编写一个Servlet 3.1创建一个Servlet类 3.2找到编写类的class文件,将这个类的整个包拷贝到一个web应用中的WEB-INF/classes目录下 ...
- 学JS的心路历程-Promise(二)
昨天有说到Promise的创建以及then的用法,今天我们来看错误处理. then onRejected 我们昨天有提到说,then两个函式参数,onFulfilled和onRejected,而onR ...
- BN和滑动平均
BN目的是使得每层训练的输出结果在同一分布下,实验证明不仅可以加速收敛速度,还可以提高准确度 因为如果想要计算所有图像的均值与方差,显然不太现实,所以每次计算每个batch的方差与均值,为了使得每个b ...