python基础

这篇博客详细介绍了Python的基础知识,包括环境搭建、语法特性、数据类型、运算符、逻辑语句、函数、模块、文件I/O、异常处理等内容,深入浅出地讲解了Python编程的各个方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python 基础

一、简介特点

1、简介

Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。

Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。

Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。

Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。

2、特点

1)易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。

2)易于阅读:Python代码定义的更清晰。

3)易于维护:Python的成功在于它的源代码是相当容易维护的。

4)一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。

5)互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

6)可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。

7)可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。

8)数据库:Python提供所有主要的商业数据库的接口。

9)GUI编程:Python支持GUI可以创建和移植到许多系统调用。

10)可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。

二、环境搭建

1、下载

Python官网:https://www.python.org/
Python文档下载地址:https://www.python.org/doc/

2、安装

1)Unix & Linux
打开 WEB 浏览器访问 https://www.python.org/downloads/source/ 选择适用于Unix/Linux 的源码压缩包。
下载及解压压缩包。
如果你需要自定义一些选项修改Modules/Setup
执行 ./configure 脚本
make
make install
2)Window
打开 WEB 浏览器访问 https://www.python.org/downloads/windows/ 在下载列表中选择Window平台安装包,包格式为:python-XYZ.msi 文件 , XYZ 为你要安装的版本号。
下载后,双击下载包,进入 Python 安装向导,安装非常简单,你只需要使用默认的设置一直点击"下一步"直到安装完成即可。
3)MAC
MAC 系统一般都自带有 Python2.x版本 的环境,你也可以在链接 https://www.python.org/downloads/mac-osx/ 下载最新版安装。

3、环境变量配置

1)Unix & Linux
在 csh shell: 输入
setenv PATH "$PATH:/usr/local/bin/python", 按下      "Enter"。

在 bash shell (Linux): 输入
export PATH="$PATH:/usr/local/bin/python" ,按下      "Enter"。

在 sh 或者 ksh shell: 输入
PATH="$PATH:/usr/local/bin/python" , 按下"Enter"。
注意: /usr/local/bin/python 是 Python 的安装目录。
2)Windows
在命令提示框中(cmd) : 输入
path=%path%;C:\Python , 按下"Enter"。
注意: C:\Python 是Python的安装目录。

在"Path"行,添加python安装路径即可(我的  D:\Python32)

4、运行

python Xxx
	   Python命令行参数:
	   -d			在解析时显示调试信息
	   -O			生成优化代码 ( .pyo 文件 )
	   -S			启动时不引入查找Python路径的位置
	   -V			输出Python版本号
	   -X			从 1.6版本之后基于内建的异常(仅仅用于字符串)已过时。
	   -c cmd		执行 Python 脚本,并将运行结果作为 cmd 字符串。
	   file			在给定的python文件执行python脚本。

三、基础知识

1、编码

如果你输出中文字符 "你好,世界" 就有可能会碰到中文编码问题。
解决方法:
1)在文件开头加入 # -*- coding: UTF-8 -*-
2)在文件开头加入 # coding=utf-8
注意:# coding=utf-8 的 = 号两边不要空格。

2、语法

1)交互式编程
Window/linux 在命令行中输入 Python 命令即可启动交互式编程
2)脚本式编程
Python 文件将以 .py 为扩展名

设置了 Python 解释器 PATH 变量。使用 python test.py

Python 解释器在/usr/bin目录中,使用以下命令执行脚本:
# 脚本文件添加可执行权限
chmod +x test.py
./test.py

3、标识符

1)在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
2)Python 中的标识符是区分大小写的。
3)以下划线开头的标识符是有特殊意义的。
以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。
4)以双下划线开头的 __foo 代表类的私有成员
以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。
5)Python 可以同一行显示多条语句,方法是用分号 ; 分开

4、保留字

保留字不能用作常数或变数,或任何其他标识符名称。
and			exec			not
assert			finally			or
break			for			pass
class			from			print
continue		global			raise
def			if			return
del			import			try
elif			in			while
else			is			with
except			lambda			yield

5、行和缩进

Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。
python 最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

6、多行语句

Python语句中一般以新行作为语句的结束符。
使用斜杠( \)将一行的语句分为多行显示

s = 'a' + \
	'b'

语句中包含 [], {} 或 () 括号就不需要使用多行连接符
days = ['Monday', 'Tuesday', 'Wednesday',
    'Thursday', 'Friday']

7、引号

Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须是相同类型的

word = 'word'
sentence = "这是一个句子。"
paragraph = """这是一个段落。
包含了多个语句"""

8、注释

python中单行注释采用 # 开头。
python 中多行注释使用三个单引号(''')或三个双引号(""")。

# 第一个注释

'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''

"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""

9、空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。

书写时不插入空行,Python解释器运行也不会出错。
但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

记住:空行也是程序代码的一部分。

10、等待用户输入

input("按下 enter 键退出,其他任意键显示")

11、同一行显示多条语句

Python可以在同一行中使用多条语句,语句之间使用分号(;)分割
import sys; x = 'runoob'; sys.stdout.write(x + '\n')

12、print 输出

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 ,

t = '1'; t2 = '2'; print(t, t2)

13、命令行参数

执行一些操作来查看一些基本信息,Python 可以使用 -h 参数查看各参数帮助信息
python -h

14、变量类型

1)变量赋值
等号(=)用来给变量赋值
2)多个变量赋值
Python允许你同时为多个变量赋值
a = b = c = 1

也可以为多个对象指定多个变量
a, b, c = 1, 2, "john"
3)标准数据类型

Python有五个标准的数据类型

Numbers(数字)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)

a)Numbers(数字)
Number对象创建
var1 = 1

del语句删除对象的引用
del var1[,var2[,var3[....,varN]]]]

Python支持四种不同的数字类型:
int(有符号整型)
long(长整型[也可以代表八进制和十六进制]float(浮点型)
complex(复数 a + bj,或者 complex(a,b)
b)String(字符串)

字符串或串(String)是由数字、字母、下划线组成的一串字符
s=“a1a2···an”(n>=0)

python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头

截取字符串 [头下标:尾下标]
s = 'abcdef'
s[1:5]
'bcde'

加号(+)是字符串连接运算符,星号(*)是重复操作
str = 'Hello World!'
print str   			# 输出完整字符串
print str[0]			# 输出字符串中的第一个字符
print str[2:5]  		# 输出字符串中第三个至第六个之间的字符串
print str[2:]   		# 输出从第三个字符开始的字符串
print str * 2   		# 输出字符串两次
print str + "TEST"  		# 输出连接的字符串
>>> Hello World!
>>> H
>>> llo
>>> llo World!
>>> Hello World!Hello World!
>>> Hello World!TEST

列表截取可以接收第三个参数,参数作用是截取的步长(间隔一个位置)来截取字符串
letters = ['c', 'h', 'e', 'c', 'k', 'i', 'o']
print(letters[1:4:2])
>>> ['h', 'c']
c)List(列表)

列表用 [ ] 标识,是 python 最通用的复合数据类型。
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,下标可以为空表示取到头或尾。

list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list   			# 输出完整列表
print list[0]			# 输出列表的第一个元素
print list[1:3]  		# 输出第二个至第三个元素
print list[2:]   		# 输出从第三个开始至列表末尾的所有元素
print tinylist * 2   		# 输出列表两次
print list + tinylist		# 打印组合的列表
>>> ['runoob', 786, 2.23, 'john', 70.2]
>>> runoob
>>> [786, 2.23]
>>> [2.23, 'john', 70.2]
>>> [123, 'john', 123, 'john']
>>> ['runoob', 786, 2.23, 'john', 70.2, 123, 'john']
d)Tuple(元组)

似于 List(列表)。
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print tuple               # 输出完整元组
print tuple[0]            # 输出元组的第一个元素
print tuple[1:3]          # 输出第二个至第四个(不包含)的元素
print tuple[2:]           # 输出从第三个开始至列表末尾的所有元素
print tinytuple * 2       # 输出元组两次
print tuple + tinytuple   # 打印组合的元组
>>> ('runoob', 786, 2.23, 'john', 70.2)
>>> runoob
>>> (786, 2.23)
>>> (2.23, 'john', 70.2)
>>> (123, 'john', 123, 'john')
>>> ('runoob', 786, 2.23, 'john', 70.2, 123, 'john')  
e)Dictionary(字典)

列表是有序的对象集合,字典是无序的对象集合。
字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

dict = {
   }
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {
   'name': 'runoob','code':6734, 'dept': 'sales'}
print dict['one']          # 输出键为'one' 的值
print dict[2]              # 输出键为 2 的值
print tinydict             # 输出完整的字典
print tinydict.keys()      # 输出所有键
print tinydict.values()    # 输出所有值
>>> This is one
>>> This is two
>>> {
   'dept': 'sales', 'code': 6734, 'name': 'runoob'}
>>> ['dept', 'code', 'name']
>>> ['sales', 6734, 'runoob']

t = {
   'a': {
   'b': 2}}
print(t['a']['b']) >>> 2
3)数据类型转换
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
int(x [,base]) 					将x转换为一个整数
long(x [,base] ) 				将x转换为一个长整数
float(x) 					将x转换到一个浮点数
complex(real [,imag]) 				创建一个复数
str(x) 						将对象 x 转换为字符串
repr(x) 					将对象 x 转换为表达式字符串
eval(str) 					用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 					将序列 s 转换为一个元组
list(s) 					将序列 s 转换为一个列表
set(s) 						转换为可变集合,无序不重复元素集
dict(d) 					创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s) 					转换为不可变集合
chr(x) 						将一个整数转换为一个字符
unichr(x) 					将一个整数转换为Unicode字符
ord(x) 						将一个字符转换为它的整数值
hex(x) 						将一个整数转换为一个十六进制字符串
oct(x) 						将一个整数转换为一个八进制字符串

--- repr / eval ----
a = 20
b = a * 4 / 2
print(eval(repr(b)))

c = "a * 4 / 2"
print(eval(str(c)))

--- set ------------
x = set('runoob')
y = set('google')
print(x, y)
# 交集
print(x & y)
# 并集
print(x | y)
# 差集
print(x - y)
>>> {
   'r', 'u', 'o', 'n', 'b'} {
   'g', 'e', 'l', 'o'}
>>> {
   'o'}
>>> {
   'r', 'u', 'o', 'n', 'b', 'l', 'g', 'e'}
>>> {
   'n', 'r', 'b', 'u'}

--- dict -----------
# 传入关键字
print(dict(a='11', b=2))
# 可迭代对象方式来构造字典
print(dict([('a', '11'), ('b', 2)]))
# 映射函数方式来构造字典
print(dict(zip(['a', 'b'], ['11', 2])))

15、运算符

1)算术运算符
+- 两个对象相加			a + b 输出结果 30
-- 得到负数或是一个数减去另一个数	a - b 输出结果 -10
*- 两个数相乘或是返回一个被重复若干次的字符串	a * b 输出结果 200
/- x除以y				b / a 输出结果 2
%		取模 - 返回除法的余数			b % a 输出结果 0
**- 返回x的y次幂
//		取整除 - 返回商的整数部分(向下取整)	9//2 >>> 4	-9//2 >>> -5
2)比较运算符
==		等于 - 比较对象是否相等
!=		不等于 - 比较两个对象是否不相等
<>		不等于 - 比较两个对象是否不相等。python3 已废弃。这个运算符类似 !=
>		大于 - 返回x是否大于y
<		小于 - 返回x是否小于y
>=		大于等于 - 返回x是否大于等于y
<=		小于等于 - 返回x是否小于等于y

比较运算符返回1表示真,返回0表示假。这分别与特殊的变量TrueFalse等价
3)赋值运算符
=		简单的赋值运算符		c = a + b 将 a + b 的运算结果赋值为 c
+=		加法赋值运算符		c += a 等效于 c = c + a
-=		减法赋值运算符		c -= a 等效于 c = c - a
*=		乘法赋值运算符		c *= a 等效于 c = c * a
/=		除法赋值运算符		c /= a 等效于 c = c / a
%=		取模赋值运算符		c %= a 等效于 c = c % a
**=		幂赋值运算符		c **= a 等效于 c = c ** a
//=		取整除赋值运算符		c //= a 等效于 c = c // a
4)位运算符
&		按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
|		按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1
^		按位异或运算符:当两对应的二进位相异时
~		按位取反运算符:对数据的每个二进制位取反,即把1变为0,0变为1
<<		左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0
>>		右移动运算符:把">>"左边的运算数的各二进位全部右移若干位
5)逻辑运算符
and		x and y,布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值
or		x or y,布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值
not		not x,布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True
6)成员运算符
in		如果在指定的序列中找到值返回 True,否则返回 False
not in		如果在指定的序列中没有找到值返回 True,否则返回 False
7)身份运算符
is		is 是判断两个标识符是不是引用自一个对象	x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False

is not		is not 是判断两个标识符是不是引用自不同对象	x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。
注: id() 函数用于获取对象内存地址。
8)运算符优先级
**						指数 (最高优先级)
~ + -						按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //					乘,除,取模和取整除
+ -						加法减法
>> <<						右移,左移运算符
&'AND'
^ |						位运算符
<= < > >=					比较运算符
<> == !=					等于运算符
= %= /= //= -= += *= **=			赋值运算符
is is not					身份运算符
in not in					成员运算符
not and or					逻辑运算符

16、逻辑语句

1)条件语句 - if 语句
语法:
if 判断条件:
	执行语句……
elif 判断条件2:
	执行语句2……
else:
	执行语句……
2)循环语句
a)while 循环语句
语法:
while 判断条件(condition):
	执行语句(statements)……

循环使用 else 语句
在 python 中,whileelse 在循环条件为 false 时执行 else 语句块

count = 0
while count < 5:
	print count, " is  less than 5"
	count = count + 1
else:
	print count, " is not less than 5"
b)for 循环语句
语法:
for iterating_var in sequence:
	statements(s)

for letter in 'Python':     # 第一个实例,打印每个字母
	print '当前字母 :', letter

fruits = ['banana', 'apple',  'mango']
for fruit in fruits:        # 第二个实例,遍历列表
	print '当前水果 :', fruit


通过序列索引迭代
fruits = ['banana', 'apple',  'mango']
for index in range(len(fruits)):
	print '当前水果 :', fruits[index]


步长
for i in range(1, 10, 2):
	print i


循环使用 else 语句
在 python 中,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,whileelse 也是一样。
c)break 语句
Python break语句,就像在C语言中,打破了最小封闭forwhile循环。
d)continue 语句
continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。
e)pass 语句
Python pass 是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。

17、Number(数字)

Python Number 数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间。


Number 对象将被创建:
var1 = 1

del语句删除单个或多个对象:
del var
del var_a, var_b
1)math 模块、cmath 模块
Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。

cmath 模块运算的是复数,math 模块运算的是数学运算。

要使用 math 或 cmath 函数必须先导入:
import math
import cmath

# 查看方法
>> dir(math)
>> dir(cmath)
2)数学函数
fabs(x)				返回数字的绝对值,如abs(-10) 返回 10
ceil(x)				返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y)			如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
exp(x)				返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x)				返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x)			返回数字的下舍整数,如math.floor(4.9)返回 4
log(x)				如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x)			返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...)			返回给定参数的最大值,参数可以为序列。
min(x1, x2,...)			返回给定参数的最小值,参数可以为序列。
modf(x)				返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y)			x**y 运算后的值。
round(x [,n])			返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x)				返回数字x的平方根
3)随机数函数
导包 import random

choice(seq)				从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从09中随机挑选一个整数。
randrange ([start,] stop [,step])	从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
random()				随机生成下一个实数,它在[0,1)范围内。
seed([x])				改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst)				将序列的所有元素随机排序
uniform(x, y)				随机生成下一个实数,它在[x,y]范围内。
4)三角函数
acos(x)			返回x的反余弦弧度值。
asin(x)			返回x的反正弦弧度值。
atan(x)			返回x的反正切弧度值。
atan2(y, x)		返回给定的 X 及 Y 坐标值的反正切值。
cos(x)			返回x的弧度的余弦值。
hypot(x, y)		返回欧几里德范数 sqrt(x*x + y*y)。
sin(x)			返回的x弧度的正弦值。
tan(x)			返回x弧度的正切值。
degrees(x)		将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
radians(x)		将角度转换为弧度
5)数学常量
pi			数学常量 pi(圆周率,一般以π来表示)
e			数学常量 e,e即自然常数(自然常数)。

18、字符串

1)字符串运算符
+			字符串连接
*			重复输出字符串
[]			通过索引获取字符串中字符
[ : ]			截取字符串中的一部分
in			成员运算符 - 如果字符串中包含给定的字符返回 True
not in			成员运算符 - 如果字符串中不包含给定的字符返回 True
r / R			原始字符串 - 所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。print r'\n'   >>> \n
%			格式字符串
2)转义字符
\			(在行尾时)	续行符
\\			反斜杠符号
\'			单引号
\"			双引号
\a			响铃
\b			退格(Backspace)
\e			转义
\000		空
\n			换行
\v			纵向制表符
\t			横向制表符
\r			回车
\f			换页
\oyy		八进制数,yy代表的字符,例如:\o12代表换行
\xyy		十六进制数,yy代表的字符,例如:\x0a代表换行
\other		其它的字符以普通格式输出
3)字符串格式化
将一个值插入到一个有字符串格式符 %s 的字符串中

print("My name is %s and weight is %d kg!" % ('Zara', 21))
>>>  print "My name is %s and weight is %d kg!" % ('Zara', 21)

字符串格式化符号:
%c			格式化字符及其ASCII码
%s			格式化字符串
%d			格式化整数
%u			格式化无符号整型
%o			格式化无符号八进制数
%x			格式化无符号十六进制数
%X			格式化无符号十六进制数(大写)
%f			格式化浮点数字,可指定小数点后的精度
%e			用科学计数法格式化浮点数
%E			作用同%e,用科学计数法格式化浮点数
%g			%f和%e的简写
%G			%F 和 %E 的简写
%p			用十六进制数格式化变量的地址

格式化操作符辅助指令:
*			定义宽度或者小数点精度
-			用做左对齐
+			在正数前面显示加号( + )
<sp>			在正数前面显示空格
#			在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0			显示的数字前面填充'0'而不是默认的空格
%			'%%'输出一个单一的'%'
(var)			映射变量(字典参数)
m.n.			m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
4)Unicode 字符串
u'Hello World !'
>>> u'Hello World !'

引号前小写的"u"表示这里创建的是一个 Unicode 字符串。
如果你想加入一个特殊字符,可以使用 Python 的 Unicode-Escape 编码。如下例所示:

u'Hello\u0020World !'
>>> u'Hello World !'
5)字符串内建函数
string.capitalize()                                  把字符串的第一个字符大写
string.center(width)                                 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
string.count(str, beg=0, end=len(string))            返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
string.decode(encoding='UTF-8', errors='strict')     以 encoding 指定的编码格式解码 string,如果出错默认报一个 ValueError 的 异 常 , 除非 errors 指 定 的 是 'ignore' 或 者'replace'
string.encode(encoding='UTF-8', errors='strict')     以 encoding 指定的编码格式编码 string,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'
string.endswith(obj, beg=0, end=len(string))         检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
string.expandtabs(tabsize=8)                         把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8。
string.find(str, beg=0, end=len(string))             检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
string.format()                                      格式化字符串
string.index(str, beg=0, end=len(string))            跟find()方法一样,只不过如果str不在 string中会报一个异常.
string.isalnum()                                     如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False
string.isalpha()                                     如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
string.isdecimal()                                   如果 string 只包含十进制数字则返回 True 否则返回 False.
string.isdigit()                                     如果 string 只包含数字则返回 True 否则返回 False.
string.islower()                                     如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
string.isnumeric()                                   如果 string 中只包含数字字符,则返回 True,否则返回 False
string.isspace()                                     如果 string 中只包含空格,则返回 True,否则返回 False.
string.istitle()                                     如果 string 是标题化的(见 title())则返回 True,否则返回 False
string.isupper()                                     如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
string.join(seq)                                     以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
string.ljust(width)                                  返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
string.lower()                                       转换 string 中所有大写字符为小写.
string.lstrip()                                      截掉 string 左边的空格
string.maketrans(intab, outtab])                     maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
max(str)                                             返回字符串 str 中最大的字母。
min(str)                                             返回字符串 str 中最小的字母。
string.partition(str)                                有点像 find()和 split()的结合体,str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string
string.replace(str1, str2,  num=string.count(str1))  把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.
string.rfind(str, beg=0,end=len(string) )            类似于 find()函数,不过是从右边开始查找.
string.rindex( str, beg=0,end=len(string))           类似于 index(),不过是从右边开始.
string.rjust(width)                                  返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
string.rpartition(str)                               类似于 partition()函数,不过是从右边开始查找
string.rstrip()                                      删除 string 字符串末尾的空格.
string.split(str="", num=string.count(str))str 为分隔符切片 string,如果 num 有指定值,则仅分隔 num+ 个子字符串
string.splitlines([keepends])                        按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
string.startswith(obj, beg=0,end=len(string))        检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.
string.strip([obj])                                  在 string 上执行 lstrip()和 rstrip()
string.swapcase()                                    翻转 string 中的大小写
string.title()                                       返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
string.translate(str, del="")                        根据 str 给出的表(包含 256 个字符)转换 string 的字符,要过滤掉的字符放到 del 参数中
string.upper()                                       转换 string 中的小写字母为大写
string.zfill(width)                                  返回长度为 width 的字符串,原字符串 string 右对齐,前面填充0

19、列表(List)

1)更新列表
list = []          ## 空列表
list.append('Google')   ## 使用 append() 添加元素
list.append('Runoob')
print list

>>> ['Google', 'Runoob']
2)删除列表元素
list1 = ['physics', 'chemistry', 1997, 2000]
del list1[2]
print list1

>>> ['physics', 'chemistry', 2000]
3)列表脚本操作符
len([1, 2, 3])				3					长度
[1, 2, 3] + [4, 5, 6]			[1, 2, 3, 4, 5, 6]			组合
['Hi!'] * 4				['Hi!', 'Hi!', 'Hi!', 'Hi!']		重复
3 in [1, 2, 3]				True					元素是否存在于列表中
for x in [1, 2, 3]: print x,		1 2 3					迭代
4)列表截取
L = ['Google', 'Runoob', 'Taobao']
L[2]
>>> 'Taobao'
L[-2]
>>> 'Runoob'
L[1:]
>>> ['Runoob', 'Taobao']

L[2]	'Taobao'			读取列表中第三个元素
L[-2]	'Runoob'			读取列表中倒数第二个元素
L[1:]	['Runoob', 'Taobao']		从第二个元素开始截取列表
5)列表函数
cmp(list1, list2)			比较两个列表的元素
len(list)				列表元素个数
max(list)				返回列表元素最大值
min(list)				返回列表元素最小值
list(seq)				将元组转换为列表
6)列表方法
list.append(obj)				在列表末尾添加新的对象
list.count(obj)					统计某个元素在列表中出现的次数
list.extend(seq) 				在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj) 				从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj) 			将对象插入列表
list.pop([index=-1]) 				移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) 				移除列表中某个值的第一个匹配项
list.reverse() 					反向列表中元素
list.sort(cmp=None, key=None, reverse=False) 	对原列表进行排序

20、元组

元组中只包含一个元素时,需要在元素后面添加逗号
tup1 = (50,)

1)修改元组
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')

# 以下修改元组元素操作是非法的。
# tup1[0] = 100

# 创建一个新的元组
tup3 = tup1 + tup2
print tup3
2)修改元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组

tup = ('physics', 'chemistry', 1997, 2000)
print tup
del tup
print "After deleting tup : "
print tup

元组被删除后,输出变量会有异常信息,输出如下所示:

('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
	File "test.py", line 9, in <module>
	print tup
NameError: name 'tup' is not defined
3)元组运算符
len((1, 2, 3))				3				计算元素个数
(1, 2, 3) + (4, 5, 6)			(1, 2, 3, 4, 5, 6)		连接
('Hi!',) * 4				('Hi!', 'Hi!', 'Hi!', 'Hi!')	复制
3 in (1, 2, 3)				True				元素是否存在
for x in (1, 2, 3): print x,		1 2 3				迭代
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值