运算符

设定: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. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  2. 和 Thrift 的一场美丽邂逅

    一. 与 Thrift 的初识 也许大多数人接触 Thrift 是从序列化开始的.每次搜索 “java序列化” + “方式”.“对比” 或 “性能” 等关键字时,搜索引擎总是会返回一大堆有关各种序列化 ...

  3. 伪共享(false sharing),并发编程无声的性能杀手

    在并发编程过程中,我们大部分的焦点都放在如何控制共享变量的访问控制上(代码层面),但是很少人会关注系统硬件及 JVM 底层相关的影响因素.前段时间学习了一个牛X的高性能异步处理框架 Disruptor ...

  4. 计算机程序的思维逻辑 (54) - 剖析Collections - 设计模式

    上节我们提到,类Collections中大概有两类功能,第一类是对容器接口对象进行操作,第二类是返回一个容器接口对象,上节我们介绍了第一类,本节我们介绍第二类. 第二类方法大概可以分为两组: 接受其他 ...

  5. 简单搭建 nuget 内部服务器

    搭建 nuget 内部服务器,最好的方式是使用 ProGet,参考博文<用 ProGet 搭建内部的 NuGet 服务器>,好处非常多,但需要使用 SQL Server 数据库,如果不想使 ...

  6. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

  7. Effective java笔记(二),所有对象的通用方法

    Object类的所有非final方法(equals.hashCode.toString.clone.finalize)都要遵守通用约定(general contract),否则其它依赖于这些约定的类( ...

  8. 【夯实PHP基础】nginx php-fpm 输出php错误日志

    本文地址 原文地址 分享提纲: 1.概述 2.解决办法(解决nginx下php-fpm不记录php错误日志) 1. 概述 nginx是一个web服务器,因此nginx的access日志只有对访问页面的 ...

  9. H5 canvas的 width、height 与style中宽高的区别

    Canvas 的width height属性 1.当使用width height属性时,显示正常不会被拉伸:如下 <canvas id="mycanvas" width=&q ...

  10. 编译器开发系列--Ocelot语言1.抽象语法树

    从今天开始研究开发自己的编程语言Ocelot,从<自制编译器>出发,然后再自己不断完善功能并优化. 编译器前端简单,就不深入研究了,直接用现成的一款工具叫JavaCC,它可以生成抽象语法树 ...