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( ...
随机推荐
- 【转】selenium学习路线
selenium学习路线 配置你的测试环境,真对你所学习语言,来配置你相应的selenium 测试环境.selenium 好比定义的语义---“问好”,假如你使用的是中文,为了表术问好,你的写法是“你 ...
- python笔记-调用eval函数出现invalid syntax错误
本来是想打算使用eval函数对变量进行赋值的,没想到出现了invalid syntax错误.源代码如下 In [2]: eval('a = 1') File "<string>& ...
- HQL基础查询语句
HQL基础查询语句 1.使用hql语句检索出Student表中的所有列 //核心代码 @Test public void oneTest() { Query query=session.createQ ...
- Sphinx和coreseek检索引擎
Sphinx是检索英文用,coreseek是检索中文用. Sphinx(斯芬克斯)是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索 ...
- [No00002C]人的寿命应该能达到100至175岁-北大齐教授健康讲座笔录
人的寿命应该能达到100 至175 岁,为什么都没有达到呢?最主要一个原因就是我们不重视保健,不懂得保健的知识.很多人死于无知,这很冤枉啊! 大家知道怎么保健吗?国际上有个维多利亚宣言,宣言里有三 ...
- Spring JPA Junit 关闭自动回滚
因为用了JPA配合Hibernate ,采用注解默认是开启了LayzLoad也就是懒加载,所以不得不在Junit的单元测试上加上@Transactional注解 这样Spring会自动为当前线程开启S ...
- HTML 学习笔记(表格)
HTML 表格 HTML中的表格使用标签<table>来实现,每个表格均有若干行由<tr>标签来定义,每个<tr>表示一行.美航被分为若干个单元格用<td&g ...
- memcache分布式 [一致性hash算法] 的php实现
最近在看一些分布式方面的文章,所以就用php实现一致性hash来练练手,以前一般用的是最原始的hash取模做分布式,当生产过程中添加或删除一台memcache都会造成数据的全部失效,一致性hash就是 ...
- javascript实现优先队列
1.概念 一般情况下从队列中删除元素,都是率先入队的元素.但是有些使用队列的情况不遵循先进先出的原则,这就是插队,这需要使用优选队列的数据结构来进行描述. 从优先队列中删除元素的时候,需要考虑优先级的 ...
- Hibernate总结4之HQL
一,HQL特点 与SQL相似,SQL中的语法基本上都可以直接使用. SQL查询的是表和表中的列:HQL查询的是对象与对象中的属性. HQL的关键字不区分大小写,类名与属性名是区分大小写的. SELEC ...