徐老师python课——个人难点整理(最后其实变成了抄笔记)
目录
- 第一章
- 视频二
- 第二章
- 视频二
- **1.输出一行预测值**:
- **2.int、eval和round的定义与区别**:
- **3.最值与求和**
- **4**.排序与逆序
- **5**.枚举与迭代
- **6**.三个很重要的函数
- **7**.range()超级重要的内置函数
- **8**.zip()对应位置元素压缩
第一章
视频二
- python中os.path.isdir()和os.path.isfile()的正确用法(其中包括os.listdir(),os.path.join()的使用方法
- python中__name__的使用:如果该模块是被引用,那么__name__的值会是此模块的名称;如果该模块是直接被执行,那么__name__的值是__main__。(注意name左右是双下划线嗷。)(当一个模块被引用时,如何不执行该模块的语句?答案就是靠判断__name__是否等于 main。当一个模块被直接执行时,其__name__必然等于__main__;当一个模块被引用时,其__name__必然等于文件名(不含.py))
- 在jupyter notebook下导入一个模块(module)(只能导入.py 格式的。
- 在jupyter notebook下运行一个文件的不同方式。(%run与%load的区别,运行.ipynb也可以)
我真的是这些都不知道还要记录一下(默默打自己)
第二章
视频二
1.输出一行预测值:
之前在建模的时候预测值输出为一列,今天学到了如何输出为一行,中间以空格链接:
for i in (3,5,7):print(i)
for i in (3,5,7):print(i,end='\t')
2.int、eval和round的定义与区别:
1、int是一种数据类型,实现将数据从其他类型的转换为整型数据(可以出现以0开头的数字),只能变成整数(四舍五入输出整数)。
1.int(2+3) >>> 5
2.int(2.333) >>>2
3.int(3/2) >>>1
4.int('666') >>>666
int可以将整形字符串转换为整型,但是it not change not int
并且int不会改变初始值
2、eval是Python的内置函数,功能是计算字符串的值(但不允许以0开头的数字)和类型转换(将字符串外部的“”去掉),可以把实数字符串变成实数类型float(输出小数或复数,包括列表、元组内的数字)。
eval('3+5')
8
eval('09')
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
list(str([1,2,3,4]))
[’[’, ‘1’, ‘,’, ’ ', ‘2’, ‘,’, ’ ', ‘3’, ‘,’, ’ ', ‘4’, ‘]’]
eval(str([1,2,3,4]))
[1, 2, 3, 4]
但int和eval都在特定情况下可以将字符串转换为数据,但是必须是转化数字,不能是其他符号。用于实现特定操作。
3、取最大整的round函数:
round(5.327) >>>6
round(98.3462436) >>>99
round函数也不会改变初始值
3.最值与求和
1.数字的最值和求和
生成列表推导式,其中包含十个[1,100]之间的数字
from random import randint
a=[randint(1,100)for i in range(10)]
a
[54, 91, 67, 77, 75, 36, 36, 15, 71, 68]
print(max(a),min(a),sum(a))
91 15 590
sum(a)/len(a)
59.0
2.字符串的最值
max(['2','111'])#不指定排序规则,字符串的默认规则为每个字符按顺序比较,存在惰性
‘2’
max(['2','111'],key=len)#根据字符串长度比较大小
‘111’
3.input和print:
input()默认输出字符串,必要时需用int()、float()或eval()对其内容进行类型转换。
4.排序与逆序
(1)排序
x=list(range(11))
x
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
import random
random.shuffle(x) #乱序
x
[5, 0, 10, 8, 3, 6, 9, 7, 2, 4, 1]
sorted(x)#以默认顺序排序
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sorted(x,key=lambda item:len(str(item)),reverse=True)#默认False(升序),参数key用来制定根据哪个字段对列表元素进行排序
'''其中规则key设定为lambda表达式,函数值为item,函数值为给定
的这个变量变成字符串再求其长度,按照长度降序进行排序(对原来的
x进行排序,不是排序后的上一行x)'''
sorted(d.items(), key=lambda x: x[1]) 中 d.items() 为待排序的对象;key=lambda x: x[1] 为对前面的对象中的第二维数据(即value)的值进行排序。 hanshukey=lambda 变量:变量[维数] 。维数可以按照自己的需要进行设置。
sorted(x,key=str) #转换为字符串以后升序排列
#如果按字符串进行排序的话,就默认按照第一个数字升序,具有惰性。
x=['aaaa','bc','d','b','ba']
sorted(x,key=lambda item:(len(item),item))#字符串排序先按长度,长度一样的正常排序(按照对应编码排),默认升序
[‘b’, ‘d’, ‘ba’, ‘bc’, ‘aaaa’]
(2)逆序
list(reversed(x))#用于返回一个逆序的对象
<list_reverseiterator at 0x198948b4f40>
list(reversed(x))#此处是一个新列表,因为创建了一个新的对象
[‘ba’, ‘b’, ‘d’, ‘bc’, ‘aaaa’]
5.枚举与迭代
枚举函数用来枚举可迭代对象中的元素,返回可迭代(遍历)的enumerate对象,其中每个元素都是包含索引和值的元组。
list(enumerate('abcd'))#枚举字符串中的元素
[(0, ‘a’), (1, ‘b’), (2, ‘c’), (3, ‘d’)]
list(enumerate(['Python','Great']))#枚举列表中的元素
[(0, ‘Python’), (1, ‘Great’)]
list(enumerate({'a':97,'b':98,'c':99}))#枚举字典中的键
#字典的键为引号内的,字典的值为数值,元素包括键和值。
[(0, ‘a’), (1, ‘b’), (2, ‘c’)]
list(enumerate({'a':97,'b':98,'c':99}.items()))#枚举字典中的元素,千万别忘记写s
[(0, (‘a’, 97)), (1, (‘b’, 98)), (2, (‘c’, 99))]
for index,value in enumerate(range(10,15)):print((index,value),end='')#枚举range对象中的元素的索引和对应值
(0, 10)(1, 11)(2, 12)(3, 13)(4, 14)
6.三个很重要的函数
(1)map函数
map()函数是将func作用于seq中的每一个元素,并将所有的调用的结果作为一个list返回。如果func为None,作用同zip()。
list(map(str,range(5)))#使用内置函数
[‘0’, ‘1’, ‘2’, ‘3’, ‘4’]
def add5(v):return v+5
list(map(add5,range(10)))#使用自定义函数
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
def add(x,y):return x+y
list(map(add,range(5),range(5,10)))#使用自定义函数
[5, 7, 9, 11, 13]
(2)reduce函数
reduce函数可以将一个接受两个参数的函数(下例为lambda)以迭代累积的方式从左到右依次作用到一个序列(下例序列为1到9的整数)或迭代器对象的所有元素上,并且允许指定一个初始值。
from functools import reduce
seq=list(range(1,10))
reduce(lambda x,y:x+y,seq)
迭代图像如下,先x=1,y=2,x+y=3,第二步将x+y赋给x,则x=3,y=3,x+y=6,以此类推。
(3)filter函数
filter将一个单参数函数作用到一个序列上,返回该序列中使得该函数返回值为True的那些元素组成的filter对象,如果指定函数为None,则返回序列中等价于True的元素。
seq=['foo','x41','?!','***']#创建一个序列
def func(x):return x.isalnum() #定义一个函数,用来测试是否为字母或数字
isalnum()方法语法:str.isalnum(),无参数,如果至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False。
filter(func,seq) #返回filter对象
<filter at 0x1989658d670>
list(filter(func,seq))#把filter对象转换为列表
[‘foo’, ‘x41’]
7.range()超级重要的内置函数
语法格式为:range([start,]end[,step]),有range(end)、range(start,end)和range(start,stop,step)三种用法。
返回值:惰性求值,包含左闭右开区间[start,end)内以step为步长的整数。start默认为0,step默认为1。
range(1,10,2)
range(1, 10, 2)
list(_)#查看上一个
[1, 3, 5, 7, 9]
8.zip()对应位置元素压缩
用来把多个可迭代对象中的元素压缩到一起,返回一个可迭代的zip对象,其中每个元素都是包含原来的多个可迭代对象对应位置上元素的元组,如同拉链一样,同时也保持惰性,即短的无法对应压缩。
list(zip('abcd',[1,2,3]))#压缩字符串和列表,可看出其惰性
list(zip('123','abc',',.!'))#压缩三个序列
9.python关键字
python的keyword的输入值
徐老师python课——个人难点整理(最后其实变成了抄笔记)相关推荐
- 认识电子计算机评课稿,《千以内数的认识》评课稿(最新整理)
<<千以内数的认识>评课稿(最新整理)>由会员分享,可在线阅读,更多相关<<千以内数的认识>评课稿(最新整理)(3页珍藏版)>请在人人文库网上搜索. 1 ...
- 对Python课的看法
学习Python已经有两周的时间了,我是计算机专业的学生,我抱着可以多了解一种语言的想法报了Python的选修课,从第一次听肖老师的课开始,我便感受到一种好久没有感受到的课堂氛围,感觉十分舒服,不再是 ...
- python基础知识整理-python爬虫基础知识点整理
首先爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 根据我的经验,要学习Python爬虫 ...
- 视频教程-清华-尹成老师-Python数据库3.MySQL-Python
清华-尹成老师-Python数据库3.MySQL 毕业于清华大学,曾担任Google算法工程师,微软人工智能领域全球最具价值专家,微软Tech Ed 大会金牌讲师. 精通C/ C++,Python , ...
- 视频教程-清华-尹成老师-Python爬虫day13-Python
清华-尹成老师-Python爬虫day13 毕业于清华大学,曾担任Google算法工程师,微软人工智能领域全球最具价值专家,微软Tech Ed 大会金牌讲师. 精通C/ C++,Python ,Go语 ...
- 不一样的 Python 课【王的机器出品】
王的机器要开课了 [王的机器]要和新加坡一家在线教育平台 VIPCLASS 一起合作推出 Python 课程,整套内容目录如下图. 首先要学好 Python 的基础知识,不要一上来就好高骛远使用各种包 ...
- Python课 #06号作业
为了记录我的Python课,将我的作业发上来,欢迎各位大佬评鉴.如果你有什么更好的想法,请在下方评论或联系我.谢谢! 作业一:苹果.李子.橙 描述 1只苹果4元,1只橙子3元,4只李子1元,给你n元( ...
- 回复徐老师暨不成功教学的反思
承担"计算机科学"课一年来,在这些孩子们身上花了不少心思,但最终效果真不好.我的教学,没有给他们后续学习带来足够的基础.可以罗列出一堆的理由来为自己推脱,真心不想往那个角度想问题. ...
- 视频教程-清华-尹成老师-Python爬虫day14-Python
清华-尹成老师-Python爬虫day14 毕业于清华大学,曾担任Google算法工程师,微软人工智能领域全球最具价值专家,微软Tech Ed 大会金牌讲师. 精通C/ C++,Python ,Go语 ...
最新文章
- 2021全国高校计算机能力挑战赛(初赛)C语言试题一
- 图片的裁剪、旋转、平移、模糊
- VS集成环境中的JavaScript脚本语法检查
- 怎么卸载Apache_pn服务-PHPnow使用问题
- 如何在运行时打印出 SAP Spartacus 配置(config)信息
- .net6给winform带来的新功能
- BZOJ 3513: [MUTC2013]idiots [FFT]
- J2EE项目代码编写规范分享
- android 内部共享存储,Android共享内部存储
- hibernate mysql autocommit_Hibernate4 中为什么我没有用commit()方法直接用save就存到数据库了?...
- mysql使用语句_Mysql基本使用语句
- 利用Ninject实现依赖注入
- java俄罗斯方块说明书_俄罗斯方块java代码(java编写俄罗斯方块代码详解)
- 如何从ST官方获取你需要的单片机原理图和PCB封装
- php后台管理员登录密码错误,织梦后台登陆不上提示验证码不正确1.密码明明正确的,却无法登陆后台管理...
- uniapp 前端获取历史搜索记录
- FER 人脸情绪识别系统
- 谷仓加密方式_谷仓紧缩谷物如何导致苹果计算机
- 【JAVA长虹键法】第五式 抽象工厂模式(23种设计模式)
- Jetson Nano--YoLoV5测试运行--记录