持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第13天,点击查看活动详情
1. 数据结构和序列
1.1 元组
a=1,2,3,4,5,6,7,8,9#可以用逗号分隔一列值,直接创建元组
b=(1,2,3),(4,5,6)#可以将值放到括号内进行创建
print(a)
print(b)
创建元组的方式比较简单粗暴,一般情况下,我们是使用括号的方式来进行创建。
a=tuple([2,4,6,8])
print(a)
b=tuple('beautiful')
print(b)
同样的,我们可以使用元组将列表数值转换成元组。
print(a[0])
b[0]='10086'
这里我们可以知道元素的访问也是从0开始的,而且元组中的对象是不能修改的!
a=tuple([1,2,['a','b']])
a[2].append('love')
print(a)
当然,如果元组中的某个对象是可变的比如列表,那么可以在原位进行修改。
1.2 元组的拆分
a=(4,5,'a')
b,c,d=a
c
当我们将元组赋值给类似元组的变量,python会试图拆分等号右边的值。举一反三:对于变量值的交换就不需要设定中间变量了,可以直接进行交换。
a,b=1,9
a,b=b,a
print(a)
print(b)
1.3 tuple方法
因为元组的大小和内容不能修改,所以对于元组的一些实例方法都是轻量级的就比如count方法,可以统计某个值出现的次数。
a=(1,2,2,2,2,2,2,2,4,5,6,7,8,9)
a.count(2)
1.4 列表
相比于元组的不可变性,列表的长度可修改、内容可修改。我们可以使用方括号定义也可以使用list函数。
a=[1,2,3,4,5,67,8]
a[1]=10086
a
2.函数
当使用相同或者类似的代码的时候,就需要写一个函数。函数使用def关键字声明,用return关键字返回值。同时返回多个return 语句也是可以的。如果到达函数末尾没有遇到任何一条return语句,则返回None。
def my_function(x,y,z):
    if(z>2):
        return z*(x+y)
    else:
        return z/(x+y)
my_function(1,2,3)
函数参数的主要限制是:关键字的参数必须位于位置参数之后。当然我们也可以指定关键字参数,这样就不需要记住函数参数的顺序了。
2.1 命名空间、作用域和局部函数
函数可以访问两种不同作用域中的变量:全局变量(global)和局部变量(local)。我们在函数中赋值的变量默认都是被分配到局部命名空间。
def add():
    a=[]#局部
    for i in range(10):
        a.append(i)
    return a
add()
a=[]#全局
def add():
    for i in range(10):
        a.append(i)
add()
a
2.2 函数也是对象
temp=[' Alabama ', 'Georgia!', 'Georgia', 'georgia', 'FlOrIda',
.....: 'south carolina##', 'West virginia?']
import re
def clean_strings(strings):
    result=[]
    for value in strings:#对参数值进行遍历
        value=value.strip()
        value=re.sub('[!#?]','',value)#去除!#? 等符号
        value=value.title()#大写输出
        result.append(value)#传递给result数组
    return result#返回数组
clean_strings(temp)
这里为了方便理解,我每一行都加了注释。为了得到一组能用于分析工作的格式统一的字符串, 需要做很多事情: 去除空白符、 删除各种标点符号、正确的大写格式等。做法之一是使用内建的字符串方法和正则表达式 re 模块。
3.文件和操作系统
python对于文件的处理比较便捷。为了打开一个文件以便读写,可以使用内置的open函数以及一个相对或绝对的文件路径:
这里发生了一个报错,我们没有指定对其进行什么操作所以一般默认情况下是'r'只读模式,报错了就给添加上即可。
path=r'E:\360MoveData\Users\12079\Desktop\study\xiuer.txt'
f=open(path)
当我们使用open创建文件对象的时候,我们一定要用close关闭它。关闭文件可以返回操作系统资源:
f.close()
用with语句可以更容易地清理打开的文件:
with open(path) as f:
    lines=[x.rstrip() for x in f]
lines
这样可以在退出代码时,自动关闭文件。
| 模式 | 说明 | 
|---|---|
| r | 只读模式 | 
| w | 只写模式。创建新文件(删除同名的任何文件) | 
| a | 附加到现有文件(如果文件不存在则创建一个) | 
| r+ | 读写模式 | 
| b | 附加说明某模式用于二进制文件,即'rb'或'wb' | 
| U | 通用换行模式 |