Python最常用的语句和函数有哪些

 
目录
收起
1. #coding=utf-8
2. "a == b" 与 "a is b"
3. pass语句
4. break和continue语句
5. input()函数
6. range()函数
7. enumerate()函数
8. items()函数
9. map()函数
10. filter()函数
11. reduce()函数
12. round()函数
13. dir()函数
14. seed()函数
15. sort()函数
16. 分享经验
16.1 学习
16.2 验证
16.3 大忌
16.4 讲解
全套笔记

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序列只能为对列表

[ 完 ]

[ Python 其他笔记,见 "我的主页→专栏" ]


16. 分享经验

目前,使用Python两年了,分享一点自己的经验

16.1 学习

① 找手撕代码的视频,一句一句写代码,还讲自己是如何思考的视频,不要找老师直接讲一套写好了的代码的视频。

② 找点击量比较高的老师(群众的眼睛是雪亮的),代表优秀的教学,但是要找适合自己的老师(能激发你学计算机兴趣的老师)。

③ 不管多简单的程序都要自己打一下,看一遍依旧是别人的,做了一遍,才是自己的。只有做一遍才会获得经验,"模仿+总结" 是学习非常快的方法。

16.2 验证

① 我学Python的时候,有时候代码会报错,就主动调试代码,打印变量的值,通过变量值是否符合自己的预期,让自己知道该段程序是否正常运行,从而确定报错的位置和原因。

② 我加了一些Python学习微信群,我有些知识点(or代码)不懂的时候,我就问她们,然后把她们的阐述,组织语言、逻辑,反述出来,这样吸收率非常高。

③ 学习路上经常会碰到疑惑的问题,碰到不懂的问题,搜索相关信息,有一个猜想,然后请教别人来验证猜想,不让别人灌输知识。 别人灌输的,记不牢;验证后的记得牢,并且有成就感。

16.3 大忌

① 学Python的大忌:学到某个知识点,发现有点晦涩难懂,就不继续往前学,不停的反复琢磨其中的原理。

② 如果已经实现了需求,但是不是很理解其中的原理,先尽量理解原理,如果不理解,继续往前学,因为有些原理是通过后面的知识进行理解的,全部学完后会发现有些以前不懂的豁然开朗。

16.4 讲解

① 如果一个问题,能给别人讲的非常清晰明了,这才说明自己是真的懂了,而且讲解完后这个知识点会记得非常深刻。

② 举个例子,别人问自己一道题目(或知识点),虽然自己以前没有遇到过这道题,但是自己把它做出来了,并且给别人讲清楚了,那么自己这道题里面的知识点会理解的很透彻、记得非常深刻。

posted @ 2022-11-04 17:55  石榴17  阅读(309)  评论(0)    收藏  举报