Python学习进阶之薄弱点总结
'''
1.实现用户传入一个普通字符串,
返回字符串的md5加密结果的函数
'''
# import hashlib
#
# def M(str):
# m = hashlib.md5()
# m.update(str.encode('utf8'))
# return m.hexdigest()
#
# s = M('stoll')
# print(s)
#函数对象的四大功能
#1. 引用(和变量一样)
# x = "hello nick"
# y = x
# def func():
# print('from func')
# f = func
# print(func) #打印的是函数的内存地址
#2. 当做参数传给一个函数 (和变量一样)
# len(x)
# def foo(m):
# m()
# foo(func)
#3. 当做函数的返回值
# def foo(x):
# return x
#
# res = foo(func)
# print(res)
# res()
#4. 可以当做容器类型的元素
# l = [x]
#
# function_list = [func]
# function_list[0]()
'''
return和yield关键字的区别
相同点
功能都是返回程序执行结果
区别
yield返回执行结果并不中断程序执行,
return在返回执行结果的同时中断程序执行。
'''
'''
模块搜索的顺序
1. 先从内存中找
2. 内置的模块
3. 环境变量sys.path中找
'''
'''
包中的__init__文件有以下作用:
1.标识该文件是Package
2.模糊导入中的*中的模块是由__all__来定义的,
定义__all__用来模糊导入
'''
"""
1. 使用while循环实现for循环底层原理
# 提示:使用下述代码可以捕捉异常
try:
# 逻辑代码
except StopIterationError:
break
"""
# 1. 首先使用iter把lt变成迭代器对象;对于文件也要使用iter方法吧文件再一次iter下
# 2. 然后使用next方法进行迭代取值
# 3. 判断StopIteration异常,遇到异常终止
# lt = [2,2,3,5] # 对该列表进行循环取值
# lt_iter = lt.__iter__() # 把列表(可迭代对象)变成迭代器对象
# while 1: # 只要是true,就执行
# try:
# print(lt_iter.__next__())
# except StopIteration: # 遇到异常就抛出,为什么会抛异常,因为while会一直循环,但是迭代器对象只能遇到执行4个__next__,第五个没有了,就会遇到异常
# break
lt=[1,2,3,4,5,5]
lt_iter = lt.__iter__()
while 2:
try:
print(lt_iter.__next__())
except StopIteration:
break
"""
2. 阅读需求,编写代码:
1. 规定使用filter()内置函数和匿名函数
2. 将`names = ['Nick', 'Sean_sb', 'Tank_sb', 'Jason_sb']`中
留下以sb结尾的名字
"""
# names = ['Nick', 'Sean_sb', 'Tank_sb', 'Jason_sb']
# 结果为:['Sean_sb', 'Tank_sb', 'Jason_sb']
print(list(filter(lambda a: a.endswith('sb'), names)))
# print(list(filter(lambda x: x.startswith('s'.upper()), names)))
"""
3. 阅读需求,编写代码:
1. 自定义生成器
2. 该生成器拥有range()函数拥有的功能
"""
def self_range(start, end, step):
list = [start, end]
print(start)
while list[0] < list[1]:
yield list[0]
list[0] += step
#
for i in self_range(1, 10, 2):
print(i)
"""
# 结果为:
for i in self_range(1, 10, 2):
print(i) # 1,3,5,7,9
4. 阅读需求,编写代码:
1. 自定义3\*4的numpy数组,
2. 把第1行和第2列的元素置为0
import numpy as np
# 结果为:
'''
array([[0. , 0. , 0. , 0. ],
[0.22721118, 0. , 0.87410034, 0.85833497],
[0.40389177, 0. , 0.42199234, 0.87709706]])
'''
l = np.empty((3, 4))
arr = l.copy()
arr[:1, :] = 0
arr[:, 1:2] = 0
print(arr)
5. 阅读需求,编写代码:
1. 对于字符串`Life234234is beautiful234because234of persistence`
2. 请使用re模块 **一行代码** 还原这句话为`Life is beautiful because of persistence`
"""
import re
s = 'Life234234is beautiful234because234of persistence'
# 结果为:Life is beautiful because of persistence
l = re.sub('234',' ', s)
print(l)
Python学习进阶之薄弱点总结的更多相关文章
- 2020年python学习进阶方向
相信很多友人在学习python过程都会遇到很多 虽然python入门很容易 但是难免会遇到瓶颈 遇到问题没人交流 很难提升 对此 给你们简单指点学习方向 1.认识python linux基本 ...
- Python学习进阶
阅读目录 一.python基础 二.python高级 三.python网络 四.python算法与数据结构 一.python基础 人生苦短,我用Python(1) 工欲善其事,必先利其器(2) pyt ...
- Python 学习 —— 进阶篇(装饰器、类的特殊方法)
Python基础部分学完之后,在进入其OOP部分前,先理解一下其装饰器这种结构,其功能可类比于Java中的面向切面编程,下面参见具体实例: def log(f): def fn(x): print ' ...
- python学习进阶一
map()函数 def format_name(s): return s.capitalize() print map(format_name, ['adam', 'LISA', 'barT']) R ...
- Python学习笔记进阶篇——总览
Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(Socket编程进阶&多线程.多进程) Python学习笔记——进阶篇[第八周]———进程.线程.协程篇(异常处理) Pyth ...
- 第二弹:超全Python学习资源整理(进阶系列)
造一个草原要一株三叶草加一只蜜蜂.一株三叶草,一只蜂,再加一个梦.要是蜜蜂少,光靠梦也行. - 狄金森 "成为编程大牛要一门好语言加一点点天分.一门好语言,一点点天分,再加一份坚持.要是天分 ...
- 学习推荐《从Excel到Python数据分析进阶指南》高清中文版PDF
Excel是数据分析中最常用的工具,本书通过Python与Excel的功能对比介绍如何使用Python通过函数式编程完成Excel中的数据处理及分析工作.在Python中pandas库用于数据处理,我 ...
- Python学习day15-函数进阶(3)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
- Python学习day14-函数进阶(2)
figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...
随机推荐
- uniApp配置文件几个注意点
虽然有文档,但是偶尔还是会又找不到的,写下来遇到过的问题,随时补充.好记性不如烂笔头. 1.打包完安装之后,app 有时候会弹出一个提示框.如下: 修改配置项,设置 ignoreVersion 为 t ...
- myeclipse配置springmvc教程
之前一直是使用Eclipse创建Web项目,用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题,这里把这个过程记录一下,希望能帮助到那些有需要的朋友.我是用的是MyE ...
- 【leetcode-152】 乘积最大子序列
给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数). 示例 1: 输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6.示例 2: 输 ...
- Linux 笔记 - 第二十四章 配置 Tomcat
一.前言 Tomcat 是 Apache 软件基金会(Apache Software Foundation)Jakarta 项目中的核心项目,由 Apache.Sun 和其他一些公司及个人共同开发.使 ...
- .NET设计模式-观察者模式
Observer(观察者模式) 定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新. 说白了就是事件. using System; namespa ...
- MVC+Ninject+三层架构+代码生成 -- 总结(六、邏輯層)
1.邏輯層的方法應該與數據層的方法一一對應.邏輯層返回的結果都是用接口IResult封裝,用於項目轉換時,能減少變化的代碼量. 2.邏輯層都需要繼承 BaseLogic 類 public class ...
- 正则表达式(RegEx)官方手册/权威指南【Python】
前言 正则表达式(称为RE,或正则,或正则表达式模式)本质上是嵌入在Python中的一种微小的.高度专业化的编程语言,可通过 re 模块获得. 使用这种小语言,你可以为要匹配的可能字符串集指定规则:此 ...
- Lisp : (quote) code is data (eval) data as code
- 关于使用PreApplicationStartMethod实现module注册问题
在使用PreApplicationStartMethod实现module注册问题发现一个问题: //用PreApplicationStartMethod实现自注册模块 [assembly: PreAp ...
- 基于vue+springboot+docker网站搭建【三】安装docker
安装docker 我们整个工程都会基于docker来跑,因此首先安装docker.在安装所有软件之前,我们需要先下载一个下载工具. 1.下载工具安装 yum-utils yum install -y ...