百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT技术 > 正文

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

wptr33 2025-07-15 01:27 34 浏览

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 其他笔记,si信已关111获取 ]


16. 分享经验

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

16.1 学习

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

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

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

16.2 验证

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

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

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

16.3 大忌

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

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

16.4 讲解

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

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

"我的分享,希望对你有帮助"

已关111获取更多完整资料




相关推荐

MySQL进阶五之自动读写分离mysql-proxy

自动读写分离目前,大量现网用户的业务场景中存在读多写少、业务负载无法预测等情况,在有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至会对业务产生影响。为了实现读取能力的弹性扩展,分担数据库压...

Postgres vs MySQL_vs2022连接mysql数据库

...

3分钟短文 | Laravel SQL筛选两个日期之间的记录,怎么写?

引言今天说一个细分的需求,在模型中,或者使用laravel提供的EloquentORM功能,构造查询语句时,返回位于两个指定的日期之间的条目。应该怎么写?本文通过几个例子,为大家梳理一下。学习时...

一文由浅入深带你完全掌握MySQL的锁机制原理与应用

本文将跟大家聊聊InnoDB的锁。本文比较长,包括一条SQL是如何加锁的,一些加锁规则、如何分析和解决死锁问题等内容,建议耐心读完,肯定对大家有帮助的。为什么需要加锁呢?...

验证Mysql中联合索引的最左匹配原则

后端面试中一定是必问mysql的,在以往的面试中好几个面试官都反馈我Mysql基础不行,今天来着重复习一下自己的弱点知识。在Mysql调优中索引优化又是非常重要的方法,不管公司的大小只要后端项目中用到...

MySQL索引解析(联合索引/最左前缀/覆盖索引/索引下推)

目录1.索引基础...

你会看 MySQL 的执行计划(EXPLAIN)吗?

SQL执行太慢怎么办?我们通常会使用EXPLAIN命令来查看SQL的执行计划,然后根据执行计划找出问题所在并进行优化。用法简介...

MySQL 从入门到精通(四)之索引结构

索引概述索引(index),是帮助MySQL高效获取数据的数据结构(有序),在数据之外,数据库系统还维护者满足特定查询算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构...

mysql总结——面试中最常问到的知识点

mysql作为开源数据库中的榜一大哥,一直是面试官们考察的重中之重。今天,我们来总结一下mysql的知识点,供大家复习参照,看完这些知识点,再加上一些边角细节,基本上能够应付大多mysql相关面试了(...

mysql总结——面试中最常问到的知识点(2)

首先我们回顾一下上篇内容,主要复习了索引,事务,锁,以及SQL优化的工具。本篇文章接着写后面的内容。性能优化索引优化,SQL中索引的相关优化主要有以下几个方面:最好是全匹配。如果是联合索引的话,遵循最...

MySQL基础全知全解!超详细无废话!轻松上手~

本期内容提醒:全篇2300+字,篇幅较长,可搭配饭菜一同“食”用,全篇无废话(除了这句),干货满满,可收藏供后期反复观看。注:MySQL中语法不区分大小写,本篇中...

深入剖析 MySQL 中的锁机制原理_mysql 锁详解

在互联网软件开发领域,MySQL作为一款广泛应用的关系型数据库管理系统,其锁机制在保障数据一致性和实现并发控制方面扮演着举足轻重的角色。对于互联网软件开发人员而言,深入理解MySQL的锁机制原理...

Java 与 MySQL 性能优化:MySQL分区表设计与性能优化全解析

引言在数据库管理领域,随着数据量的不断增长,如何高效地管理和操作数据成为了一个关键问题。MySQL分区表作为一种有效的数据管理技术,能够将大型表划分为多个更小、更易管理的分区,从而提升数据库的性能和可...

MySQL基础篇:DQL数据查询操作_mysql 查

一、基础查询DQL基础查询语法SELECT字段列表FROM表名列表WHERE条件列表GROUPBY分组字段列表HAVING分组后条件列表ORDERBY排序字段列表LIMIT...

MySql:索引的基本使用_mysql索引的使用和原理

一、索引基础概念1.什么是索引?索引是数据库表的特殊数据结构(通常是B+树),用于...