1. #coding=utf-8
① 代码中有中文字符,最好在代码前面加#coding=utf-8
② pycharm不加可能不会报错,但是代码最终是会放到服务器上,放到服务器上的时候运行可能会报错。
③ 等号两边不要加空格,要不然有时也会报错。
2. “a == b” 与 “a is b”
① == 是来判断a的值是否等于b的值。
② is 是来判断a和b的地址是否相等。
3. pass语句
① pass语句的使用表示不希望任何代码或者命令的执行。
② pass语句是一个空操作,在执行的时候不会产生任何反应。
③ pass语句常出现在 if、while、for 等各种判断或者循环语句中。
4. break和continue语句
① break和continue语句常用语wihle和for循环中。
② 退出循环用break,退出此次循环进入下次循环用continue。
5. input()函数
① input()函数接受一个标准输入数据,所有输入默认为字符串处理,返回值为string类型。
② input()函数是输入函数,是实现人机交互的重要函数。
name = input("你的用户名:")
print(name) # 通过外部键盘传入,将变量打印出来。
运行结果:
- 你的用户名:宝贝入怀
- 宝贝入怀
6. range()函数
① range()函数默认start为0,步长默认为1,range(n) 会产生从0-n,步长为1的序列。
print(list(range(10)))
print(tuple(range(10)))
print(set(range(10)))
运行结果:
- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
- {0, 1,2, 3, 4, 5, 6, 7, 8, 9}
print(list(range(2,10)))
运行结果:
- [2, 3, 4, 5, 6, 7, 8, 9]
7. enumerate()函数
① enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列。
product_list=[('Iphone', 5800),
('Mac Pro', 9800),
('Bike', 5800),
('Watch', 10600),
('Coffee', 31),
('Alex Python', 120)]
print(list(enumerate(product_list)))
for index,item in enumerate(product_list):
print(index,item)
运行结果:
- [(0, (‘Iphone’, 5800)), (1, (‘Mac Pro’, 9800)), (2, (‘Bike’, 5800)),
(3, (‘Watch’, 10600)), (4,(‘Coffee’, 31)), (5, (‘Alex Python’,
120))] - 0 (‘Iphone’, 5800)
- 1 (‘Mac Pro’, 9800)
- 2 (‘Bike’, 5800)
- 3(‘Watch’, 10600)
- 4 (‘Coffee’, 31)
- 5 (‘Alex Python’, 120)
8. items()函数
① items()函数返回的是一个元组数组,返回的是键和值。
d = {'a':1,'b':2}
print(d.items())
运行结果:
dict_items([(‘a’, 1), (‘b’, 2)])
dict1 = {'老大':'15岁',
'老二':'14岁',
'老三':'2岁',
'老四':'-1岁'
}
print(dict1.items())
for key,values in dict1.items():
print(key + '已经' + values + '了')
运行结果:
- dict_items([(‘老大’, ‘15岁’), (‘老二’, ‘14岁’), (‘老三’, ‘2岁’), (‘老四’,
‘-1岁’)]) - 老大已经15岁了
- 老二已经14岁了
- 老三已经2岁了
- 老四已经-1岁了
9. map()函数
① map(func,seq[,seq[,seq…]]) 接收一个函数及多个集合序列,会根据提供的函数对指定序列做映射,然后返回一个新的map对象。
# 一个序列使用map
# coding = utf-8
def Capitalize(name):
return name.capitalize()
L1 = ['adam', 'LISA', 'barT']
L2 = list(map(Capitalize, L1))
print(L2)
运行结果:[‘Adam’, ‘Lisa’, ‘Bart’]
# 多个序列使用map
list1 = [1,2,3,4,5]
list2 = [6,7,8,9,10]
list3 = [11,12,13,14,15]
list_result = map(lambda x,y,z : x ** 2 + y + z,list1, list2, list3)
print(list(list_result))
运行结果:
- [18, 23, 30, 39, 50]
# map是一个迭代器,用map取元素
list1 = [1,2,3,4,5]
list2 = [6,7,8,9,10]
list3 = [11,12,13,14,15]
list_result = map(lambda x,y,z : x ** 2 + y + z,list1, list2, list3)
print(list(list_result))
for i in map(lambda x,y,z : x ** 2 + y + z,list1, list2, list3):
print(i)
运行结果:
- [18, 23, 30, 39, 50]
- 18
- 23
- 30
- 39
- 50
10. filter()函数
① 用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的filter对象。
a = ['abdc','sss','ww','dlkf','adf','eef']
b = list(filter(lambda i:len(set(i)) >= len(list(i)),a)) # 过滤不符合条件的元素,返回值为符合条件的元素
print(b)运行结果:
- [‘abdc’, ‘dlkf’, ‘adf’]
a = ['abdc','sss','ww','dlkf','adf','eef']
b = filter(lambda i:len(set(i)) >= len(list(i)),a)
print(type(b)) # b 是一个过滤器filter
print(next(b)) # 过滤器filter可以通过nex来获得里面的元素
print([i for i in b]) # 过滤器filter可以通过for来遍历,获得里面的元素
运行结果:
- <class ‘filter’>
- abdc
- [‘dlkf’, ‘adf’]
11. reduce()函数
① 对于序列中的所有元素调用func进行数据合并操作,可以给定一个初始值。
② reduce函数在python3的内建函数移除了,放入了functools模块,所以需要导入functools库才能用。
from functools import reduce
list1=[1,2,3,4]
reduce(lambda x,y:x * y,list1)
运行结果:
- 24
from functools import reduce
list1=[1,2,3,4]
reduce(lambda x,y:x * y,list1,100)
# 将list1中所有元素进行相乘,如果设置初始值init=100,那么就是100*1*2*3*4
运行结果:
- 2400
12. round()函数
① round()函数语法:round(x,n),x 是数值表达式,n 表示从小数点后取几位数字,如果取的几位数字都是0,则只保留一位0。
from functools import reduce
def cal_aver_max(*args):
# print(args) # rages为一个元组
return round(reduce(lambda x,y:x+y,args)/len(args),4),max(args)
# reduce(lambda x,y:x+y,args) 返回的是一个值,值为 args 元组中每个元素相加的和
# round(reduce(lambda x,y:x+y,args)/len(args),4),max(args) 为两个数,用return时,产生的是一个元组
print(cal_aver_max(2,4,5,1))
print(cal_aver_max(1,2,4))
运行结果:
- (3.0, 5)(2.3333, 4)
13. dir()函数
① dir()函数返回的是一个排好序的字符串列表,内容是一个.py模块里定义过的名字,容纳了在一个模块里定义的所有模块、变量和函数。
② dir(类)函数返回的是类的魔术方法和函数。
dir(list) # 打印列表操作的魔术方法和函数,dir()是python的内置函数,这里的list其实就是实例化一个列表类,查询列表类里的魔术方法和函数。
dir() # dir里面没加参数就是模块的变量和函数
运行结果:
- [‘In’, ‘Out’, ‘', '', '’, ‘builtin’, ‘builtins’,
‘doc’, ‘loader’, ‘name’, ‘package’, ‘spec’,
‘_dh’, ‘_i’, ‘_i1’, ‘_i2’, ‘_ih’, ‘_ii’, ‘_iii’, ‘_oh’,
‘cal_aver_max’, ‘exit’, ‘get_ipython’, ‘quit’, ‘reduce’]
14. seed()函数
① seed()函数可以使得每次取随机数时相同。
② seed()函数在神经网络中常用,为了避免这次用的随机数训练网络效果很好,而下次用的随机数训练的网络效果不好,为了复现训练好的神经网络,seed()函数可以使得神经网络初始化参数时的随机数相同。
15. sort()函数
① 当序列在里面时,sorted 函数可以对元祖、字典、列表都可以排序,当序列在外面的时候,只能对列表进行排序。
sorted(fruits,key = lambda x:x[-1],reverse=True) # fruits序列可以为元祖、字典、列表,key 表示按哪一个排序
fruits.sort(key = lambda x:x[-1],reverse=True) # fruits序列只能为对列表
16. 分享经验目前,使用Python两年了,分享一点自己的经验
学习:
① 找手撕代码的视频,一句一句写代码,还讲自己是如何思考的视频,不要找老师直接讲一套写好了的代码的视频。
② 找点击量比较高的老师(群众的眼睛是雪亮的),代表优秀的教学,但是要找适合自己的老师(能激发你学计算机兴趣的老师)。
③ 不管多简单的程序都要自己打一下,看一遍依旧是别人的,做了一遍,才是自己的。只有做一遍才会获得经验,“模仿+总结” 是学习非常快的方法。
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、精品Python学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、Python练习题
检查学习结果。
七、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这份完整版的Python全套学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】