python3.x总复习

本文全面回顾Python3.x的关键概念,包括六种基本数据类型,如数字、字符串、列表、元组、字典和集合。详细探讨了数字类型中的转换函数和内存管理,字符串的连接、常用函数与格式化,以及字典和列表的常用操作。深入讲解了Python中的字符串格式化,包括两种方法,并展示了lambda表达式、zip函数、enumerate函数的用法。此外,还讨论了时间戳、装饰器、map()、reduce()、filter()以及property的使用,最后对比了type()和isinstance()的区别,迭代器、生成器的概念以及Python类的私有方法和多重继承等高级特性。
摘要由CSDN通过智能技术生成

python3.x总复习

1. python有六种基本数据类型:数字number字符串str列表list元组tuple字典dict集合set,其中数字,字符串和元组是不可变数据类型。

  • 数字: python中的数字类型包括四种:整型int, 长整型long, 浮点型float, 复数complex。python3.x中把int都改成long,然后对外申称都是int了,所以没有long()函数。
    简单易错的数字运算:
>>>1/2
0.5
>>>1//2
0
>>>-3**2
-9
>>>import cmath
>>>cmath.sqrt(-1)
1j
  • 数字间的转换函数及其它函数
int (x[, base]) 将x转换为int型数字
float (x) 将x转换为浮点型数字
complex (real [, imag]) 创建一个复数
hex( x ) 将整数x转换为其十六进制形式的字符串
oct( x ) 将整数x转换为其八进制形式的字符串
round(expr) 计算表达式,并将结果四舍五入
floor(x) 对数字x向下取整,使用时需要import math
ceil(x) 对数字x向上取整, 使用时需要import math
>>>int('12')
12
>>>int(12.6)
12

>>> float('5')
5.0
>>> float(5)
5.0

>>> complex('5')
(5+0j)
>>> complex(5)
(5+0j)
>>> complex(5, 6)
(5+6j)
>>> complex(5, '6')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: complex() second arg can't be a string
>>> complex('5', 6)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: complex() can't take second arg if first is a string

>>> hex(10)
'0xa'

>>> oct(10)
'0o12'

>>> round(3/2)
2

>>> import math
>>> math.floor(1.9)
1
>>> math.ceil(1.1)
2

为减少内存,python使用内存池来管理小的整型数和小的字符串等等。对于以下赋值:a = 123, b = 123理论上是要分别在内存中创建两个值,然后赋值给变量的,但是这样做实在是有点浪费,明明是一样的数,却要占用两个内存空间。所以在python中,当小的整型(-5~257,不包括257)要多次创建时,只创建一次,后面的都将引用指向同一个地方。例如:

>>> a = 256
>>> b = 256
>>> id(a)
1578732544
>>> id(b)
1578732544
>>> a is b
True

>>> c = 257
>>> d = 257
>>> id(a)
2843231823536
>>> id(b)
2843231825200
>>> a is b
False
  • 字符串:
    字符串的连接方式:
>>> "hello"' '"world"
'hello world'
>>> "hello" + "world"
'helloworld'
>>> 3*"hello"
'hellohellohello'

字符串的常用函数:

str(x) 把值转换为合理的字符串形式,以便用户理解
repr(x) 会创建一个字符串,它以合法的python表示形式来表示值,以供解释器读取;它和str()的区别是,当值为字符串时,str()返回的是字符串本身’123’,而repr()返回的是解释器读取的字符串," ‘123’ "
len(x) 返回字符串的长度
str.upper() 将字符串中的字母全部变为大写
str.lower() 将字符串中的字母全部变为小写
str.swapcase() 将字符串中的字母大小写互换
str.capitalize() 字符串的首字母大写,其它字母不变
str.title() 所有单词的首字母大写
str.isdigit() 判断字符串str是否只由数字组成
str.isalpha() 判断字符串str是否只有字母组成
str.strip() 去掉字符串两端的空格(如果有的话)
str.split(x) 将字符串用x分割,返回一个列表;如果没有参数则默认以空格分割。
str.join(lst) 用字符串str将列表lst中的元素连接起来;列表lst中的元素应为str类型
str.replace(old, new[, max]) 把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。返回替换后的字符串,不改变原字符串。
str.maketrans(intab, outtab) 用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。两个字符串的长度必须相同,为一一对应的关系。该函数通常与str.translate()一起使用;最后返回一个转换表,它是一个字典,键为intab中的字符对应的ascii码,值为outtab中相应的字符对应的ascii码
str.translate(trantab) 以maketrans()函数的返回值为参数,将str字符串进行转换,返回一个新的字符串,不改原有字符串
>>> str(12)
'12'
>>> repr(12)
'12'
>>> str('12')
'12'
>>> repr('12')
"'12'"
>>> print(str('12'))
12
>>> print(repr('12'))
'12'

>>> 'ab12'.upper()
'AB12'
>>> 'ABc12'.lower()
'abc12'
>>> 'ABc12'.swapcase()
'abC12'
>>> 'hello world'.capitalize()
'Hello world'
>>> 'hello world'.title()
'Hello World'
>>> '12'.isdigit()
True
>>> 'abc'.isalpha()
True
>>> ' hello world '.strip()
'hello world'
>>> ' hello world '.split('o')
[' hell', ' w', 'rld ']
>>> '++'.join(['1', '2', '3'])
'1++2++3'

>>> a = 'hello'
>>> b = a.replace('l', 'm')
>>> a
'hello'
>>> b
'hemmo'
>>> c = a.replace('l', 'm', 1)
>>> c
'hemlo'

>>> d = 'hello'
>>> d[0]
'h'
>>> d[0] = 'm'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

>>> e = 'abc'
>>> f = '123'
>>> str.maketrans(e, f)
{97: 49, 98: 50, 99: 51}

>>> intab = 'aeiou'
>>> outtab = '12345'
>>> trantab = str.maketrans(intab, outtab)
>>> h = 'this is string example...wow!'
>>> i = h.translate(trantab)
>>> h
'this is string examp
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python爬虫笔记,python基础知识,以TXT文件呈现 一、概述 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。 Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。 龟叔给Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。 那Python适合开发哪些类型的应用呢? 首选是网络应用,包括网站、后台服务等等; - PythonWeb 其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等; - Python 另外就是把其他语言开发的程序再包装起来,方便使用。 - 胶水语言 在 爬虫 科学计算 等领域有独特优势 AI Python的优点 简单易学 完善的语言特性 天然开源 丰富的社区支持 Python的缺点。 第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快。 但是大量的应用程序不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?这就好比F1赛车和普通的出租车在北京三环路上行驶的道理一样,虽然F1赛车理论时速高达400公里,但由于三环路堵车的时速只有20公里,因此,作为乘客,你感觉的时速永远是20公里。 第二个缺点就是代码不能加密。如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去。 二、安装配置 安装包下载地址: http://www.python.org/download/ Python目前分为两大版本,互不兼容: 2.x.x 3.x.x 下载的时候要注意区分 根据需要的版本进行下载 目前两者都有所使用 双击安装 设置环境变量: 将python安装位置配置到PATH环境变量下。 三、运行方式 shell方式: 在cmd窗口中输入python进入命令行模式 在其中以交互式方式执行 shell方式调用py文件: 在文件中编写Python脚本 文件后缀为.py 进入该文件所在目录 直接执行./xxx.py IDE模式: pycharm pyDev for Eclipse **Python编码 Python默认读取py文件时采用的编码格式是 ASCII 格式,如果文件不是该格式很可能出现乱码问题造成异常。 解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 来通知Python解释器在读取文件时采用的编码集 四、标识符 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 Python 中的标识符是区分大小写的。 以下划线开头的标识符是有特殊意义的。 以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入; 以双下划线开头的 __foo 代表类的私有成员;以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。 五、语言细节 1.语句 Python通常一行为一条语句 不需要分号标识 Python 可以同一行显示多条语句,方法是用分号 ; 案例: print 'hello';print 'runoob'; 也可以使用反斜杠将一行语句分为多行解释: 案例: total = item_one + \.....................................................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值