有用的python小知识(一)(Python重要的小知识总结)

一、注释

单行注释:以 # 开头,编程规范建议#后面跟一个空格

多行注释:用一对连续的三个引号,单引号或者双引号均可("""/’’’)

二、行与缩进

(1)python与其他语言明显的区别是没有大括号,而是用缩进表示代码块。

(2)需要注意每行语句不需要以分号结束。(学过c语言的应该注意一下)

三、Python中特有的交换两个变量的值的方法

直接将a, b两个变量放到元组中,再通过元组按照index进行赋值的方式进行重新赋值给两个变量。(不用再用一个中间值进行交换了)
如果不了解元组可以参考:
点击即可进入组合数据类型之序列类型(包含元组,列表,字符串)(Python学习笔记)
代码:

a=1
b=2
(a,b)=(b,a)
print(a)
print(b)

结果:

2
1

四、循环的巧应用(列表解析)

当你要建立一个1到10所有数字的平方时:

普通方法:

list=[]
for i in range(1,11):
    list.append(i**2)
print(list)

结果:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

列表解析:

list=[i**2 for i in range(1,11)]
print(list)

结果:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

总结:
可以看出,只需要将普通方法中的append后面括号里加上普通方法中的for i in range(1,11)加到列表里即可。

也就是普通方法经过复制粘贴是可以形成列表解析的,但并不是所有的for循环可以写成列表解析式。

五、eval()函数与str()函数

eval(<字符串>)的作用是将输入的字符串转变成Python语句。
str() 函数将整形转化为字符串形式.
注意:
无论用户在控制台输入什么内容,input()函数都以字符串类型返回结果。

代码展示:

x=eval(input("输入数字"))  
print(x)
print(x*2)
print(type(x)) 
x=str(x)     #此时x转变成了字符串形式
print(type(x))

结果:

输入数字6
6
12
<class 'int'>
<class 'str'>

如果不加eval()函数会出现如下情况:

x=input("输入数字")
print(x)
print(x*2) #会出现字符串“6”+“6”=“66”
print(type(x))

结果:

输入数字6
6
66
<class 'str'>

注意:
1)使用eval()函数处理字符串需要合理使用,假如你直接输入字符串“Hello”,eval()函数会去掉两个引号,这时候将其解释为一个变量,而之前又没有定义过Hello变量,解释器会报错.

2)若对“‘Hello"'使用eval()函数,仅仅会去掉外层的双引号,还会留下一对单引号,此时’Hello‘会被解释为字符串。

六、条件表达式的紧凑形式

语法:

<表达式1> if <条件> else <表达式2>

条件成立则输出表达式1,不成立则输出表达式2

代码:

guess=eval(input())
print("你猜{}了".format("对" if guess==99 else "错"))

结果:

99
你猜对了

七、try-except语句的应用

Python使用try-except语句来实现异常处理,其基本语法格式如下:

try:
     <语句块1>
except <异常类型>:
    <语句块2>

代码演示:

try:
    num=eval(input("请输入一个数:"))
    print(num**2)
except NameError:
    print("输入错误,请重新输入一个数")

结果:

请输入一个数:no
输入错误,请重新输入一个数

try-except语句还有多种用法,我再另一篇博客详细解释了下:
点击即可进入try-except语句的应用(超详细的学习笔记)

八、get()函数

语法:

dict.get(key, default=None)

key -- 字典中要查找的键。
default -- 如果指定键的值不存在时,返回该默认值。

代码:

dict={"a":"1","b":"2"}
x=dict.get("a","不存在")
y=dict.get("c","不存在")
print(x)
print(y)

若不了解字典类型:
点击即可进入(Python)组合数据类型之字典类型和操作(学习笔记)
结果:

1
不存在

九、组合数据类型的简单总结

1、元组是一种序列类型,一旦创建就不能被修改,使用小括号 () 或 tuple() 创建,元素间用逗号分隔

2、列表是一种序列类型,创建后可以随意被修改,使用方括号 [] 或list() 创建,元素间用逗号 , 分隔,列表中各元素类型可以不同,无长度限制

3、字典是键值对的集合,键值对之间有顺序且不能重复没,采用大括号{}和dict()创建

4、集合是多个元素的无序组合,集合元素之间无序,不存在相同元素,元素间用逗号分隔,建立集合类型用 {} 或 set(),但是建立空集合类型,必须使用set()

5、集合可以用于数据去重,所以如果你定义了一个列表,想要去除相同元素,可以转换为集合类型后再转换为列表即可。
如果要详细了解可以参考:
(1)点击即可进入组合数据类型之序列类型(包含元组,列表,字符串)(Python学习笔记)

(2)点击即可进入组合数据类型之集合类型(学习笔记)(Python)

(3)点击即可进入(Python)组合数据类型之字典类型和操作(学习笔记)

代码演示:

L=[1,9,5,6,4,3,5,1,2,1,5,3]
L=set(L)  #列表转换为集合可以去重
L=list(L)  #去重完后可以在转换回来成列表
print(L)

结果:

[1, 2, 3, 4, 5, 6, 9]

十、lambda函数

a=lambda x,y:x+y
print(a(3,2))

结果:

5

这算是lambda函数简单的用法,以这个实例先来讲一下其语法格式:

   lambda [arg1 [,arg2,.....argn]]:expression

[arg…] 是参数列表

expression 是一个参数表达式

冒号前是参数,可以有多个,参数之间用逗号隔开,冒号右边为表达式。

lambda函数是一个匿名函数,为什么叫它匿名函数?

那是因为匿名函数并不需要用def关键字来声明,它主要应用于简单函数,不想单独去创建普通函数的时候使用。

注意:
1、参数表达式中的表达式不能超过一个

2、lambda 函数不能包含命令

3、lambda 函数不能访问自己参数列表之外的参数,只能完成非常简单的功能。

4、表达式中含有的参数需要在[arg…] 中有定义。

十一、函数sort()

1、仅对列表进行排序,改变列表自身顺序,无返回值。

2、语法格式:

  list.sort(key=None, reverse=False)

key:设置排序方法或者可以指定列表中用于排序的元素

reverse:True反序,False正序,若不赋值则默认为升序排列

(1) 先对简单列表进行排序

>>> list=[2,1,6,5,9,8,6,3,]
>>> list.sort()
>>> print(list)
[1, 2, 3, 5, 6, 6, 8, 9]
>>> list.sort(key=None,reverse= True)
>>> print(list)
[9, 8, 6, 6, 5, 3, 2, 1]

(2)对字典组成的列表排序:

a = [{'Mike': 99}, {'John': 98},{'zoom':96}]
a.sort(key=lambda x: list(x.values()))
print(a)

结果:

[{'zoom': 96}, {'John': 98}, {'Mike': 99}]

对 a.sort(key=lambda x: list(x.values())) 的理解:
这语句中X是列表项即列表中的每个字典,list(x.values())是取字典的值转化为列表。简单讲就是用列表中每个字典的值进行排序。简单说一下:

d.values()返回字典d中所有的值信息
d.keys()返回字典d中所有的键信息

(字典的值就是99,98,96,字典的键是Mike,Zoom,John)对字典不了解的可以参考:

点击即可进入(Python)组合数据类型之字典类型和操作(学习笔记)

同理可推,若想要按照名字排序的话,可以这样写:

a = [{'Mike': 99}, {'John': 98},{'zoom':96}]
a.sort(key=lambda x: list(x.keys()))
print(a)

结果:

[{'John': 98}, {'Mike': 99}, {'zoom': 96}]

十二、推荐

最后,我总结我所有Python知识总结到一个博客里:
点击即可进入Python学习笔记大总结

  • 14
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃辣的IT男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值