Python学习1:Python入门知识(和C++的区别)

H.266/VVC视频编码标准在一年内就将要制定完成,所以我也准备学习一些新的东西。这里打算学一下python,一方面可以准备采用机器学习的方式继续研究视频压缩,另一方面也是为找工作做些准备。如今我算是熟悉最为C++语言,那么就从C++与Python的差异入手,进行python的入门学习。

1 本质区别

首先要说明一下两者的最本质区别:Python是一种脚本语言,是解释执行的,所谓解释执行,即不需要经过编译,没有生成.exe可执行文件,所以很快捷的编辑后直接打开就能实现功能。这种方式能够很好地跨平台,写一些小工具小程序特别合适。 而C++是一种需要编译后运行语言,先将源代码编译 成目标语言之后,通过连接 程序连接到生成的目标程序进行执行,生成 可执行文件.exe后运行,运行效率高,安全稳定。但编译后的程序一般是不跨平台的。

2 基本语法差异

2.1 基础代码

0、对比C++,python不需要分号,用回车即可,也没有 {} ,使用缩进代替大括号。。
1、注释代码:单行注释C++的 // 在python中是#,多行注释用三个单引号''' 或者三个双引号"""括起来。
2、导入库:使用 import ,后面添加上多要导入的库名即可,相当于C++的 #include
3、每个变量都是个对象,即使是一个整数也是一个对象,因此不需要进行定义,只要赋值即可。
4、=在C++是赋值操作,在python中相当于赋值一个引用。
5、转义字符:可以用自然字符串处理正则表达式。例如,后向引用符可以写成 '\\1'r'\1'
6、逻辑运算符:C++的“与”语句 && 在pythdon中是 and ,“或”语句 || 在python中是 or ,非语句 not
7、算数运算符:python的 / 得到的是最终值,而与C++相同的除法运算是 // ;python还增加了乘方操作**
8、对于字符和字符串,单引号和双引号没有任何不同。
9、当函数体内使用全局变量时,全局变量会生成自己的副本,即函数生命期结束后全局变量保持原有值。如要彻底修改全局变量的值,可在函数体内修改处前面加上global

2.2 分支语句

格式:有冒号无括号。
1、if-else语句

if 条件:
	分支语句
else:
	分支语句

2、if-elif-else语句

if 条件1 :
	分支语句
elif 条件2:
	分支语句
else:
	分支语句

3、三元操作符

small = x if x < y else y

4、assert语句
测试程序时使用,抛出异常

assert 3 > 4

5、Python中没有switch语句,可以通过if-else来实现switch,但一般使用字典更为快捷。

2.3 循环语句

格式:有冒号无括号。
1、while语句

while 循环条件:
	循环体

2、for语句

for 目标 in 表达式 :
	循环体

3、for-range语句

for i in range(5): # 0,1,2,3,4
for i in range(1,10,2): # 1,3,5,7,9

4、迭代器与生成器

string = 'xidian'
it = iter(string) #it就是迭代器

生成器:迭代的过程可以暂停程序并挂起,使用关键字yield

def myGen()print("生成器被执行!")
	yield 1
	yield 2

2.4 读入和输出

1、打印输出:使用print有如下的格式即可。

print("xidian") #打印字符串
print(num) #打印数值类型的数
print(i, end = ' ') #每次打印后都加个空格
print(i, len(i)) #每次打印后都显示长度

2、格式化输出

# 以下都是格式输出'I love FishC. com'
 "{0}love{1}.{2}".format("I","Fishc","com")
 "{a} love {b}.{c}". format(a="I",b="FishC",c="com")
 
'{0:.1f}{1}'.format(27.658,'GB') #27.7GB。冒号是格式化符号的开始

字符串的格式化用的是 % ,不同于C++之处是没有逗号。

'%c %c %c' % (97,98,99)
 print("%d的阶乘是:%d"  % (a,b))

关于字符串格式化都是如此,这里不赘述。
3、读入:使用input并赋值给一个变量即可:

number = int(input('请输入一个正整数:'))
factorial(number)

附:上文提到的一些内置函数

dir(list) #查看list的所有操作,这个可以看到所有数据结构的操作,很重要!!!
help(open) #查看open的所有用法,很重要!!!

type(2.5)#取变量类型
isinstance(2.5,float)#判断变量类型
help(list) #查看list的方法并获取帮助

3 Python序列与C++数组的不同

3.1 列表

列表就非常类似于C++的数组,同样是使用中括号。但这个数组内部可以承载各种类型

mix = [1'xidian'3.14[123]]
empty = []

列表的常用操作如下:
1、获取元素:使用[]下标获取
2、增加元素:append,extend,insert
3、删除元素:remove,del,pop
4、列表分片:使用 [m:n] ,即冒号分开
5、其他:count数一共出现过几次,index返回索引,reverse反转列表,sort进行从小到大排序

len(empty) # 0
mix.append('isn') #mix = [1,'xidian',3.14,[1,2,3], 'isn']
empty.entend(["good", "luck"]) # empty = ["good", "luck"]
empty.insert(0, "you can") # empty = ["you can", "good", "luck"]

mix[1]
empty.remove("you can")
del mix[3]
mix.pop(0)

mix[1:3] #列表下标1-3的部分
mix[:3] #列表前半部分
mix[1:] #列表后半部分
mix[:] #列表全复制,新创建内存空间的拷贝,而非“引用”

符号操作:
1、list乘以一个数n,则list内容重复n次。
2、in操作符,可以判断元素是否在其内。

'xidian' in mix # True
'xidian' not in empty # True

3.2 元组

元组(typle)是const了的列表,通常使用的是小括号,但逗号才是关键。区分于列表的是不能插入,不能删除,不能修改

tuple1 = (1,2,3,4,5,6,7,8)
tuple2 = 1,2,3,4,5,6,7,8 

虽然不能修改元素,但可以通过操作切片来进行插入和删除:

temp = ('1','2','4','5')
temp = temp[2]+'3',+ temp[2:] #成功插入‘3’

用del可以删除全部元组。
字符串的本质就是元组,对于字符串的操作有很多,这里不赘述了。

3.3 字典

类似于数据结构的map,是一种映射关系,存储键值对。特征是用大括号{ }包含字典里的内容,每一项都用冒号: 隔开,冒号前面是key,后面是value。也可用dict()函数来创建。

dict1 = {'李宁':'一切皆有可能','耐克':'Just do it','阿迪达斯':'Impossible is nothing'}
print('耐克的口号是:',dict1['耐克'])

dict3 = dict((('F',7e),('i',185),('s",115),("h',104),('C",67)))
dict4['爱迪生']='天才就是99%的汗水+1%灵感,但这1%的灵感远远比99%的汗水更重要'

同样的,有键值相同的set,和C++一样set是默认排序好的且没有重复元素。

3.3 序列的使用

可以使用list()来将字符串、元组等类型变成一个列表。
可以使用tuple()来将字符串、序列等类型变成一个元组。
len() 打印长度
max() 返回序列或者参数集合中的最大值
min() 返回序列或者参数集合中的最小值
sum(iterable[,start=0]) 返回序列iterable和可选参数start的总和
sorted(); reverse() 排序及反转
enumerate(): list(enumerate(numbers))即可看到各个元素的索引值
zip(a,b) : list(zip(a,b)) 即可将两个列表成对合并

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你好!欢迎来到Python编程的世界!如果你对Python感兴趣并且想要入门,以下是一些基本的步骤和资源供你参考: 1. 安装Python:首先,你需要安装Python解释器。你可以从Python官方网站(https://www.python.org)下载最新版本的Python,并按照安装指南进行安装。 2. 学习Python语法:一旦你安装好Python,你可以开始学习Python的基本语法。Python有简洁而易读的语法,非常适合初学者。你可以通过在线教程、书籍或者视频课程来学习。 3. 编写简单的程序:学习Python的基本语法后,你可以开始编写一些简单的程序来练习。尝试编写一些打印输出的程序,理解变量、数据类型、条件语句和循环等基本概念。 4. 使用开发工具:选择一个适合你的开发工具。推荐使用集成开发环境(IDE),例如PyCharm、Visual Studio Code等。这些工具提供了代码编辑、调试和运行等功能,能够提高你的开发效率。 5. 学习Python库和框架:除了掌握Python的基本语法,你还可以学习一些常用的Python库和框架来扩展你的能力。一些常用的库包括NumPy、Pandas和Matplotlib等,而流行的框架有Django和Flask等。根据你的兴趣和需求选择学习相应的库和框架。 6. 实践项目:最重要的是,通过实践项目来巩固你的学习成果。选择一些简单的项目,并逐步增加难度。不断实践会帮助你提高编程技能和解决问题的能力。 在学习过程,还有许多Python社区和论坛可以提供帮助和支持。例如,你可以参加Python的线下或在线活动,加入Python相关的社交媒体群组,与其他开发者互动交流。 希望这些信息能对你入门Python有所帮助!如果还有其他问题,请随时问我。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值