分享记录一下最近学习python语言的一些心得
学习python的初衷是起源于近几年大模型AI的快速发展,大模型的底层都是依赖python深度学习框架来实现的。
我学习python采用的是方式课余时间在B站观看韩顺平老师的视频来学习的,其实B站上有很多老师讲python的视频,也看了一些,最后还是选择了韩顺平老师的课程,原因有一下几点
1.当时大学毕业那会就因为学习了韩顺平老师讲java的视频巩固了基础后来校招也成功签约了一家单位。
2、主要还是老师讲课的风格不仅诙谐幽默,而且讲的比较深入,适合零基础的小伙伴。尤其那几句口头语"老韩微微一笑",“认真听,仔细想” 特别深入人心。
好,废话不多说,下面主要整理一下python的一些基础语法,以及我从一个java开发到学习python,他们主要语法有哪些不同的地方。主要为了回顾一些知识点巩固记忆。
1、python变量不需要声明类型,且不强制需要用分号;进行结尾
Java中定义变量需要声明类型,
Integer age = 11;
Python中
age = 11
2、格式化
Java中常用的格式化常用语法
String.format("你好,我的名字叫%s","小y");
但是python中格式化,有三种方式,
(1):用%号
print("你好,我的名字叫%s" % ("小y"))
(2):用占位符及format函数
print("小y今年{}岁" .format(18))
(3):f-string的方式
name='小y'
print(f"你好,我的名字叫{name}")
3、布尔运算
Java中我们判断条件真假,通常有 if(a && b) 或者if (a || b ), 逻辑非 采用!
Python中用and, if( a and b) if( a or b ),逻辑非采用not
4、三元运算
Java中三元运算写法比如:
a>b?a:b;
Python中三元运算写法:
a if a>b else b
乍一看会感觉很奇怪而且不适应。
5、顺便复习一下原码、反码、补码的相关知识以及位移计算。这个二者区别并不大
6、Java中采用{}来标识程序结构体,Python中是用缩进符,同一个缩进表示的就是同一程序结构体
7、for循环
Java中的常用循环
for(int i=0;i<10;i++){
}
Python中的循环
for i in range(10)
range(10) = range(0,10) 前面的值不写默认为0,采用前闭后包原则,即包括0不包括10的原则。然后continue和break用法则和java中用法一致。
8、函数
Java中的函数需要声明 公私有属性、返回值类型但是python中则直接定义函数名称
def add(a,b):
return a +b
而且python的函数支持多个返回值,我当时听了感觉简直离谱。举个例子
def get_max_and_min(num1, num2):
max_val = num1 if num1 > num2 else num2
min_val = num1 if num1 < num2 else num2
return max_val, min_val
a b = get_max_and_min(10,12)
9、容器
Java中常用的数据结构:数组、list、set、map。用法就不一一列举。对标python中我们看常用的有哪些:
列表:用[]括起来的,实际就是数组
list1 = [100, 200, 300, 400, 500]
元组:用()括起来,我把它也当作数组来理解,只是说是不可变的数组
tuple_c = ('red', 'green', 'blue', 'yellow', 'white', 'black')
字符串
针对字符串的操作方法太多了,而且容易忘,比如切片。这个我觉得不重要,先看懂,等用的时候想不起来的时候查阅下文档就可以了。
集合set
用{}括起来,集合是无序的,不能保证存放的顺序和读取顺序一致
basket = {'apple', 'orange', 'pear', 'banana'}
print(f"set_a的内容是: {basket} 类型是: {type(basket)}")
字典Dict
用{}括起来,这个就是map了。
tel = {'jack': 4098, 'tom': 4139}
10、类定义
Java中定义类和继承语法稍有不一致。用括号括起来的代表基类也就是父类, __init__则代表构造函数
class child(Son):
def __init__(self):
print("__init__ 执行了")
11、关于异常捕获
关于异常的用法稍有不同,举个例子
try:
num1 = 10
num2 = 0
res = num1 / num2
except Exception as e:
# 当我们得到异常后(捕获异常),程序员自己处理。。
# 这里老师简单输出异常信息
print(f"捕获到异常,异常是:{e}")
print("程序继续运行....")
12、文件处理
关于文件处理的诸多语法没什么可比性。
暂时就写这些吧。后面可能涉及到python的一些常用框架的分享,比如opencv、ocr功能等。