我在学校里学习的是C语言,后因一些项目需要python,于是又自学了python

为了减少看那些冗余内容的时间,特此整理一下python和C在编码方面不一样的地方

参考来源

你觉得自己这辈子都学不会编程?超超超基础Python课程,120分钟快速入门 【自学Python教程合集】_哔哩哔哩_bilibili

给大家说一个不用下载Python编译环经就可以编程训练的网站(不能向python代码中输入input等终端输入)https://www.runoob/try/runcode.php?filename=HelloWorld&type=python3


 1、缩进 

python与C最大的不同就是编译所使用的方法, C语言中每一句代码的结尾都需要;而Python代码是一行一行执行,不需要;而是使用缩进来表示代码块。

Python中的缩进一般是以4个字节为主而C语言是8个字节

Python中一个模块的界限是由这行前面的空格决定,而C用的是大括号{}

c语言:

main{
    printf("hello!");
}

python:

print('hello!')

因为python代码中是一行一行执行的。如果这行代码比较长,一行放不下怎么办?我们可以使用反斜杠(\)来实现

t = a + \
    b + \
    c

2、注释

Python中单行注释以 # 开头,多行注释使用三个相同引号( 3个单引号或3个多引号)

# 单行注释 print ("Hello, Python!") 

'''
多行注释,
使用三单引号。
'''

"""
多行注释,
使用双引号。
"""


/

3.变量的声明

C语言每次进行定义变量的时候,都需要声明其数据类型。

但是在Python中不需要声明其数据类型,但必须赋值。赋值的时候Python会自动给它分配相应的数据类型

a = 1 # 整型变量
b = 10.0 # 浮点型变量
c = "abc" # 字符串

Python3 中有六个标准的数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Set(集合)Dictionary(字典)。


4、print

  1.字符串连接

        使用 + 进行连接

        星号  * 进行复制

   2.单双引号的转义

        在Python中单引号与双引号的区别并不大

        在内容内有引号要和外部的引号有区别

print ("Hello,'Python!'")

        若内部有多个引号需要用转义字符,用\表示

print ("Hello, Let\'s\"Go\"")

      3.print 默认输出是换行的。如果要实现不换行在变量末尾加上 end=""

#如果要实现不换行:
print ('counter',end=" ")#Python3:在变量末尾加上 ,end=""

增加库函数

Python有3种方法增加库函数

 第一种语句是将所有的函数都添加到里面,

第二种语句是交库函数中的部分函数添加到里面

第三种语句是将库函数的所有函数都添加在里面


字符串:


Python中的字符串用引号(“)括起来
字符串的截取的语法格式如下:

变量[起始值,结束值]
以 0 为开始值,-1 为从末尾


Python格式化字符串

1. Format

 注意使用三引号,其中{0},{1}分别为format(  ,   )里面相应的变量内容

 或直接用关键词代替

2.f+字符串 

 其中直接将变量加入 { } 来代替所指代的内容


交互模式一般为cmd操作


列表

 Python的列表有点像C语言的字符串,但并不是一样的

Python的列表用 [ ] 表示,但注意的是所输出的结果会加上括号

同样列表也可以像字符串一样用括号进行索引

变量[起始值,结束值]
以 0 为开始值,-1 为从末尾

列表也可以添加一些小函数


元组

元组(tuple)与列表类似,不同之处在于元组写在小括号(())里,元素之间用逗号隔开。

同样列表也可以像字符串一样用括号进行索引

变量[起始值,结束值]
以 0 为开始值,-1 为从末尾


列表与元组的不同之处

列表与元组的不同之处在于列表是可变的元组是不变的 

 列表可以用  .append  和  .remove  进行添加和减少列表里的内容而元组就不能使用这些

可以这样理解列表是可变的,元组是不可变的


字典

用”{ }”创建,是一个无序的 键(key) : 值(value)对集合。
键(key)必须使用不可变类型,且在同一个字典中,键必须是唯一的。

例如我建立一个字典其中里面的键为我所认识的人,值为我所认识人的电话号码

这样我就通过字典将电话号码和人进行连接了。

假如有这种情况我认识了有3个重名的人,但他们的年龄不一样,我这时就要在键上年龄以区分

下方图片为错误示范,字典中的键为可变类型——列表

 以下为正确示范:这时23岁的张伟手机号就被赋值为15000000000   

字典中的键为不可变类型——元组

 可以用in来判断该键是否存在于字典中


 循环

for是将可迭代对象依次赋给变量名

while是根据条件A判断是否为真假进行对行动B的执行 


函数

def 定义函数,与c语言基本一样


小结

列表用 “[ ]” 标识类似 C 语言中的数组;
元组用 “( )” 标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表;
字典用 “{ }” 标识。字典由索引 key 和它对应的值 value 组成
非数字型的共同点:都可以使用切片、链接(+)、重复(*)、取值(a[])等相关运算;
非数字型的不同点:列表 可以直接赋值,元组不可以赋值,字典按照 dict[k]=v 的方式赋值。


算数运算符


+-*/(加减乘除)

%(取模)

**(幂)

//(取整除)

注意:除法(/)总是返回一个浮点数,要获取整数使用(//)操作符

赋值运算符

==(等于)!=(不等于)>(大于)<(小于)>=(大于等于)<=(小于等于)

位运算符

&(按位与)|(按位或)^(按位异或)~(按位取反)<<(左移)>>(右移)

逻辑运算符

and(布尔与)or(布尔或)not(布尔非)

赋值运算符

=(赋值)+=(加法赋值)-=(减法赋值)*=(乘法赋值)/=(除法赋值)%=(取模赋值)
**=(幂赋值)//=(取整除赋值)
Python移除了:++(自增运算符)—(自减运算符)

成员运算符

in(如果在指定的序列中找到值返回 True,否则返回 False)
not in(如果在指定的序列中没有找到值返回 True,否则返回 False)

身份运算符

is (判断两个标识符是不是引用自一个对象)
is not (是判断两个标识符是不是引用自不同对象)
注:is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

优先级

[幂]>[按位取反]>[*,/,%,//]>[+ -]>[>>,<<]>[&]>[\^,|]>[<=,<,>,>=]>[<>,==,!=]>[赋值运算符]>[身份运算符]>[成员运算符]>[逻辑运算符]
 

更多推荐

在有C语言的基础上,快速学习python(C语言转战python)(python3)