python 学习
切片:
[start_index: stop_index: step]
start_index: stop_index 参数都可以省略 默认 全部 但必须有一个 :
demo:
start_index和stop_index的绝对值是可以大于length的。比如下面两个例子:?
1
2
3
4
5
|
>>> alist = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
>>> alist[ - 11 : 11 ]
[ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
>>> alist[ 11 : - 11 : - 1 ]
[ 9 , 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 0 ]
|
另外start_index和stop_index都是可以省略的,比如这样的形式 alist[:]
, 被省略的默认由其对应左右边界起始元素开始截取。
看一下具体的实例:?
1
2
3
|
>>> alist = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
>>> alist[:]
[ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
|
函数默认参数: 陷阱
def qqxing(k,l = {}): # l.append(1) l[k] = 'v' print(l) qqxing(1) #[1]qqxing(2) #[1,1]qqxing(3) #[1,1,1] # 如果默认参数的值是一个可变数据类型,# 那么每一次调用函数的时候,# 如果不传值就公用这个数据类型的资源
def func(l): return l[1::2] #切片 从 第一个, 从1 开始 不是 0 2 4 print(func([1,2,3,4,5]))
def func(l): return l[:2] print(func([1,2,3,4]))
######## 全局变量变量名大写######## 局部变量变量名小写 # 优先读取局部变量,能读取全局变量,无法对全局变量重新赋值 NAME=“fff”,# 但是对于可变类型,可以对内部元素进行操作# 如果函数中有global关键字,变量本质上就是全局的那个变量,可读取可赋值 NAME=“fff”
高阶函数
一 #filter函数movie_people=['alex_sb','wupeiqi_sb','linhaifeng','yuanhao_sb']def sb_show(n): return Truedef sb_show(str):# return str.endswith('sb');## print(list(filter(sb_show,movie_people))) ####注意 sb_show是变量 不是字符串
二、map函数
num_l = [1,2,10,5,3,7]# print(list(map(lambda x:x+1,num_l)) def add_one(x): return x+1 print(list(map(add_one,num_l)) ####注意 add_one 是变量 不是字符串
三、reduce函数, py3 要自己引入,因为已经删除内置
from functools import reduce def add(x,y): return x + yprint(reduce(add,list(range(1,100))))
匿名函数;没有实际名字的函数。
func=lambda x:x+'_sb'res=func(name)print('匿名函数的运行结果',res)
#处理序列中的每个元素,得到的结果是一个‘列表’,该‘列表’元素个数及位置与原来一样# map() #filter遍历序列中的每个元素,判断每个元素得到布尔值,如果是True则留下来 people=[ {'name':'alex','age':1000}, {'name':'wupei','age':10000}, {'name':'yuanhao','age':9000}, {'name':'linhaifeng','age':18},]print(list(filter(lambda p:p['age']<=18,people))) #reduce:处理一个序列,然后把序列进行合并操作from functools import reduceprint(reduce(lambda x,y:x+y,range(100),100))print(reduce(lambda x,y:x+y,range(1,101)))
# 文件处理 # 打开文件 #open('路径','打开方式','指定编码方式') # 打开方式 r w a r+ w+ a+ b # ‘r+’读+追加模式,可读可写,# ‘w+’写读模式,打开创建新文件,因此需要先把内容写进去在读# ‘a’追加模式,若打开的是已有文件则直接对已有文件操作
文件打开,替换
with open('小护士班主任',encoding='utf-8') as f,open('小护士班主任.bak','w',encoding='utf-8') as f2: for line in f: if '星儿' in line: # 班主任:星儿 line = line.replace('星儿','啊娇') f2.write(line)
f=open('test22.py','ab') #b的方式不能指定编码f.write('杨件'.encode('utf-8')) open('a;ltxt','wt')
# print(f.tell())# f.readline()# print(f.tell()) # f.seek(1)# print(f.tell())# print(f.readlines())# f.seek(3)# print(f.tell())# print(f.read()) # data=f.read(1)# print(data) # f.truncate(10) # f.flush() #讲文件内容从内存刷到硬盘## f.closed #文件如果关闭则返回True## f.encoding #查看使用open打开文件的编码# f.tell() #查看文件处理当前的光标位置## f.seek(3) #从开头开始算,将光标移动到第三个字节# f.truncate(10) #21以写方式打开,但是w和w+除外## f=open('d.txt','r',newline='')## data=f.readline().encode('utf-8')# print(data)# print(f.tell())
f=open('日志文件','rb') # for i in f.readlines():# print(i) #循环文件的推荐方式# for i in f:# print(i) for i in f: offs=-10 while True: f.seek(offs,2) data=f.readlines() if len(data) > 1: print('文件的最后一行是%s' %(data[-1].decode('utf-8'))) break offs*=2
转载于:https://www.cnblogs.com/ldms/p/10450698.html
python 学习相关推荐
- pygame是python的一个库吗,python学习pygame,,基本库导入impor
python学习pygame,,基本库导入impor 基本库导入 import pygame import sys from pygame.locals import * 初始化 pygame.ini ...
- python科学计数法转换_对比Python学习Go 基本数据结构
公众号文章不方便更新,可关注底部「阅读原文」博客,文章随时更新. 本篇是「对比 Python 学习 Go」[1] 系列的第三篇,本篇文章我们来看下 Go 的基本数据结构.Go 的环境搭建,可参考之前的 ...
- python学习------tab补全
python学习------tab补全 python也可以进行tab键补全 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #!/usr/bin/env ...
- Python学习day5作业-ATM和购物商城
Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆, ...
- Python学习系列(六)(模块)
Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: ...
- 最新Python学习项目Top10!
作者 | Mybridge 译者 | Linstancy 整理 | Jane 出品 | AI科技大本营 [导读]过去一个月里,我们对近1000个Python 学习项目进行了排名,并挑选出热度前10的项 ...
- 200页!分享珍藏很久的Python学习知识手册(附链接)
这是之前入门学习Python时候的学习资料,非常全面,从Python基础.到web开发.数据分析.机器学习.深度学习.金融量化统统都有,该手册是HTML版本,左侧是目录,可以点击,右侧是对目录知识点的 ...
- Python学习系列(五)(文件操作及其字典)
Python学习系列(五)(文件操作及其字典) Python学习系列(四)(列表及其函数) 一.文件操作 1,读文件 在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出 ...
- Python学习01 Hello World
Python学习之Hello World 准备工作 去官网http://www.python.org/ 下载python的安装包: http://www.python.org/download/ 当前 ...
- [python教程入门学习]python学习笔记(CMD执行文件并传入参数)
本文章向大家介绍python学习笔记(CMD执行文件并传入参数),主要包括python学习笔记(CMD执行文件并传入参数)使用实例.应用技巧.基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋 ...
最新文章
- ssis foreach 使用ADO记录集
- roc曲线怎么绘制_ROC曲线和PR曲线
- java 大文件下载_Java大文件下载不全问题
- IO多路复用中select、poll、epoll之间的区别
- 【实践】美团到店综合业务场景下的知识图谱构建与应用实践.pdf(附下载链接)...
- 亮点抢先看,华为云 TechWave 大数据专题日有啥料?
- HTTP中GET与POST的区别,99 %的人都理解错了
- Matlab高级教程_第一篇:Matlab基础知识提炼_02
- Navicat Premium 15 逆向表到模型
- Web API 处理机制剖析 --- 拨开迷雾看本质
- 彼得·德鲁克 : 管理自己
- 微信小游戏推荐:又一款H5微信互动小游戏要火啦!
- opa847方波放大电路_用运算放大器获得三角波、正弦波、方波的简易实用电路
- 这个开源项目有点强,无需编码,可一键生成前后端代码
- Spring读源码系列番外篇04----类型转换--上---老旧的PropertyEditor
- LVM 扩容---LVM扩展系统的根分区
- 阿里面试官:说一下公平锁和非公平锁的区别?
- 保险机构如何保护客户信息安全?
- BQ25798双电源输入4节电池升降压充电与最大功率跟踪于光伏板应用
- id 重启event_windows server 2008 R2服务器自动重启,事件ID:6008和事件ID:5
热门文章
- 使用AspNetpagerGridView添加连续的序号
- 开始喜欢Python了
- python的快速入门-1.1、Python快速入门(0529)
- python爬虫教程入门-Python爬虫系列 - 入门教学
- python做些什么-学会Python后都能做什么?网友们的回答简直不要太厉害
- 毕业设计 基于python的网络爬虫-基于python的网络爬虫
- python北京理工大学推荐的书-2020最新的学Python编程的五本必读好书
- python编程电子书下载-python编程初学者指南
- python风变编程是骗局吗-风变编程:花时间学Python,是对自己未来最好的投资
- python语言编程基础-Python语言入门详解!快速学成Python!