Day1 Day2 Day3 Day4 Day5 ...待续
1、高级语言:Python,Java,C++,C#,PHP,JS,Go,Ruby,SQL,Swift,Perl,Objective-C,R等等;
2、低级语言:C语言、汇编;
PS:为了好分类,这里说的高级、低级不是说语言本身的高低级,高级语言更抽象化,更靠上层,低级语言更靠计算机底层硬件,所有的高级语言内部都是依赖C语言来实现的。高级语言---->背后是C语言---->背后是汇编(0101机器码)---->机器执行
3、字节码和机器码
1>字节码由高级语言转换生成;
2>机器码是计算机硬件能够直接运行的。
1、以上说的高级语言大致可以分为以下两大类:
1>PHP类:只适用于写网页,有局限性;
2>Python、Java等类:既可以写网页,也可以写后台功能(业务软件等)。
-Python:执行效率比Java低,但开发效率高;
-Java:执行效率比Python高,但开发效率低;
-语言和语言之间速度之类的差异其实很小,关键在于你是否有一个优秀的程序员,一个优秀的程序员他用Python写的程序,也比一般的程序员用Java写的程序运行速度更快,更稳定。
2、只要做程序开发,如果想深入,想不断上升,以后一般来说一定要自学C语言,因为它是其他高级语言的基础。
1、Python最近越来越火,有很多公司都尝试着结合自己公司语言推出各个公司自己的Python版本,比较常见的有CPython、JPython(Java Python)、JavaScriptPython、RubyPython、IronPython、PyPy等等。在上面这些Python版本种类中,我们一般选择CPython来学习,下面这张图就说明了为什么:
2、PyPy,这是用CPython开发的Python版本,相当于CPython的升级版,它的执行速度比Python快很多(其实是第一次执行没这么快,但是第二次及以后就很快了,原因是第一次代码执行,转换后的运行机器码PyPy会拿在手上,下次运行就直接机器码去运行,而Python拿在手上的是字节码,每次运行还得转换成机器码运行)
-速度方面:PyPy > CPython > JPython、RubyPython这一类;
-但是,PyPy现在还不够稳定,还不是主流,现在的主流仍然是用CPython;
-以后我们可以用CPython写好代码,然后装一个PyPy把代码扔给他执行就行了。
-官网:https://www.python.org/downloads/
-Python2:在继续更新(使Python2越来越靠近Python3, 2020停止支持)。
-Python3:一直在更新,我们现在学习Python就下载Python3版本。
-Windows:无脑点,安装时记得勾上为Python创建环境变量,省得后面自己配。
-Linux:新版本的Linux发行版本一般都是自带Python2的,比如CentOS 7(Ubuntu 18.04自带的Python3),如果没Python3.X的可以再装一个3.X的版本(两个版本同时存在要配置一下,不然yum会报错,CentOS 7上的配置过程我在另一个随笔里写了http://www.cnblogs.com/shwee/p/9015059.html)。
-Windows系统里面安装刚才说了只要安装时勾上为其创建环境变量即可,Linux上面我在另一个随笔写了http://www.cnblogs.com/shwee/p/9015059.html。
-写一个文件,文件中按照Python的规则写,将文件交给Python软件,读取文件中的内容,然后进行转换和执行,最终获取结果
-Python软件---->Python解释器(做内存管理)
-后缀名可以是任意的(这就是为何叫python解释器)
-导入模块时,如果不是.py文件会报错
===>所以以后文件名统一都写成.py的形式
-Python解释器 .py文件路径
-Python IDLE 进入解释器交互界面:实时输入并获取执行结果
-Linux系统下:
-文件名运行 ./test.py
-文件内部头部要加上下面声明:#!/usr/bin/env python ----这一句是在Linux系统中特意需要的Python3解释器路径声明。
-接着在第二行加上: # _*_ coding:utf8 _*_ ----当然,用python3版本的解释器运行就不需要加这一句声明了,因为Python3版本默认的编码格式就是utf-8,而Python2不是默认utf-8编码格式。
-这两句如果要写,就要写在文件最开头的两行,且中间不能间插其他行进来,不然就不会生效了。
-最早的编码:ASCII,在美国产生,用八位来编码表示一个字符。
-后来各个国家都在使用计算机,都出台自己国家的编码格式,为了全球都能通用统一编码,国际统一搞出了个万国码:Unicode,为了国际通用,它是用16位以上(至少16位,也就是两个字节)的比特位来表示一个字符,但是这样的话每个不同的字符都是用16位以上的比特位来编写表示,但是就像ASCII编码上面的一个字符八位就可以表示了,所以这样有点浪费空间。
-所以后面又搞出个utf-8的编码格式,utf-8规定,一个字符能用多少位表示就用多少位,比如一个英文字母用8位表示,一个汉字用24位(3个字节)表示,不是像unicode上统一都用16位以上来表示,所以这样比较节省空间,而且又做到了全球通用。
-在Python3中,默认utf-8的编码格式,因此文件开头无需特别说明,但是Python2如果想要使用中文,就必须要做声明,不然显示会乱码;
-当然,如果写一个文件只有中文,用GBK,GBK-2312这样的国标码当然比较好。
介绍完上面的东西,好了,我们来学习Python编写代码:
-在python中我们常用字母、数字、下划线来组合形成变量名,它们的组合有一定的规则,那就是数字不能作为变量名开头,变量名不能是python关键字,最好不要和python内部的东西(比如某个函数、方法的名字,例如sum([1, 2, 4, 5, 8]),用sum作变量名使用求和方法sum()时就不会生效)一样
-python中的关键字有:
- help("keywords") #查Python关键字的命令
- Here is a list of the Python keywords. Enter any keyword to get more help.
- False def if raise
- None del import return
- True elif in try
- and else is while
- as except lambda with
- assert finally nonlocal yield
- break for not
- class from or
- continue global pass
-变量名可以是生活的写照,尽量让变量名起得有意义一些,比如用户的id信息,我们可以用user_id来表示,比如我们在编程中要经常用到一句话,我们可以定义变量名:str_u = '从你的全世界路过' ,等等
- # !/usr/bin/env python
- # -*- coding: utf-8 -*-
- print('你好,Python!')
- 输出结果:你好,Python!
-字符串我们要用引号引起来,这样Python解释器程序一读到这一句话,碰到引号引起来的内容,他就会把引号里面的东西(全部)当做字符串处理,当然在Python中,单引号,双引号,三引号等都能识别,如下:
- name = '我是shw' name = "我是shw" name = '''我是shw''' name = """我是shw"""
-当然在python中字符串可以直接做加法:
- n1 = "shw" n2 = "nb" n3 = n1 + n2
- print(n3)
- 输出结果:shwnb
-也可以做乘法:
- n1 = "shw" n2 = n1 * 3
- print(n2)
- 输出结果:shwshwshw
-在Python中我们可以做数字的数学运算(加减乘数,取商取余):
- n1 = 30
- n2 = 4
- n3 = n1 + n2 #加法
- n4 = n1 - n2 #减法
- n5 = n1 * n2 #乘法
- n6 = n1 / n2 #除法
- n7 = n1 % n2 #取余数
- n8 = n1 //n2 #取商
- print(n3, n4, n5, n6, n7, n8)
- 输出结果:34 26 120 7.5 2 7
- #例一
- if 条件:
- 内部代码块1
- 内部代码块2
- else:
- ...
- print('-----end------')
- #例二
- if 条件:
- pass #什么都不执行,过的意思
- print('-----end------')
- if 条件:
- if 条件:
- if 条件:
- if 条件:
- ...
- else:
- else:
- else:
- else:
- if 条件:
- 代码块
- elif 条件:
- 代码块
- elif 条件:
- 代码块
- else:
- ...
PS:在Python中用强制缩进(四个空格)来区分代码块,其他语言比如Java是用{}来区分,比如:
- if 条件{
- 代码块
- }
- #死循环,一直输出ok
- while 1==1:
- print('ok')
- #条件循环,屏幕输出十次ok
- count = 0
- while count < 10
- print('ok')
- count = count + 1
- print('------over------')
涉及if条件语句,while循环语句,奇偶数,数字运算,变量定义等
- n = 1
- while n < 10:
- if n == 7:
- pass
- else:
- print(n)
- n = n + 1
- print('------over------')
- 输出结果:
- 1
- 2
- 3
- 4
- 5
- 6
- 8
- 9
- ------over------
- n = 1
- while n < 101:
- temp = n % 2
- if temp == 0:
- pass
- else:
- print(n)
- n = n + 1
- print('------over------')
- 输出结果:
- 1 3 5 7 9 11 13 15 17 19
- 21 23 25 27 29 31 33 35 37 39
- 41 43 45 47 49 51 53 55 57 59
- 61 63 65 67 69 71 73 75 77 79
- 81 83 85 87 89 91 93 95 97 99
- ------over------
- n = 1
- s = 0
- while n < 101:
- s = s + n
- n = n + 1
- print('sum = ', s)
- print('-------over------')
- 输出结果:
- sum = 5050
- -------over------
- n = 1
- while n < 101:
- temp = n % 2
- if temp == 0:
- print(n)
- else:
- pass
- n = n + 1
- print('------over------')
- 输出结果:
- 2 4 6 8 10 12 14 16 18 20
- 22 24 26 28 30 32 34 36 38 40
- 42 44 46 48 50 52 54 56 58 60
- 62 64 66 68 70 72 74 76 78 80
- 82 84 86 88 90 92 94 96 98 100
- ------over------
- n = 1
- s = 0
- while n < 101:
- temp = n % 2
- if temp == 0:
- s = s - n
- else:
- s = s + n
- n = n + 1
- print('sum = ', s)
- print('-------over------')
- 输出结果:
- sum = -50
- -------over------
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
python学习之路网络编程篇(第四篇) 内容待补充
python 学习之路开始了.....记录点点滴滴....
python学习之路,2018.8.9, 学习是一个长期坚持的过程,加油吧,少年!
Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...
#include <stdio.h> #include <stdarg.h> /* 可变参相关接口 typedef char * va_list ; void va_start ...
Google官方网络框架Volley实战--QQ吉凶测试,南无阿弥陀佛! 这次我们用第三方的接口来做一个QQ吉凶的测试项目,代码依然是比较的简单 无图无真相 直接撸代码了,详细解释都已经写在注释里了 ...
学过数据结构的都知道树,那么什么是树? 树(tree)是包含n(n>0)个结点的有穷集,其中: (1)每个元素称为结点(node): (2)有一个特定的结点被称为根结点或树根(root). (3 ...
How to download the installation package by ZOL Downer Ma Genfeng (Guangdong Unitoll Services incorp ...
MQ级联方式使用场景 使用场景: 如上图所示,Application1与Application2要进行通信或者消息互换,使用MQ中间件作为中介.上图中,Application1与Applica ...
写select查询,报错:ORA-00904 标示符无效 这个错误通常是因为 字段名写错了,或者是在创建表的时候,创建最后一个字段的时候也加了逗号 . 我遇到的情况时,之前的同事创建表的时候,将小写的 ...
第1章 JUnit起步 主要了解JUnit,如何安装.运行JUnit 要点 JUnit4不需要像JUnit3那样extends TestCase类 Junit4基本都是用注解(该书都翻译为注释,但我喜 ...
到微信公众平台按提示一直走下去后,可能遇到的难点就是填写Url和Token了. 开发文档里说,url是自己的服务器地址,Token随便写.但是一直提示Token验证失败. 解决办法:需要在服务器里新增 ...
生成器:在函数内部包含yield关键,那么该函数执行的结果就是生成器. 生成器就是迭代器. def func(): print('first') yield 111111 print('second' ...
技术性的Topic听的不多,也没记多少东西. 下面这些是产品设计论坛的笔记: 互联网为实体行业带来:数据驱动,用户参与,快速验证想法 体验整合:线上与线下,产品与服务,运营与营销,用户和利益相关方体验 ...