Python初体验(1)-java与python的差异(基础语法)

开始学习使用python,但是在已经会java的情况下,会经常由于先入为主而产生小障碍,现在记录下一些遇到的知识点,通过对比快速的学习一种语言。

0.注释

用井号表示单行注释

    # 单行注释

用三个引号表示多行注释

"""

    多行注释

"""

1.python中的数据类型

整数、浮点数

python中不分 short、int、long,也不分float、double

字符串

在python中字符串是基本数据类型,可以用单引号括字符串

布尔

Ture,False,首字母大写

在python中的与或非不是&&、||和!--------取而代之的是and、or和not,也都是短路逻辑

python中使用变量不需要声明类型,变量没有类型

i =2    #不声明变量类型,不用分号

print(i)

i= 2.5

print(i)

i='sldjfklsd'    #再次赋值为其他类型

print(i)

思考:一个数字占用的内存大小是多少?如果要操作字节数组怎么办,例如串口通信?

2.运算符

/,除,3/2会得到1.5

//,除,向下取整,3//2会得到1

**,幂运算,3**2会得到9

python中没有++,--

3.判断与循环

条件判断,if

pyhon不用大括号表示代码块,用的是冒号加格式缩进,同样距离缩进的代码属于同一个代码块,判断条件也不必须用括号括起来

if 100>=age >=18:    #比较大小可以用一句写完

    print('请进')

elif age >=0:#else if

    print('请在成人陪同下进入')

else

    print('输入错误')

循环

for...in... :

for x in range(101):#从0加到100

    sum1 = sum1 + x

for x in range(1,100,2):    #  相当于for (int x= 1; x<100; x+=2)

    sum2 = sum2 + x     #100以内的奇数的和

names = ['Michael', 'Bob', 'Tracy']

for name in names:     #对列表进行遍历

    print(name)

while,除了代码块的表示,其他与java一样,略

break:跳出整个for循环,continue:跳出本次循环,与java同样

python没有switch

4.集合

数组

python中没有数组的概念,可以用列表代替

列表list

使用起来即像数组又像ArrayList

a=[1,2,'3']    #可以装不同类型的元素

len(a)#求列表长度

a[-1] = 3    #可以取倒数第一个元素,也就是最后一个,比java方便

a.insert(0,0)

a.append(4)

a.pop(0)

a = a+[4,5,6]    #两个列表拼成一个

元组tuple

与list类似,有序,一旦初始化之后就不能增删改

a=(1,2,'3')

字典dict

全称dictionary,对应map类型,键值对

a={'Michael': 9, 'Bob': 7, 'Tracy': 8}

if 'Tom' in a:

    a.pop('Tom')     #删除

else

    a['Tom'] = 7.5    #新增一个键值对

集合set

python中单独把set叫做集合,无序,元素不重复,可以做交与并计算,只能遍历,不能单独取某一个元素

可以把java中的三种集合list、map、set对应python的列表、字典、集合

a={1,2,3}

a.add(4)

b=[1,1,2,2,3,3,4,4]

print( set(b)  ) #用列表创建集合,去掉重复数值

5.函数

定义函数,使用def关键字,不标注返回值,参数没有类型,可以有默认参数,可以用可变参数,可以返回多个值

def maxtwo(lis):

    x,y=0,0

    for i in lis:

        if i>x:

            y=x

            x=i

    return x,y    #实际上返回的是一个tuple

思考:python的参数传递,是值传递还是引用传递?

6.编译与解释

java需要编译成.class字节码文件(不是机器码),然后在jvm上解释运行,

python也是要编译出.pyc文件,然后运行在pvm上。

有人把这样的模式叫做半编译半解释与语言。但又有说法,python是一门解释性语言。

java是静态语言,python是动态语言

执行顺序:python并没有类似java的主函数入口,但是看很多人写代码会有这样的写法,来模拟main函数。

def main():

    pass

if __name__ == '__main__':     #魔法函数;

    main()    #在文件的最下边

python代码在执行过程中,遵循下面的基本原则:

自上而下的顺序

碰到普通语句,直接执行;

碰到函数,将函数体载入内存,并不直接执行

碰到类,执行类内部的普通语句,将类的方法载入内存,并不直接执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值