喜欢Python的小伙伴,希望本篇文章可以给你带来帮助!^.^

看到最后,给自己一个学习的基地!不管你是大佬还是小白,一起学习共同进步!感谢大家一直来的支持!

我们继续上一篇文章:第一篇

7、列举 Python2和Python3的区别

  • print
  • input
1 问题:如何获取编码方式的信息? 2 获取目标bytes的编码方式 3 这一情况可以通过chardet模块的detect()函数来获取信息,chardet是第三方库,可以通过pip来安装 4  5 b是待检测的bytes变量 6  7 import chardet 8 print(chardet.detect(b)) 9 ######output####10 {'confidence': 1.0, 'encoding': 'ascii'}11 112 213 314 415 516 confidence是指匹配程度,encoding是指可能的编码方式17 18 获取当前环境的编码方式 19 这一情况可以使用sys模块下的getdefaultencoding()函数来获取信息20 21 import sys22 print(sys.getdefaultencoding())23 24 ######## output#####25 utf-8
  • 问题在控制台上看到的到底是什么
1 写上面的东西的时候产生了一个疑问,现在已经知道Python内部存储str的方式是使用unicode字符集,但是我们在屏幕上看到的并不是unicode字符集 3 s = "你好" 4 print(s) 6 #########output############# 7 你好13 s的 unicode 是 你好14 115 那么,这中间应该是进行了某种转换 16 实际上,在执行print(str)的时候,python内部执行了encoding操作,控制台拿到的其实是一个bytes变量 17 之后,控制台又根据环境内部的编码方式,将所得到的bytes内容进行decoding的操作,就显示了原先str的内容
  • 打开文件不再支持 file 方法,只能用 open
  • range不再返回列表,而是一个可迭代的range对象
  • 除法 / 不再是整除,而是得到浮点数,整除需要用双斜杠 //
  • urllib和urllib2合并成了urllib,常用的urllib2.urlopen()变成了urllib.request.urlopen()
  • 字符串及编码相关有大变动,简单来说就是原来的str变成了新的bytes,原来的unicode变成了新的str。

8、xrange和range的区别

python2中 xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器。

9、python的read() 、readline()、readlines()、xreadlines()

  • read()会读取整个文件,将读取到底的文件内容放到一个字符串变量,返回str类型。
  • readline()读取一行内容,放到一个字符串变量,返回str类型。
  • readlines() 读取文件所有内容,按行为单位放到一个列表中,返回list类型。
  • xreadlines()返回一个生成器,来循环操作文件的每一行。。

10、列举布尔值为False的常见值

None、""、0、[]、()、{}

11、字符串、列表、元组、字典每个常用的5个方法(整型,浮点,字符串,布尔型,列表、元组、字典、集合、日期)

字符串:

# encoding:utf-8__author__ = 'Fioman'__date__ = '2018/11/19 15:10'# 1. 去掉空格和特殊符号name = " abcdefgeyameng "name1 = name.strip() # 并不会在原来的字符串上操作,返回一个去除了两边空白的字符串print(name1, len(name1), name, len(name))# abcdefgeyameng 14 abcdefgeyameng 17# 去掉左边的空格和换行符name2 = name.lstrip()print(name2, len(name2))# print(name2, len(name2))## 去掉右边的空格和换行符name3 = name.rstrip()print(name3, len(name3)) # abcdefgeyameng 15# 2.字符串的搜索和替换name.count('e') # 查找某个字符在字符串中出现的次数name.capitalize() # 首字母大写name.center(100,'-') # 把字符串方中间,两边用-补齐,100表示占位多少name.find('a') # 找到这个字符返回下标,多个时返回第一个,不存在时返回-1name.index('a') # 找到这个字符返回下标,多个时返回第一个,不存在时报错print(name.replace(name,'123')) # 字符串的替换name.replace('abc','123') # 注意字符串的替换的话,不是在原来的字符串上进行替换.而是返回一个替换后的字符串.# 3.字符串的测试和替换函数name.startswith("abc") # 是否以abc开头name.endswith("def") # 是否以def结尾name.isalnum() # 是否全是字母和数字,并且至少包含一个字符name.isalpha() # 是否全是字母,并至少包含一个字符name.isdigit() # 是否全是数字,并且至少包含一个字符name.isspace() # 是否全是空白字符,并且至少包含一个字符name.islower() # 是否全是小写name.isupper() # 是否全是大写name.istitle() # 是否是首字母大写# 4.字符串的分割name.split('') # 默认按照空格进行分隔,从前往后分隔name.rsplit() # 从后往前进行分隔# 5.连接字符串'.'.join(name) # 用.号将一个可迭代的序列拼接起来name = 'geyameng'# 6.截取字符串(切片)name1 = name[0:3] # 第一位到第三位的字符,和range一样不包含结尾索引name2 = name[:] # 截取全部的字符name3 = name[6:] # 截取第6个字符到结尾name4 = name[:-3] # 截取从开头到最后一个字符之前name5 = name[-1] # 截取最后一个字符name6 = name[::-1] # 创造一个与原字符串顺序相反的字符串name7 = name[:-5:-1] # 逆序截取

列表:

# encoding:utf-8__author__ = 'Fioman'__date__ = '2018/11/19 16:26'# 1.创建一个列表list1 = ['1', '2', '3', '4']list2 = list("1234")print(list1, list2)print(list1 == list2)# 以上创建的两个列表是等价的,都是['1', '2', '3', '4']# 2.添加新元素# 末尾追加a = [1, 2, 3, 4, 5]a.append(6)print(a)# 指定位置的前面插入一个元素a.insert(2, 100) # 在下标为2的前面插入一个元素100print(a)# 扩展列表list.extend(iterable),在一个列表上追加一个列表a.extend([10, 11, 12])print(a)# 3.遍历列表# 直接遍历for i in a: print(i)# 带索引的遍历列表for index, i in enumerate(a): print(i, index)# 4.访问列表中的值,直接通过下标取值.list[index]print(a[2])# 从list删除元素# List.remove() 删除方式1:参数object 如果重复元素,只会删除最靠前的.a = [1,2,3]a.remove(2) # 返回值是None# List.pop() 删除方式2:pop 可选参数index,删除指定位置的元素 默认为最后一个元素a = [1,2,3,4,5]a.pop()print(a)a.pop(2)print(a)# 终极删除,可以删除列表或指定元素或者列表切片,list删除后无法访问a = [1,2,3,4,5,6]del a[1]print(a) # 1, 3, 4, 5, 6]del a[1:]print(a) # 1del a# print(a) # 出错,name a is not defined# 排序和反转代码# reverse 反转列表a = [1,2,3,4,5]a.reverse()print(a)# sort 对列表进行排序,默认升序排列.有三个默认参数cmp = None,key = None,reverse = False# 7.Python的列表的截取与字符串操作类型相同,如下所示L = ['spam','Spam','SPAM!']print(L[-1]) # ['SPAM']# 8.Python列表操作的函数和方法len(a) # 列表元素的个数max(a) # 返回列表元素最大值min(a) # 返回列表元素最小值list(tuple) #将一个可迭代对象转换为列表# 列表常用方法总结a.append(4)a.count(1)a.extend([4,5,6])a.index(3)a.insert(0,2)a.remove()a.pop()a.reverse()a.sort()

元组:

1.用一个可迭代对象生成元组 T = tuple('abc')对元组进行排序注意当对元组进行排序的时候,通常先得将它转换为列表并使得它成为一个可变对象.或者使用sorted方法,它接收任何序列对象.T = ('c','a','d','b')tmp = list(T)tmp.sort() ==> ['a','b','c','d']T = tunple(tmp)sorted(T)

字典:

以下实例展示了 fromkeys()函数的使用方法:实例(Python 2.0+)#!/usr/bin/python# -*- coding: UTF-8 -*-seq = ('Google', 'Runoob', 'Taobao')dict = dict.fromkeys(seq)print "新字典为 : %s" % str(dict)dict = dict.fromkeys(seq, 10)print "新字典为 : %s" % str(dict)以上实例输出结果为:新字典为 : {'Google': None, 'Taobao': None, 'Runoob': None}新字典为 : {'Google': 10, 'Taobao': 10, 'Runoob': 10}

通过zip函数构建字典D = dict(zip(keyslist,valueslist))通过赋值表达式元组构造字典(键必须是字符串,因为如果不是字符串,构造的时候也会当成是字符串处理)D = dict(name='Bob',age=42) ==> {'name':'Bob,'age':42}列出所有的键,值.注意得到的是一个可迭代对象,而不是列表.用的时候需要转换D.keys() D.values() D.items() --> 键 + 值删除字典(根据键)以及长度D.pop(key) len(D) del D[key]新增或者是修改键对应的值D[key] = value # 如果key已经存在则修改,如果不存在就创建.
字典推导式D = [x:x**2 for x in range(10) if x %2 == 0]

最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。

c截取字符串中的一部分_2019年!史上最全Python基础题(50道题详解)持续更新中-第二篇...相关推荐

  1. ElasticSearch搜索引擎详解-持续更新中

    ElasticSearch搜索引擎详解 1. ElasticSearch概述 1.1 elasticsearch是什么 1.2 全文搜索引擎 1.3 elasticsearch and solr 1. ...

  2. 【2022年】中科大研究生-考试题、复习资料汇总(往年真题+复习资料)(持续更新中)

    [2022年]中科大研究生-考试题.复习资料汇总(往年真题+复习资料) 0.前言 致电饭煲们: 大家好,感谢大家私信中的建议以及鼓励,针对私信中资料更新的问题,博主会在此专栏更新最新版的复习资料,资料 ...

  3. VIM查找和替换字符串命令详解(持续更新中...)

    vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询.    :s/vivian/sky/ 替换当前行第一个 vivian ...

  4. php怎么配置configure,PHP编译参数configure配置详解(持续更新中)

    编译参数-使用 ./configure -h 在源代码目录中,该命令可以查看所有编译参数以及对应的英文解释 编译参数-说明 --prefix=/opt/php //指定 php 安装目录 --with ...

  5. Python 100个简单小例子(持续更新中)

    Python 100个简单小例子(持续更新中) 1 编写一个计算平年还是闰年的小例子其核心是年份可以整除4和400,且不是100的倍数且2000年是特殊年份为闰年! year = int(input( ...

  6. 深度梳理:史上最全 Python 字符串格式化讲解

    大家好,今天给大家分享一篇堪称史上最全对字符串格式化的文章.喜欢点赞.收藏.关注. 上个周末看到"pandas数据格式化处理"的时候,想着把(设置小数位数,设置百分位,设置千位分隔 ...

  7. 两个字符串组成tuple_史上最全python字符串操作指南

    惨不忍睹 拿出了看家的老中医野广告,都没能拯救惨淡的selenium剧集.上周五和朋友聊天,说希望看到一些python基础的知识.本来还担心更新基础的东西没人看,但现在看来,最差不过selenium系 ...

  8. 史上最全python字符串操作指南 #华为云·寻找黑马程序员#

    惨不忍睹 拿出了看家的老中医野广告,都没能拯救惨淡的selenium剧集.上周五和朋友聊天,说希望看到一些python基础的知识.本来还担心更新基础的东西没人看,但现在看来,最差不过selenium系 ...

  9. Java全栈体系路线(总结不易,持续更新中)

    文章目录 Java全栈工程师 <font color=orange>Java基础 基础语法 面向对象 工具类 集合框架 序列化 反射机制 注解 文件处理 设计模式 视频教程 文档教程 练习 ...

  10. ②【Java 组】蓝桥杯省赛真题解析 [振兴中华] [三部排序] 持续更新中...

    个人简介:Java领域新星创作者:阿里云技术博主.星级博主.专家博主:正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 蓝桥杯真题--持续更新中... ...

最新文章

  1. 个人博客 SEO 优化(2):站内优化
  2. SpringBoot+Mybatis多模块(module)项目搭建教程
  3. Python DataFrame数据清洗后行索引不连续——reset_index
  4. eureka自我保护时间_阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默...
  5. Magicodes.IE 3.0重磅设计畅谈
  6. vscode 智能打印_vscode智能提示
  7. 酒厂选址(codevs 1507)
  8. java字符转为数字_Java 判断字符串能否转化为数字的三种方法
  9. 企业实战02:Oracle数据库的安装和卸载
  10. Office Live Workspace让协同办公无处不在
  11. linux 下 /dev和/sys/dev的区别
  12. Local Database Overview for Windows Phone
  13. hdu4883-模拟---区间计数小技巧
  14. MG3000系列设备IP修改内容
  15. 快速查找文件的神器Listary
  16. “油猴”的五大神级脚本
  17. 装备制造业的变革时代,SCM供应链管理系统如何赋能装备制造企业转型升级
  18. 大数据高频面试题之Hive的分区及其优势
  19. 组态王串口服务器虚拟串口,串口服务器通过modbus TCP连接组态王实例
  20. CCIE知识点总结——QoS

热门文章

  1. 获得Oracle中刚插入的数据的ID(for produce)
  2. nodejs+express- http 访问本地json数据
  3. JAVA 基础之 多线程
  4. Centos学习笔记 linux 常用命令:压缩解压命令
  5. 客户端地图拼图算法解析
  6. 关闭SqlConnection的方法
  7. kinect获取实时深度数据
  8. Atitit 数据库重复数据产生原因与解决总结 目录 1. 原因 1 1.1. 缺少数据约束校验 1 1.2. 表关系关联设计错误 1 2. 约束种类 1 2.1. 分类 表级约束vs列级别约束 2
  9. Atitit redis使用场合总结 使用场景 目录 1.1. 3. Session 存储 1 1、 配置数据查询 1 2. 排行榜应用,取TOP N操作 1 1.2.     1、查找最
  10. Atitit 眼科医学之道 attilax总结