跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

时间:2022-09-17 18:40:49

跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

运算符

设定:a=10,b=20 。

  1. 算数运算

跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

2、比较运算

跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

3、赋值运算

跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

4、逻辑运算

跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

5、成员运算

跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

基本数据类型

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开发&lbrack;第二篇&rsqb;------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开发技术详解》&vert;百度网盘免费下载&vert;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. &lbrack;转帖&rsqb;虚拟内存探究 -- 第二篇&colon;Python 字节

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

  9. visual studio 2015 搭建python开发环境,python入门到精通&lbrack;三&rsqb;

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

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

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

随机推荐

  1. (转)名称和本质 by王珢

    名称和本质 by 王垠 我很喜欢 Richard Feynman 写的 <What Do You Care What Other People Think>.在最开头 Feynman 讲到 ...

  2. Express ejs 3&period;&ast; layout&period;ejs

    新版本改成了 <%- include file.ejs %> 具体使用方法如下:1. views文件夹 下新建header.ejs,插入代码 <html><head&gt ...

  3. Java——Socket编程(一)

    1. 网络基础知识 两台机器之间需要进行通信,需要满足的条件: 每个机器有一个唯一的标识符(IP地址): 他们之间进行通信需要用同一种语言(协议): 每台主机上面有多个应用程序,如QQ,微博,迅雷等, ...

  4. BZOJ1727 &lbrack;Usaco2006 Open&rsqb;The Milk Queue 挤奶队列

    贪心...我怎么不会QAQ[捂脸熊] 对于1.2两头牛,如果1号牛要排在2号牛前面才能时间更少,则 $$max(A_1 + B_1 + B_2, \ A_1 + A_2 + B_2) \le max( ...

  5. 不用css样式表和背景图片实现圆角矩形,超简洁!

    当网站页面的整体布局设计好后,接下来有很多细节的实现是很让人头疼的.其中之一就是圆角矩形的实现. 在网上看了很多圆角矩形的实现方法,基本有两种,一种是用纯css实现,不需要背景图片:另一种是用背景图像 ...

  6. ecshop下启用QQ在线服务,并能实时更新QQ在线状态

    按照 http://blog.csdn.net/zurich1979/article/details/9082201 可轻松实现在线客服, 但是使用后发现一个问题,那就是这种情况下在线客服不能根据QQ ...

  7. npm package&period;json文件解读

    每个Nodejs项目的根目录下面,一般都会有一个package.json文件.该文件可以由npm init生成,定义了项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元数据). pa ...

  8. lanmp环境中php版本的升级为7&period;1

    查看php版本的信息 vim  ./lib/phps.sh 设置权限   chmod 755 ./lib/phps.sh 下载版本  ./lib/phps.sh  7.1.4 查看版本 php -v ...

  9. October 16th 2017 Week 42nd Monday

    The more decisions that you are forced to make alone, the more you are aware of your freedom to choo ...

  10. prometheus-operator 监控 Rabbitmq集群

    首先我们监控服务需要知道prometheus-operator是如何去工作的,才好去写相关的yaml配置,这里我划分成了5个部分,如果容器服务本身就以k8s来编排的,那就只需要三步,这里因为我的rab ...