随着人工智能,大数据等应用的兴起,python这门原来偏居一隅的语言迅速进入人们的视线内,成了近几年冉冉升起的一颗新星,
正在挑战着多年编程语言的老大java,那么他们到底有什么不同呢?现在我们从语言层面来聊聊这些事儿。
大部分人开始都是从打印一个’hello,world!’开始,java的print非常简单,仅仅就是在控制台输出一个语句
System.out.println("hello,world!");
但是python的print就相对复杂一些
print('hello,world!')
print('hello','world!') ——支持分隔符输出
print('hello','world!',sep='|',end='...') ——支持不同分隔符输出,结束符可选
f = open(file_path,'w')
print('[' + datetime.now().strftime('%Y-%m-%d') + ']print to file',file=f) ——可以将print的字符串输出到文件,充当简易log或其他内容
f.close()
[深入python]那就从print开始
python的字符串可以进行乘法操作,java不能,比如
print('a'*10) ——相当于输出10个a
python的字符串本身自带填充操作方法,并且填充方式可以是索引或者是关键字参数,比较灵活比如
print('{},{},{},{}'.format(1, 2, 3, 4))
print('{3},{0},{2},{1}'.format(1, 2, 3, 4)) ——按索引
print('{str1},{str2}'.format(str1='1',str2='2'))
print('{1},{str1},{0},{str2}'.format(1, 2, str1='3', str2='4'))
java的需要借助+或者concat(),或者是自己另写一个方法
String str = "hello";
System.out.print(str.concat("world!"));
System.out.print(str + 'world!');
[深入python]无处不在的字符串
java没有元组概念,但是有近似的数据结构,如数组和不可变List,不过不可变List需要额外的操作才能获取
List list = new ArrayList(Arrays.asList("one", "two", "three"));
List unmodifiableList = Collections.unmodifiableList(list);
unmodifiableList.add("four"); ——这里会报异常,因为是不可变的
java的List和python类似
[深入python]大肚能容天下事——python元组和列表
python字典可以直接用于格式化字符串,比如
bookauthor = {'book1':'author1','book2':'author2','book3':'author3','book3':'author3'}
print('The bookauthors are {book1},{book2},{book3},{book4}'.format_map(bookauthor))
[深入python]阅读前看看目录,查的更快——python字典
python特殊的三目运算
print('相等' if 1 == 1 else '不相等')
java的三目运算符
System.out.print(1==1?"相等":"不相等");
java通过大括号来区分代码块,python采用缩进方式
[深入python]流程三要素——顺序,条件,循环
主要有几点不同
java方法
public static void demo(String parma1, int param2, boolean param3,Object other){} ——普通方式
public static void demo1(String... params){} ——可变参数方式
python函数
def demo(param1, param2, param3): pass ——普通方式
def demo1(param1='demo', param2=10, param3=True): pass ——关键字方式
def demo2(*params, **paramdict): pass ——*星号传值方式
def demo3(param1, param2=10, *params, **paramdict): pass ——混合模式
[深入python]咦,参数列表太长了咋办——python函数
[深入python]没有对象?那我们自己创建一个好了——python类与对象
[深入python]能不能把那个异常处理一下?好的——python异常
[深入python]竟然是魔法?——python魔法方法
[深入python] 打开一个文件,写一写——python文件操作
[深入python]文件还不够,那就上个数据库——python数据库
[深入python]上网去——python网络编程和web
[深入python]如果不试一下,总觉得不太放心——python测试
[深入python]python够吗?不够就拓展一下——python拓展
[深入python]终于要打包了——python打包