[Tips]学习Python的小知识总结

Python小知识点总结

给新学Python的朋友分享点小知识,共勉。

1.注释

  • (1)在函数定义名下一行的注释用’’’ ’’’或””” ”””(后期遗忘可以按ctrl + q查看),其他地方尽量用#注释,以免出现不必要的麻烦.
  • (2)中文注释推荐开头使用# -*- coding:utf-8 -*-

2.命名

  • 命名尽量用英语且不能用数字开头;
  • 不要与系统关键字重名,且自己定义的变量尽量不重名,以免混淆;
  • 多词用”_”(下划线)连接或使用小驼峰命名,再定义类时用大驼峰命名;
  • Python中是区分大小写的

3.输出

  • (1)默认print()的结尾会换行,内容有多个时用” ”(空格)隔开.用sep=””或者end=””可修改.

  • (2)输出中有多个””或者’’时,2个可以用’””’交叉使用或者用\”\”转义

  • (3)格式化输出:

    • 第一种print(“我的姓名是%s,年龄是%d” % (name,age)) %连接指代变量,需要多个格式化输出时,指代变量用元组形式表示.若想表示”%”则需要输入2个”%%”.

      ​ %.xf: 表示x位小数

      ​ %xd: 表示x位整数,d位数不够前面用空格填充;若x为1-9,在x前增加0,如%09d,d的位数不够则前面用0填充.

    • 第二种表达形式.print(f”我的姓名是{name},年龄是{age}”) 指代变量用大括号,若用{name, age}输出的是元组.

4.输入

  • input()输入内容格式为字符串

5.变量

  • 布尔变量在计算时,True对应的数字是1,False对应的数字是0.

6.if语句

  • (1)主要注意逻辑与缩进格式,以免混淆.
  • (2)if后可以直接跟一个变量判断,非零为真.
  • (3)当if判断在一个区间内时,如if a >=1 and a <= 5:可写为if 1 <= a <= 5:
  • (4)简单语句用三目运算法:a if a > b else b
  • (5)“==”判断左右两边数据值是否相等,“is”判断左右两边的内存地址是否相同,None/True/False尽量用“is”,性能高

7.逻辑运算符

  • (1)(a and b), (a or b)问题,带入数字后容易混淆,明确非零为真.
  • (2)or的不等问题,如a != 1 or a != 2恒为真,容易犯的逻辑问题

8.循环

  • (1)while不加条件容易死循环,通常用while True死循环来重复某件事
  • (2)for循环遍历数据,用for基本可以代替while,死循环代替不了.
  • (3)while和for循环后都能接else,循环正常结束后会执行else.
  • (4)break只能跳出该层循环;continue跳过该层的本次循环,进入下一次循环,需要自增以免死循环;break与continue只能在循环中使用.

9.容器

  • (1)列表独有添加元素的方法: 列表.append(数据) 在末尾追加数据.

  • (2)列表可排序用(sort,reverse).

  • (3)列表推导式[x for x in range(5) if x == 2];set集合同理;字典{key: value for循环 if判断}.

  • (4)若元组中嵌套列表或字典,可以修改嵌套列表或字典的值间接达到修改元组的目的.

  • (5)默认遍历一个字典,取到的是字典的键.若想取值,则需要加.values().若用items(),用一个变量接收则为元组,用2个变量接收会自动拆包为键和值.

  • (6)set集合可以去重且把0-9整数排序.

  • (7)带小数的字符串(如”1.0”)转换为整型会报错,注意转浮点型.

  • (8)字符串独有查询方法:字符串.find(内容) 有则返回对应索引值,没有则返回-1,不会报错.

  • (9)字符串转换元组方法:字符串.partition(内容) 返回(内容前,内容,内容后)

  • (10)字符串转换列表方法:字符串.split(分隔符) 返回[分隔符间的内容].分隔符不填,默认以’\r’, ‘\t’, ‘\n’ 和空格分隔.

  • (11)集合转换字符串方法:连接符.join(集合) 返回连接符连接的各集合字符串(注意集合中的元素都是字符串型式,元组默认的是键).

  • (12)字符串/列表/元组可切片,可用+合并,可用*重复,可进行比较.

10.函数

  • (1)return之后的代码都不会被执行;返回多个值,得到的是元组.
  • (2)局部变量不会覆盖全局变量,全局变量会覆盖局部变量;要想修改全局变量,则需要global声明一下.
  • (3)可变参数args使用时前面加*,本质把多个参数放到元组中传递;kwargs使用时前面加**,将多余的关键字参数包装成字典传递.
  • (4)缺省参数在*args后,在**kwargs前.格式:def function(a, *args, b = 1, **kwargs):
  • (5)多个值赋予一个变量会自动组包成元组; = 左边的变量个数与右边容器中元素个数一致时会拆包,字典拆包的是键且无序的.
  • (6)默认数字在-5~256之间的内存地址是一致的(可经过运算);字符串在20位以内是一致的(可经过+, *操作).
  • (7)可变类型:修改存储空间的数据,内存地址不变,如列表,字典,集合;不可变类型:存储空间的数据不能修改,如字符串,数字,元组.函数的默认参数尽量不要使用可变类型.
  • (8)lambda函数:function = lambda a, b: a + b, function为函数名;value = (lambda a, b: a + b)(1, 2), value为值.lambda在sort()中给key定义条件.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值