Python的热门冷知识,还不赶紧记好
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
这里写自定义目录标题
- 一、注释
- 二、行与缩进
- 三、Python中特有的交换两个变量的值的方法
- 四、循环的巧应用列表解析
- 五、eval函数与str函数
- 六、条件表达式的紧凑形式
- 七、try-except语句的应用
- 八、get函数
- 九、组合数据类型的简单总结
- 十、lambda函数
- 十一、函数sort()
- 十二、推荐
一、注释
单行注释以 # 开头编程规范建议#后面跟一个空格
多行注释用一对连续的三个引号单引号或者双引号均可"""/’’’
二、行与缩进
1python与其他语言明显的区别是没有大括号而是用缩进表示代码块。
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设置排序方法或者可以指定列表中用于排序的元素
reverseTrue反序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())是取字典的值转化为列表。简单讲就是用列表中每个字典的值进行排序。简单说一下