Python的热门冷知识,还不赶紧记好

news/2024/11/23 2:37:16/

目录

这里写自定义目录标题

一、注释

二、行与缩进

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

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

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

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

七、try-except语句的应用

八、get()函数

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

十、lambda函数

十一、函数sort()


这里写自定义目录标题

  • 一、注释
  • 二、行与缩进
  • 三、Python中特有的交换两个变量的值的方法
  • 四、循环的巧应用(列表解析)
  • 五、eval()函数与str()函数
  • 六、条件表达式的紧凑形式
  • 七、try-except语句的应用
  • 八、get()函数
  • 九、组合数据类型的简单总结
  • 十、lambda函数
  • 十一、函数sort()
  • 十二、推荐

一、注释

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

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

二、行与缩进

(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())是取字典的值转化为列表。简单讲就是用列表中每个字典的值进行排序。简单说一下:


http://www.ppmy.cn/news/22745.html

相关文章

docker 制作镜像-基于commit命令创建(为ubuntu18.04版本添加SSH服务)

Docker提供了docker commit命令&#xff0c;支持用户提交自己对制定容器的修改&#xff0c;并生成新的镜像。 格式&#xff1a; docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] Options 参数 -a&#xff0c;作者&#xff08;例如&#xff0c;“along alongalong.com”…

Dubbo 源码分析 – 服务调用过程

HeaderExchangeClient 中很多方法只有一行代码&#xff0c;即调用 HeaderExchangeChannel 对象的同签名方法。那 HeaderExchangeClient 有什么用处呢&#xff1f;答案是封装了一些关于心跳检测的逻辑。心跳检测并非本文所关注的点&#xff0c;因此就不多说了&#xff0c;继续向…

跳槽一次能涨多少?今天可算见识到了跳槽天花板。

2022年已结结束了&#xff0c;最近内卷严重&#xff0c;各种跳槽裁员&#xff0c;相信很多小伙伴也在准备金三银四的面试计划了。 在此分享一套学习笔记 / 面试手册&#xff0c;年后跳槽的朋友可以好好刷一刷&#xff0c;还是挺有必要的&#xff0c;它几乎涵盖了所有的软件测试…

线性规划中的人工变量与松弛变量

1. 人工变量人工变量是为了凑成单纯形表中的基变量而人工加入的单位向量&#xff0c;在目标函数中系数为-M&#xff0c;最后化简结果中基变量要为0&#xff0c;否则无可行解。化简单纯形表就可以解决&#xff0c;若用对偶单纯形表的话就直接能解单纯形表&#xff0c;不用添加人…

java常见面试题

1、抽象类和接口的区别 共同点 &#xff1a; 都不能被实例化。都可以包含抽象方法。都可以有默认实现的方法&#xff08;Java 8 可以用 default 关键字在接口中定义默认方法,而抽象类的实现方法是不能带default的&#xff09; 区别 &#xff1a; 一个类只能继承一个类&#…

Python语言零基础入门教程(三)

Python 运算符 什么是运算符&#xff1f; 本章节主要说明Python的运算符。举个简单的例子 4 5 9 。 例子中&#xff0c;4 和 5 被称为操作数&#xff0c; 称为运算符。 Python语言支持以下类型的运算符: 1、算术运算符 2、比较&#xff08;关系&#xff09;运算符 3、赋值运…

九龙证券|基金独门重仓股揭秘,多只超级大牛股浮现

随着基金上一年四季报发表结束&#xff0c;基金独门重仓股也浮出水面。一般而言&#xff0c;基金独门重仓股主要指的是某基金公司或某只基金独家重仓股。 通常来说&#xff0c;基金公司独门重仓相比单只基金产品独门重仓股对个股走势的影响会更大一些&#xff0c;但这往往也是把…

呕心沥血终于在Linux中写下了第一个C代码,快来看看这些基本指令你都会了吗?干货过多,建议收藏!【LinuxXshell 7】

目录 1.如何在Linux中添加账户信息 2.Linux的基本指令 关于文件 1.mkdir指令 2.ls指令 3.touch指令 4.cd指令 5.pwd指令 6.rmdir指令 7.rm指令 8.nona指令 9.cat指令 1.如何在Linux中添加账户信息 在上一章中我们学习过&#xff0c;在Xshell中远程登录我们的Linux…