python 为什么要用annotated python为什么要安装_java

大家好,我是涵子码农。今天,我要带大家来捋一捋我们为什么要学习python?

前情提示:此内容涵盖深度内容,想要简略看看请到最后总结。


目录

一、python,一个简单编程语言

二、为什么要学习python?

2.1.多数人喜爱,还好用!

2.2.充实后路

2.3.好玩有趣

2.4.学习复习知识

2.5.python的两个好环境

2.5.1.pycharm

2.5.2.IDLE Python 3.x

2.5.3.环境总结

2.6.为什么我不去学c语言和java呢?

三、总结


一、python,一个简单编程语言

下面内容选自百度百科:
 


Python由荷兰数学计算机科学研究学会的吉多·范罗苏姆 于1990 年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,  随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

Python解释器易于扩展,可以使用C语言C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码机器码

2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,20年来首次将其置于Java、C和JavaScript之上。


读完了这段话,我们了解了python是一个面向对象编程,解释器易于扩展。

二、为什么要学习python?

2.1.多数人喜爱,还好用!

广大年轻人(现在还包括青少年)都喜欢python的原因就是因为它好用,简单。下面是C++和python的比对。都是打出"Hello World"

C++:

#include <iostream>
using namespace std;
int main()
{
    cout << "Hello, world" << endl;
    return 0;
}

Python:

print("Hello World")

一看就知道,python只需要写一个print就可以了,C++呢,还要写int main, using namespace...。

2.2.充实后路

如果你还是一个没有工作的学生或者是一个寻找工作的人,我推荐你可以尝试走一走这一条路。为什么?因为现在最赚钱的就是IT编程行业。现在人们不用现金,需要使用手机电脑上的软件,这不正好就要运用到编程了吗?正正好好就撞上了这么一个python。python有GUI(Tkinter, PyQt, wxPython等等)界面编程,正好可以做应用程序!

2.3.好玩有趣

python有很多外面的包,库,就像我之前写的文章一样,可以做出超级玛丽,我的世界等等好玩的游戏,不仅有pygame,pyglet,还有更多包和库等着你去使用哦!

2.4.学习复习知识

之前,我写的文章里包含了勾股定理,sin函数,开关思维等等知识。如果你要高考了,你可以顺便复习一下知识,还可以顺带学学python。如果你只是一个小学生,也可以提前自己学习好知识,为未来铺好道路。

2.5.python的两个好环境

2.5.1.pycharm

以下内容又选自百度百科


PyCharm是一种Python IDE(Integrated Development Environment,集成开发环境),带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试语法高亮项目管理、代码跳转、智能提示、自动完成、单元测试版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。


2.5.2.IDLE Python 3.x

以下内容又又选自百度百科


IDLE,Integrated Development and Learning Environment  ,集成开发和学习环境,是Python集成开发环境 ,自1.5.2b1以来已与该语言的默认实现捆绑在一起。 它被打包为Python包装的可选部分,包含许多Linux发行版 。 它完全用Python和Tkinter GUI工具包编写( Tcl / Tk的 包装函数)。


2.5.3.环境总结

这两个环境十分实用,大家都可以去尝试一下。我推荐IDLE,它写起来方便,运行方便,pip方便。只要打开cmd里面输入pip版本 install 包就可以了!

示例:

pip install pygame

2.6.为什么我不去学c语言和java呢?

我之所以现在不学,是因为c语言和java太难了。他们运用到了很多很难的东西。我之前虽然也学过Dev C++,但是我还是放弃了,因为这实在太难了。

接下来是python和java比对超级玛丽,看看谁的程序精简。

Java:

import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
 
import javax.swing.ImageIcon;
import javax.swing.JFrame;
 
import com.huaxin.enery.Enery;
import com.huaxin.enery.Pipe;
 
import Util.Map;
 
public class GameFrame extends JFrame{
	
	public Mario mario;
	public Enery pipe,cion,brick;
	//背景图片
	public BackgroundImage bg ;
	
	//容器装敌人
	public ArrayList<Enery> eneryList = new ArrayList<Enery>();
	
	//子弹容器
	public ArrayList<Boom> boomList = new ArrayList<Boom>();
	
	//子弹的速度
	public int bspeed=0;
	
	//画地图,制定规则,是1画砖头,是2画金币,是3画水管
	public int [][] map =null;
	
	//构造函数里面初始化背景图片和马里奥对象
	public GameFrame() throws Exception {
		
		mario = new Mario(this);
		mario.start();
		Map mp= new Map();
		bg = new BackgroundImage();
		
		//窗体重绘线程
		new Thread(){
			public void run(){
				while(true){
					//重绘窗体
					repaint();
					//检查子弹是否出界
					checkBoom();
					try {
						Thread.sleep(10);
					} catch (InterruptedException e) {
						e.printStackTrace();
					}
				}
			}
		}.start();
		
		map=mp.readMap();
		//读取地图,并配置地图
		for (int i = 0; i < map.length; i++) {
			for (int j = 0; j < map[0].length; j++) {
				//读取到的是1,画砖头
				if(map[i][j]==1){
					brick = new Pipe(j*30,i*30,30,30,new ImageIcon("image/brick.png").getImage());
					eneryList.add(brick);
				}
				//读到2画金币
				if(map[i][j]==2){
					cion = new Pipe(j*30,i*30,30,30,new ImageIcon("image/coin_brick.png").getImage());
					eneryList.add(cion);
				}
				//读到3画水管
				if(map[i][j]==3){
					pipe = new Pipe(j*30,i*30,60,120,new ImageIcon("image/pipe.png").getImage());
					eneryList.add(pipe);
				}
				
			}
		}
		//设置背景音乐
		com.huaxin.music.Util.startMusic("music/bg1.wav");
	}
	
	public void initFrame(){
		//设置窗体相关属性
		this.setSize(800,450);
		this.setTitle("山寨版超级玛丽");
		this.setResizable(false);
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(3);
		this.setVisible(true);
		
		//该窗体添加键盘监听
		KeyListener kl = new KeyListener(this);
		this.addKeyListener(kl);
	}
	
	public void paint(Graphics g) {
		//利用双缓冲画背景图片和马里奥
		BufferedImage bi =(BufferedImage)this.createImage(this.getSize().width,this.getSize().height);
		Graphics big =bi.getGraphics();
		big.drawImage(bg.img, bg.x, bg.y, null);
		
		for (int i = 0; i <eneryList.size(); i++) {
			Enery e =eneryList.get(i);
			big.drawImage(e.img, e.x, e.y, e.width, e.height,null);
		}
		
		//画子弹
		for (int i = 0; i < boomList.size(); i++) {
			Boom b =boomList.get(i);
			Color c =big.getColor();
			big.setColor(Color.red);
			big.fillOval(b.x+=b.speed, b.y, b.width, b.width);
			big.setColor(c);
		}
		
		//画人物
		big.drawImage(mario.img, mario.x, mario.y, mario.width, mario.height,null);
		g.drawImage(bi,0,0,null);
		
	}
	
	//检查子弹是否出界,出界则从容器中移除,不移除的话,内存会泄漏
	public void checkBoom(){
		for (int i = 0; i < boomList.size(); i++) {
			Boom b = boomList.get(i);
			if(b.x<0 || b.x>800){
				boomList.remove(i);
			}
		}
	}
 
}

python:

"""
This is an attempt to recreate the first level of
Super Mario Bros for the NES.
"""

import sys
import pygame as pg
from data.main import main
import cProfile


if __name__=='__main__':
    main()
    pg.quit()
    sys.exit()

一看就知道python更加简单(其实后面也有很多程序。他们互相之间一起工作,才形成了超级玛丽游戏)

三、总结

python作为一个编程语言,是十分实用简单的,那作者还为什么要做出这样的编程语言呢?哎,我这里又写了几个句子: