python之旅【第二篇】
1,文件操作
找到文件-----打开文件------文件操作-----------文件关闭
file_open = file(文件路径,模式)
读取文件:
M.read()
obj = M.readlines()--------- #一行行读取,并且obj为一个列表
关于读取模式:
Table mode
|
模式 |
描述 |
|
r |
以读方式打开文件,可读取文件信息。 |
|
w |
以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容 |
|
a |
以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建 |
|
r+ |
以读写方式打开文件,可对文件进行读和写操作。 |
|
w+ |
消除文件内容,然后以读写方式打开文件。 |
|
a+ |
以读写方式打开文件,并把文件指针移到文件尾。 |
|
b |
以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。 |
Table 文件对象方法
|
方法 |
描述 |
|
f.close() |
关闭文件,记住用open()打开文件后一定要记得关闭它,否则会占用系统的可打开文件句柄数。 |
|
f.fileno() |
获得文件描述符,是一个数字 |
|
f.flush() |
刷新输出缓存 |
|
f.isatty() |
如果文件是一个交互终端,则返回True,否则返回False。 |
|
f.read([count]) |
读出文件,如果有count,则读出count个字节。 |
|
f.readline() |
读出一行信息。 |
|
f.readlines() |
读出所有行,也就是读出整个文件的信息。 |
|
f.seek(offset[,where]) |
把文件指针移动到相对于where的offset位置。where为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。 |
|
f.tell() |
获得文件指针位置。 |
|
f.truncate([size]) |
截取文件,使文件的大小为size。 |
|
f.write(string) |
把string字符串写入文件。 |
|
f.writelines(list) |
把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。 |
2.变量管理
只要内存里存在,则就能使用
if ==:
name =
print name
print name
2.1三元运算:
name = 值1 if 条件 else 值2 name = if == else #if成立的话,就执行前面的,不成力就执行后面的
3进制了解
二进制,十进制,十六进制,八进制
4,pycharm的使用
4.1
可以断点调试, 补全代码
一般步骤:
创建project--------配置解释器-------创建文件---------执行文件(run/debug)
我们使用pycharm做IDE,方便,利于调试代码,查看源码等等。
5,对于python一切事物都是对象,对象基于类创建,类中保存了对象的方法
dir() #查看方法 type() #查看类型 help() #查看帮助 类中的方法包含两种 ,内置方法(__方法__) 2普通方法
6 数据类型
整数
i =
i = int()
i = int(,base=)
常用方法
常用方法
abs(-) 绝对值
divmod(,) 得到商和余数
7 字符串方法
编码与解码
unicode -------编码----utf-8------解码----unicode
unicode -------编码----GBK------解码----unicode
使用的方法
编码--encode
解码--decode
字符串常用方法
常用方法
b = ' werfdAW45fffrfge'
print b.capitalize() #第一个字母变大写
print b.partition("") #分割成三部分
print b.center(,"#") #字符串放中心,不够的使用符号#来填充
print b.count('f') #查找字符出现的次数
print b.count('f',,)
print b.endswith('g') #是否以什么结尾
print b.find('f') #查找字符,是否存在,存在的话返回它所在的位置,不存在返回-
print b.find('ww')
print b.index('f') #查找字符,是否存在,存在的话返回它所在的位置,不存在返回错误
#format的几种用法
name = 'i am {0},age {1}'
print name.format('alex',)
name = 'i ma {ss},age {dd}'
print name.format(ss='ddd',dd=)
li = ['dicky',]
name1 = 'i am {0},age {1}'
print name1.format(*li)
name.format(ss='ddd',dd=)
dic = {'ss':'dick',"dd":}
print name.format(**dic)
print "@@".join(b)
li = ['s1','s3']
print '%'.join(li) #将列表变成字符串
print b.ljust(,"&") #和center差不多,只是在右边填充
print b.lower() #字符串全部变小写
print b.upper() #字符串全部大写
print b.replace('we','ew') #替换
print b.split('AW') #split分割,可以将字符串分割后变成了列表,
print b.strip() #去除两边的空格
print b.swapcase() #大写变小写,小写变大写
结果如下
werfdaw45fffrfge
(' werfdAW', '', 'fffrfge')
werfdAW45fffrfge False - i am alex,age
i ma ddd,age
i am dicky,age
i ma dick,age
@@ @@ @@w@@e@@r@@f@@d@@A@@W@@@@@@f@@f@@f@@r@@f@@g@@e
s1%s3
werfdAW45fffrfge&
werfdaw45fffrfge
WERFDAW45FFFRFGE
ewrfdAW45fffrfge
[' werfd', '45fffrfge']
werfdAW45fffrfge
WERFDaw45FFFRFGE
8 列表常用方法
列表格式如下
[11,22,33,44,55,66]
常用方法
方法
li = [,,,,'ee',]
li1 = [,,,'ff','ww']
list
li.append() #添加一个元素
print li
print li.count() #查找元素出现的次数,并返回数量
li.extend(li1) #扩展列表li
print li
#print li.index('')
print li.index() #查找元素是否存在,存在的话返回其位置,不存在则报错。只查找第一次出现的
li.insert(,'') #在某个位置插入元素,默认在末尾插入
print li
li.pop() #删除元素并返回删除的下标值,默认删除最后一个
print li
li.remove() #移除元素,默认移除找到的第一个
print li
#li.remove('') #不存在则报错
#print li
li.reverse() #逆序输出
print li
del li #删除列表
结果
[, , , , 'ee', , ] [, , , , 'ee', , , , , , 'ff', 'ww'] [, , , , '', 'ee', , , , , , 'ff', 'ww']
[, , , , '', 'ee', , , , , , 'ff']
[, , , '', 'ee', , , , , , 'ff']
['ff', , , , , , 'ee', '', , , ]
9 元祖
元祖的元素不可以修改
方法只有两个
count index
10 字典常用方法
dic = {'dicky':,'age':}
dic1 = {'alex':,'dicky':}
dic.clear()
print dic #清空字典
dic = {'dicky':,'age':}
print dic.get('dicky') #get得到返回的value,没有的话默认返回None,也可以自定义返回值
print dic.get('work','ok')
print dic.items() #返回字典的值
print dic.keys() #返回key值
print dic.values() #返回value值
dic.pop('dicky') #删除指定key
dic = {'dicky':,'age':}
print dic
dic.update(dic1)
print dic
dic.setdefault('dicky')
print dic
dic.setdefault('zhang',) #查找keys,不存在则添加,默认是default
print dic
结果
{}
ok
[('dicky', ), ('age', )]
['dicky', 'age']
[, ]
{'dicky': , 'age': }
{'dicky': , 'age': , 'alex': }
{'dicky': , 'age': , 'alex': }
{'dicky': , 'age': , 'alex': , 'zhang': }
单独说下copy
11 集合
简单介绍
b = [,,,,,'ff']
a = [,,,,,,,,,'ff','ww']
c = set(a)
d = set(b)
print d & c #交集
print d | c #并集
结果
set([, 'ff', ])
set([, , , , , , , 'ww', 'ff', , ])
python之旅【第二篇】的更多相关文章
- Python开发【第二篇】:初识Python
Python开发[第二篇]:初识Python Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- Python进阶【第二篇】多线程、消息队列queue
1.Python多线程.多进程 目的提高并发 1.一个应用程序,可以有多进程和多线程 2.默认:单进程,单线程 3.单进程,多线程 IO操作,不占用CPU python的多线程:IO操作,多线程提供并 ...
- Python学习【第二篇】Python入门
Python入门 Hello World程序 在linux下创建一个叫hello.py,并输入 print("Hello World!") 然后执行命令:python hello. ...
- Python自动化 【第二篇】:Python基础-列表、元组、字典
本节内容 模块初识 .pyc简介 数据类型初识 数据运算 列表.元组操作 字符串操作 字典操作 集合操作 字符编码与转码 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库, ...
- python之路第二篇(基础篇)
入门知识: 一.关于作用域: 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. if 10 == 10: name = 'allen' print name 以下结论对吗? ...
- Python之旅.第二章数据类型 3.19/3.20/3.21/3.22/3.23
一.数字类型 1.int类型: 基本使用: 用途:用于年龄,手机号,身份证号: 定义: age=18: 常用操作+内置方法: 正常的运算赋值: 进制转换: print(bin(3)); 把十进制3转换 ...
- 我的Python之旅第二天
一 .字符串操作 1单引号('').双引号("").三引号(""" """)的区别. 如果字符串中不包含单引号.双引号, ...
- Python基础【第二篇】
一.Python的标准数据类型 Python 3中主要有以下6中数据类型: Number(数字).String(字符串).List(列表).Tuple(元组).Sets(集合).Dictionary( ...
随机推荐
- CF 407B Long Path[观察性质 DP]
B. Long Path time limit per test 1 second memory limit per test 256 megabytes input standard input o ...
- AC日记——有趣的跳跃 openjudge 1.6 07
07:有趣的跳跃 总时间限制: 1000ms 内存限制: 65536kB 描述 一个长度为n(n>0)的序列中存在“有趣的跳跃”当前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1). ...
- Markdown(MD)写作
简洁的写作 目前正逐步使用Makedown来写博客或其它的文档,本文记录一下Markdown的相关知识 Markdown语法 标题 # 内容 (一级标题) ## 内容 (二级标题) ### 内容 (三 ...
- 多年前写的一个ASP.NET网站管理系统,到现在有些公司在用
多年前写的一个ASP.NET网站管理系统,到现在有些公司在用 今早上接到一个电话,自已多年前写的一个ASP.NET网站管理系统,一个公司在用,出了点问题, 第一点是惊奇,5,6年前的东东,手机号码换了 ...
- 转:Eclipse SVN插件比较 Subclipse vs Subversive
结论:还是用久经考验的 Subclipse http://www.wkii.org/eclipse-svn-plugins-subclipse-vs-subversive.html
- HTML 学习笔记 CSS样式(背景)
背景色 可以使用background-color属性为元素设置背景色 这个属性接受任何合法的颜色值. 可以使用background-image属性来喂元素设置背景图片. 背景重复 如果需要在页面上对背 ...
- js中三个对数组操作的函数 indexOf()方法 filter筛选 forEach遍历 map遍历
indexOf()方法 indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1. 不使用indexOf时 var arr = ['apple','orange','pea ...
- BZOJ 4034 【HAOI2015】 T2
Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中所 ...
- Post model至Web Api创建或是保存数据
前一篇<Post model至Web Api>http://www.cnblogs.com/insus/p/4343538.html中,使用Post来从Web Api获取数据.由于Post ...
- [py]简易pick lucky num程序
程序功能: 1,用户输入数字,当用户输入指定数字时候,输出他输入的循环那次 2,第二次询问是否还要输 3,如果no 则 终止 4,如果yes则继续输入 判断输入是否大于首次输入的 如果大于则开始循环输 ...