运算符

设定:a=10,b=20 。

  1. 算数运算

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

  1. 数字类型转换:
  2.  
  3. int(x [,base]) 将x转换为一个整数
  4. float(x ) 将x转换到一个浮点数
  5. complex(real [,imag]) 创建一个复数
  6. str(x) 将对象x转换为字符串
  7. repr(x) 将对象x转换为表达式字符串
  8. eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
  9. tuple(s) 将序列s转换为一个元组
  10. list(s) 将序列s转换为一个列表
  11. chr(x) 将一个整数转换为一个字符
  12. unichr(x) 将一个整数转换为Unicode字符
  13. ord(x) 将一个字符转换为它的整数值
  14. hex(x) 将一个整数转换为一个十六进制字符串
  15. oct(x) 将一个整数转换为一个八进制字符串
  16.  
  17. 数字函数转换:
  18.  
  19. abs(x) 返回数字的绝对值,如abs(-10) 返回 10
  20. ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
  21. cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
  22. exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
  23. fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0
  24. floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
  25. log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
  26. log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
  27. max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
  28. min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
  29. modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
  30. pow(x, y) x**y 运算后的值。
  31. round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
  32. sqrt(x) 返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j

2、布尔值

真或假

1 或0

3、字符串

字符串常用功能:

  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片
  1. str.strip().lstrip().rstrip(',') #去空格及特殊符号
  2. len(str) #获取字符串长度
  3. str.lower() #将字符串转换为小写
  4. str.upper() #将字符串转换为大写
  5. str.swapcase() #字符串大小写互换
  6. str.capitalize() #字符串首字母大写
  7. strncat(str_1,str_2,n) #str_1末尾添加指定长度的字符串str_2
  8. strncmp(str_1,str_2,n) #字符串指定长度比较
  9. strncpy(str_1,str_2,n) #复制指定长度的字符串str_2到str_1
  10. strnset(str_1,str_2,n) #将字符串str_1前n个字符替换为指定的字符str_2
  11. strrev(str) #翻转字符串
  12. strtok(str_1,str_2) #以str_2分割str_1
  13.  
  14. 字符串截取:
  15. str = '0123456789′
  16. str[0:3] #截取第一位到第三位的字符
  17. str[:] #截取字符串的全部字符
  18. str[6:] #截取第七个字符到结尾
  19. str[:-3] #截取从头开始到倒数第三个字符之前
  20. str[2] #截取第三个字符
  21. str[-1] #截取倒数第一个字符
  22. str[::-1] #创造一个与原字符串顺序相反的字符串
  23. str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
  24. str[-3:] #截取倒数第三位到结尾
  25. str[:-5:-3] #逆序截取
  26.  
  27. 字符串在输出时的对齐方式:
  28. str.ljust(width,[fillchar]) #输出width个字符,str左对齐,不足部分用fillchar填充,默认为空格
  29. str.rjust(width,[fillchar]) #右对齐
  30. str.center(width,[fillchar]) #中间对齐
  31. str.zfill(width) #把str变成width长,并在右对齐,不足部分用0补足
  32.  
  33. 字符串中的搜索与替换:
  34. str.find(substr,[start,[end]]) #返回str中出现substr的第一个字母的标号,如果str中没有则返回-1。start和end作用相当于在str[start:end]中搜索
  35. str.index(substr,[start,[end]]) #与find()相同,只是在str中没有时,会返回一个运行时错误
  36. str.rfind(substr,[start,[end]]) #返回str中最后出现的substr的第一个字母的标号,如果str中没有则返回-1。
  37. str.rindex(substr,[start,[end]]) #同上推理
  38. str.count(substr,[start,[end]]) #计算substr在str中出现的次数
  39. str.replace(oldstr,newstr,[count]) #把str中的oldstr替换为newstr,count为替换次数。
  40. str.strip([chars]) #把str中前后chars中有的字符全部去掉,可以理解为把str前后chars替换为none
  41. str.lstrip([chars]) #替换str中chars的左边部分
  42. str.rstrip([chars]) #替换str中chars的右边部分
  43. str.expandtabs([tabsize]) #把str中的tab字符替换为空格,每个tab替换为tabsize个空格,默认是8个
  44.  
  45. 字符串的分割与组合:
  46. str.split([sep,[maxsplit]]) #以sep为分隔符,把str分成一个list,maxsplit表示分割的次数。默认的分隔符为空白字符
  47. str.join(seq) #把seq代表的序列——字符串序列,用str连接起来
  48.  
  49. 字符串的测试、判断,返回bool值:
  50. str.startswith(prefix[,start[,end]]) #是否以prefix开头
  51. str.endswith(suffix[,start[,end]]) #是否以suffix结尾
  52. str.isalnum() #判断是否全是字母和数字,并且至少一个字符
  53. str.isdigit() #判断是否全是数字,并且至少一个字符
  54. str.isspace() #判断是否全是空白字符,并且至少一个字符
  55. str.islower() #判断str中的字母是否全是小写
  56. str.isupper() #判断str中的字母是否全是大写
  57. str.istitle() #判断str的首字母是否大写

4、列表

list是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目。列表中的项目包括在方括号中,一旦创建了一个列表,就可以添加、删除、修改,或者搜索列表中的项目。列表是可变的数据类型,即数据类型是可以被改变的,并且列表是可以嵌套的。

创建列表:

  1. name_list = ['golden','anle','sevel','dickc']
  2. name_list = list([name_list = ['golden','anle','sevel','dickc'])

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含
  1. list[0] #取出第一个元素
  2. list[-1] #取出最后一个元素
  3. list[:] 或 list[:len(list)] #取出所有列表元素
  4. list[0:n] #取出从第0号到第n-1号元素
  5. list[0] = 'xx' #修改第0号的元素值
  6. del list[0] #删除第0号元素
  7. if 'xx' in list: #判断元素'xx'是否在列表
  8. len(list) #获取列表元素的个数
  9. max(list) #取出列表中元素的最大值
  10. min(list) #取出列表中元素的最小值
  11. list.append('xx') #列表中添加元素'xx'
  12. list.insert(0,'xx') #在列表第0号位置上插入元素'xx'
  13. list.index('xx') #返回元素'xx'在列表中第一次出现的索引值
  14. list.count('xx') #返回元素'xx'在列表中的个数
  15. list.remove('xx') #移除第一次出现的元素'xx'
  16. list.pop() #移除元素,默认从最后移除,返回该元素值,括号中可加入元素索引值来移除
  17. list.sort() #排序
  18. list.reverse() #反向
  19. list.extend(seq) #在列表末尾一次性追加另一个序列中的多个值

5、元组

元组与列表十分相似,不过元组是不可变的,即不能修改元组。元组通过圆括号中用逗号分隔的项目定义。元组通常用在使语句或用户定义的函数能够安全的采用一组值的时候,即被使用元组的值不会改变。元组可以嵌套。

创建元组:

  1. ages = (12,13,14,15,16)
  2. ages = tuple((12,13,14,15,16))

基本操作:

  • 索引
  • 切片
  • 循环
  • 长度
  • 包含

6、字典(无序)

字典将键和值联系在一起,键必须是唯一的。键值对在字典中的标记方式:d = {key1:value1,key2:value2,key3,value3…}。键/值对用冒号分割,而各个键值对用逗号分隔,所有这些都包括在花括号里。字典中的键/值对是无序的。

创建字典:

  1. person = {"name":"wang","age":22}
  2. person = {"name":"wang","age":22}

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度
  1. person = {"name":"wang","age":22}
  2. person = {"name":"wang","age":22}
  3.  
  4. person.keys() #返回包含字典所有key的列表
  5. person.values() #返回包含字典所有value的列表
  6. person.items() #返回所有键值的元组的列表
  7. person.clear() #删除字典中的所有项或元素
  8. person.copy #浅拷贝
  9. person.fromkeys(seq,val=None) #创建并返回一个新字典,以seq中的元素做该字典的键,val做该字典中所有键对应的初始值(默认为None)
  10. person.get(key,default=None) #返回字典中key对应的值,若key不存在,则返回default的值(default默认为None)
  11. person.update(person2) #将字典person2的键值对添加到字典person中
  12. for key in person.keys():print(key) #遍历字典的key(键)
  13. for
    value
    in person.values():print(value) #遍历字典的value(值)
  14. for item in person.items():print(item) #遍历字典的项(元素)
  15. for item,value
    in person.items():print('key=%s,value=%s'%(item,value)) #遍历字典的key-value
  16. person[new_key] #添加一个数据项(新元素)或键值对
  17. person[old_key] #更新一个数据项(元素)或键值对
  18. del person[key] #删除键key的项,
  19. del person #删除整个字典
  20. person.pop(key) #删除键key的项并返回key对应的value值

7、其他

1、for循环

用户按照顺序循环可迭代对象中的内容。

  1. list = [11,22,33,44]
  2. for item in list:
  3.    print(item)

2、enumrate

为可迭代的对象添加序号。

  1. list = [11,22,33]
  2. for k,v in enumerate(list,1):
  3.    print(k,v)

3、range和xrange

指定范围,生成指定的数字。

  1. range(1,10) #[1, 2, 3, 4, 5, 6, 7, 8, 9]
  2.  
  3. rang(1,10,2) #[1, 3, 5, 7, 9]
  4.  
  5. range(30,0,-2) #[30, 28, 26, 24, 22, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2]
  6.  
  7. 用法:
  8. for i in range(30,0,-2):
  9.    print(i)

xrange用法与range完全相同,不同的是生成的不是一个list对象。在生成很大的数字序列的时候,用xrange会比range性能优秀很多,因为xrange不需要一上来就开辟一块很大的内存空间。在做循环的时候,推荐使用xrange,除非一定要返回一个列表。

跟着老男孩教育学Python开发【第二篇】:Python基本数据类型的更多相关文章

  1. Python开发 第一篇 python的前世今生

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...

  2. python开发第二篇 :python基础

    python基础a.Python基础      -基础1. 第一句python       -python后缀名可以任意?     -导入模块时如果不是.py文件,以后的文件后缀名是.py.2.两种 ...

  3. python开发[第二篇]------str的7个必须掌握的方法以及五个常用方法

    在Python中 基本数据类型有 str int boolean list dict tuple等 其中str的相关方法有30多个 但是常用的就以下7个 join  # split # find # ...

  4. Python开发第二篇

    运算符 1.算术运算符 % 取余运算符,返回余数 ** 幂运算符 //返回商的整数部分 2.逻辑运算符 and  与运算符 a and b 如果a为False是,表达式为False,如果a为True返 ...

  5. 《python开发技术详解》|百度网盘免费下载|Python开发入门篇

    <python开发技术详解>|百度网盘免费下载|Python开发入门篇 提取码:2sby  内容简介 Python是目前最流行的动态脚本语言之一.本书共27章,由浅入深.全面系统地介绍了利 ...

  6. 第二篇 python进阶

    目录 第二篇 python进阶 一 数字类型内置方法 二 字符串类型内置方法 三 列表类型内置方法(list) 四 元组类型内置方法(tuple) 五 字典内置方法 六 集合类型内置方法(self) ...

  7. Python人工智能第二篇:人脸检测和图像识别

    Python人工智能第二篇:人脸检测和图像识别 人脸检测 详细内容请看技术文档:https://ai.baidu.com/docs#/Face-Python-SDK/top from aip impo ...

  8. [转帖]虚拟内存探究 -- 第二篇:Python 字节

    虚拟内存探究 -- 第二篇:Python 字节 http://blog.coderhuo.tech/2017/10/15/Virtual_Memory_python_bytes/ 是真看不懂哦     ...

  9. visual studio 2015 搭建python开发环境,python入门到精通[三]

    在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...

  10. iOS开发——高级技术精选&底层开发之越狱开发第二篇

    底层开发之越狱开发第二篇 今天项目中要用到检查iPhone是否越狱的方法. Umeng统计的Mobclick.h里面已经包含了越狱检测的代码,可以直接使用 /*方法名: * isJailbroken ...

随机推荐

  1. 从RPC开始(一)

    这是一篇关于纯C++RPC框架的文章.所以,我们先看看,我们有什么? 1.一个什么都能干的C++.(前提是,你什么都干了) 2.原始的Socket接口,还是C API.还得自己去二次封装... 3.C ...

  2. 常用 Gulp 插件汇总 —— 基于 Gulp 的前端集成解决方案(三)

    前两篇文章讨论了 Gulp 的安装部署及基本概念,借助于 Gulp 强大的 插件生态 可以完成很多常见的和不常见的任务.本文主要汇总常用的 Gulp 插件及其基本使用,需要读者对 Gulp 有一个基本 ...

  3. 12306官方火车票Api接口

    2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...

  4. 源码分析netty服务器创建过程vs java nio服务器创建

    1.Java NIO服务端创建 首先,我们通过一个时序图来看下如何创建一个NIO服务端并启动监听,接收多个客户端的连接,进行消息的异步读写. 示例代码(参考文献[2]): import java.io ...

  5. (一)开篇—杂谈WebGIS

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 我相信大家对百度地图,谷歌地图等相关应用已经是非常熟悉了.通过 ...

  6. Solr高级查询Facet

    一.什么是facet solr种以导航为目的的查询结果成为facet,在用户查询的结果上根据分类增加了count信息,然后用户根据count信息做进一步搜索. facet主要用于导航实现渐进式精确搜索 ...

  7. [原]Cachedb 网络模块文档

    Cachedb 网络模块文档 整体结构 多路复用 (epoll 模块) 事件驱动 (事件封装) 缓冲管理 (上层buffer管理) 设计思想 层次化的设计,每一个模块只调用上一个模块的接口,并将耦合聚 ...

  8. 如何在Elasticsearch中安装中文分词器(IK+pinyin)

    如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题--中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组. ...

  9. 使用Microsoft的IoC框架:Unity来对.NET应用进行解耦

    1.IoC/DI简介 IoC 即 Inversion of Control,DI 即 Dependency Injection,前一个中文含义为控制反转,后一个译为依赖注入,可以理解成一种编程模式,详 ...

  10. 数据库 oracle数据库基本知识

    sqlplus登录 普通用户登录 c:\>sqlplus 请输入用户名:scott 请输入口令: sqlplus scott/ quit退出 管理员登录 sqlplus /nolog 连接数据库 ...