SF
python研究室
python研究室
注册登录
关注博客
注册登录
主页
关于
RSS
Python之文件读写补充——R+模式下修改中文内容
格瑞姆瑞坡
2018-10-02
阅读 2 分钟
2.8k
r+模式(读写)下,如果文件内容已经存在了中文,当你试图插入新内容时,必须使新内容的总体字节数是当前编码下单个汉字占位字节的整数倍。否则读取时会报错。补充:如果你把指针调到末尾则没这个问题,也就是说可以在后面写,但是在前面插入内容的话就会有上面的问题。
python基础知识之函数初阶——闭包
格瑞姆瑞坡
2018-10-01
阅读 2 分钟
1.2k
那么什么是闭包?其实就是函数嵌套时触发的一种规则,当前函数引用到上一层函数的局部命名空间的变量并且函数本身被当成对象返回时就触发该规则。我们说触发了闭包的函数叫做闭包函数
python基础知识之函数初阶——命名空间
格瑞姆瑞坡
2018-10-01
阅读 2 分钟
1.4k
与命名空间有关的两个函数globals()和locals()可以用globals()查看全局命名空间的所有定义的名字可以用locals()查看当前命名空间的所有定义的名字,在全局则返回全局,在局部则返回局部这两个函数的返回值可以看作是字典,格式都是{key1:value1,key2:value2,.....}
Python综合练习之创建员工信息表
格瑞姆瑞坡
2018-10-01
阅读 4 分钟
1.8k
这是一道综合练习题,要求如下:创建员工信息表,格式为: {代码...} 要求可以根据条件语句进行查询,格式为 select where 命令之间用空格隔开 {代码...} {代码...}
python基础知识之函数初阶——参数详解
格瑞姆瑞坡
2018-10-01
阅读 3 分钟
1.5k
函数名只能包含字符串、下划线和数字且不能以数字开头。函数的形参分为:位置参数、默认参数(自带默认值的参数)、动态参数return是关键字,作用是返回函数的结果,遇到return时函数立刻结束,不再执行其他语句
Python基础知识之文件的修改操作
格瑞姆瑞坡
2018-10-01
阅读 2 分钟
3k
我们想要做的修改是把第二行的千里不留行改成“万里不流行”补充说明:用with open()格式可以同时打开两个文件,本例中实际上是打开文件xiakexing,并且创建文件xiakexing.bak,分别创建对应的文件对象old_file和new_file
Python中文件的读写、写读和追加写读三种模式的特点
格瑞姆瑞坡
2018-10-01
阅读 2 分钟
8.2k
本文主要讨论一下文件的三种可读可写模式的特点及互相之间的区别,以及能否实现修改文件的操作由于前文已经讨论过编码的事情了,所以这里不再研究编码,所有打开操作默认都是utf-8编码(Linux系统下)
Python基础知识之文件的读取操作
格瑞姆瑞坡
2018-10-01
阅读 5 分钟
2.8k
有一道脑筋急转弯,问把大象装进冰箱的步骤,答案很简单,打开冰箱、把大象推进去、关闭冰箱。这就是一个处理问题的思路,我们对文件的操作和这个一样,第一步:打开文件;第二部:处理文件(读取或者写入);第三部关闭文件,怎么样?其实很简单吧,下面我们就来详细说说文件的操作。
Python基础知识之集合
格瑞姆瑞坡
2018-10-01
阅读 2 分钟
1.3k
集合的描述 集合是无序的、不重复的数据集合,它本身是可变的,但里面的元素是不可变类型(这里要注意,即使是含有列表的元组也不可以,必须是完全不可变类型) 创建集合 创建集合可以使用大括号{}来创建,元素间用逗号分隔,但是不能用它来创建空集合,因为{}创建的是空字典。 {代码...} 也可以使用set()函数来创建集合...
一道算法题:求出异或和为零的最长连续子串
格瑞姆瑞坡
2018-09-30
阅读 1 分钟
1.7k
输入N个整数,中间用空格隔开,求出异或和为0的最长连续子串。要求输出子串的长度、子串在输入的数组中的起始位置和结束位置。如果不存在这样的子串则输出-1.
python面试题之“该死的for循环系列”(二)
格瑞姆瑞坡
2018-09-30
阅读 3 分钟
2.7k
首先我们来说一下列表推导式,只有深入理解列表推导式,我们才能理解下面这句话到底干了些什么事情[lambda x:i*x for i in range(4)]引用官方文档中对于列表推导式的一个例子:squares = [x2 for x in range(10)] 这个列表推导式返回的结果为[0, 1, 4, 9, 16, 25, 36, 49, 64, 81],for循环通过对range(10)进行迭代后得...
python面试题之“该死的for循环系列”(一)
格瑞姆瑞坡
2018-09-30
阅读 2 分钟
3.1k
乍一看这两行代码还是有点迷糊,但是我们要知道,生成器有个最大的特性就是惰性,当你不进行迭代时它就不进行运算,想要对生成器进行迭代有以下几种方法: 第一种:for循环,for循环的本质就是调用了iter和next方法进行了迭代 第二种:调用next方法 第三种:调用send方法 第四种:数据类型强制转换,比如使用list()强制...
详解python中正则表达式的反斜线的转义功能
格瑞姆瑞坡
2018-09-30
阅读 1 分钟
3.4k
最近深入研读了正则表达式的一本经典著作,对于在python中使用正则表达式时使用反斜线转义功能时有些心得,特与大家分享。 核心思想:在python中使用正则表达式时要切记反斜线具有两层转义功能,如果你要匹配一个反斜线本身时要注意它必须被转义两次。(除非你使用原始字符串,就是字符串前面加r) 我们先来看一个例子:
Python基础知识之字典
格瑞姆瑞坡
2018-09-30
阅读 3 分钟
1.3k
字典的表现形式为:{key:value},键和值之间用冒号分隔,每个键值对儿之间用逗号分隔,比如{‘name’:’超人’,’age’:500},要注意key的类型必须是不可变的类型,python对key进行哈希函数运算,根据计算结果决定value的存储地址,所以字典是无序存储的。字典的增删改查如下:
python基础知识之元组
格瑞姆瑞坡
2018-09-29
阅读 2 分钟
1.2k
你可以把它看作是只读的列表,因为元组不可改变,但是要注意,如果元组中含有列表元素,则该列表元素是可变的,通俗地讲就是“儿子不可变,但是孙子可变”
python基础知识之列表
格瑞姆瑞坡
2018-09-28
阅读 2 分钟
1.2k
表现形式为[],里面的元素之间用逗号隔开,元素可以是任意类型,相比于字符串,列表可以存储各种数据类型,而且可以存储大量数据列表的主要操作就是增删改查:
python基础知识之字符串
格瑞姆瑞坡
2018-09-28
阅读 2 分钟
1.6k
字符串 {代码...} 字符串的索引与切片 a = 'abcdefghijklmn' print(a[2]) {代码...} print(a[0:3]) {代码...} print(a[4:]) {代码...} print(a[:7]) {代码...} print(a[1:6:2]) {代码...} print(a[::4]) {代码...} print(a[-1:2:-2]) {代码...} 字符串的常用方法: x = 'good JOB' capitalize {代码...} swapcase {代码....