学习路线
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语言,因为它是其他高级语言的基础。
三、Python的种类
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把代码扔给他执行就行了。
四、Python安装
1、下载安装软件
1.1 下载
-官网:https://www.python.org/downloads/
-Python2:在继续更新(使Python2越来越靠近Python3, 2020停止支持)。
-Python3:一直在更新,我们现在学习Python就下载Python3版本。
1.2 安装
-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)。
1.3 环境变量
-Windows系统里面安装刚才说了只要安装时勾上为其创建环境变量即可,Linux上面我在另一个随笔写了http://www.cnblogs.com/shwee/p/9015059.html。
2、Python安装在系统上
2.1 执行操作
-写一个文件,文件中按照Python的规则写,将文件交给Python软件,读取文件中的内容,然后进行转换和执行,最终获取结果
-Python软件---->Python解释器(做内存管理)
3、Python基础知识
3.1 第一句Python
-后缀名可以是任意的(这就是为何叫python解释器)
-导入模块时,如果不是.py文件会报错
===>所以以后文件名统一都写成.py的形式
3.2 两种执行方式
-Python解释器 .py文件路径
-Python IDLE 进入解释器交互界面:实时输入并获取执行结果
-Linux系统下:
-文件名运行 ./test.py
-文件内部头部要加上下面声明:#!/usr/bin/env python ----这一句是在Linux系统中特意需要的Python3解释器路径声明。
-接着在第二行加上: # _*_ coding:utf8 _*_ ----当然,用python3版本的解释器运行就不需要加这一句声明了,因为Python3版本默认的编码格式就是utf-8,而Python2不是默认utf-8编码格式。
-这两句如果要写,就要写在文件最开头的两行,且中间不能间插其他行进来,不然就不会生效了。
3.3 介绍一下编码格式
-最早的编码:ASCII,在美国产生,用八位来编码表示一个字符。
-后来各个国家都在使用计算机,都出台自己国家的编码格式,为了全球都能通用统一编码,国际统一搞出了个万国码:Unicode,为了国际通用,它是用16位以上(至少16位,也就是两个字节)的比特位来表示一个字符,但是这样的话每个不同的字符都是用16位以上的比特位来编写表示,但是就像ASCII编码上面的一个字符八位就可以表示了,所以这样有点浪费空间。
-所以后面又搞出个utf-8的编码格式,utf-8规定,一个字符能用多少位表示就用多少位,比如一个英文字母用8位表示,一个汉字用24位(3个字节)表示,不是像unicode上统一都用16位以上来表示,所以这样比较节省空间,而且又做到了全球通用。
-在Python3中,默认utf-8的编码格式,因此文件开头无需特别说明,但是Python2如果想要使用中文,就必须要做声明,不然显示会乱码;
-当然,如果写一个文件只有中文,用GBK,GBK-2312这样的国标码当然比较好。
五、开始Python学习
介绍完上面的东西,好了,我们来学习Python编写代码:
1、首先来认识变量名:
-在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 = '从你的全世界路过' ,等等
2、程序员第一句,让计算机输出显示一句“你好,Python!”
# !/usr/bin/env python
# -*- coding: utf-8 -*- print('你好,Python!') 输出结果:你好,Python!
3、接下来我们来看看基本数据类型:
3.1 <字符串>
-字符串我们要用引号引起来,这样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
3.2 <数字>
-在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
4、学习条件语句
4.1 if条件基本语句
#例一
if 条件:
内部代码块1
内部代码块2
else:
...
print('-----end------') #例二
if 条件:
pass #什么都不执行,过的意思
print('-----end------')
4.2 if语句的嵌套
if 条件:
if 条件:
if 条件:
if 条件:
...
else:
else:
else:
else:
4.3 多条件判断if语句
if 条件:
代码块
elif 条件:
代码块
elif 条件:
代码块
else:
...
PS:在Python中用强制缩进(四个空格)来区分代码块,其他语言比如Java是用{}来区分,比如:
if 条件{
代码块
}
5、循环语句
5.1 死循环
#死循环,一直输出ok
while 1==1:
print('ok')
5.2 条件循环
#条件循环,屏幕输出十次ok
count = 0
while count < 10
print('ok')
count = count + 1
print('------over------')
六、练习题
涉及if条件语句,while循环语句,奇偶数,数字运算,变量定义等
1、使用while循环输出1、 2、 3、 4、 5、 6、 8、 9
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------
2、输出1~100的所有奇数
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------
3、求1~100的所有数的和
n = 1
s = 0
while n < 101:
s = s + n
n = n + 1
print('sum = ', s)
print('-------over------') 输出结果:
sum = 5050
-------over------
4、输出1~100的所有偶数
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------
5、求1-2+3-4+5-...+99-100的所有数之和
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------
Day1----Python学习之路笔记(1)的更多相关文章
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- Python学习的个人笔记(基础语法)
Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- Python学习之路-Day1-Python基础
学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
- python 学习之路开始了
python 学习之路开始了.....记录点点滴滴....
- python学习之路,2018.8.9
python学习之路,2018.8.9, 学习是一个长期坚持的过程,加油吧,少年!
- Python学习之路——pycharm的第一个项目
Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...
随机推荐
- App Store10大被拒理由
最近,苹果在官网给出了截至2015年2月份应用被拒绝的十大理由,其中50%以上的应用被拒绝都是因为这10个原因,其中7个理由和2014年相同,其中排名前三的原因分别是:需要补充更多信息.存在明显的bu ...
- linux下创建且挂载光盘镜像
在linux下可以很方便的将多个文件,或多个文件夹下的内容打包进光盘镜像中,我们可以用: mkisofs -r -v -o xxx.iso /root /home 命令将/root以及/home目录下 ...
- rails4 new没有生成prototype.js之类的脚本解决办法
早期版本的rails在新生成程序时会在/public/javascript目录中自动放入若干个js脚本.不过在rails4.2.0中无论是否加-j选项,都不会生成这些脚本文件了.解决办法是安装prot ...
- tomcat jvm优化
tomcat优化(全) (2012-09-26 10:12:59) 转载▼ 标签: 杂谈 分类: java 1.内存设置(VM参数调优)(1). Windows环境下,是tomcat解压版(执行sta ...
- Day4_名称空间与作用域
函数嵌套: 函数的嵌套调用:在调用一个函数的过程中,又调用了了另外一个函数 比如说比较多个值的大小,可以利用这种方法: def max2(x,y): if x > y: return x els ...
- java学习面试精华
1.线程状态转移 (1)线程生命周期中的5种状态 新建(New).就绪(Runnable).运行(Running).阻塞(Bolocked)和死亡(Dead) 新建(New):程序使用new关键字创建 ...
- Apache Flink 流处理实例
维基百科在 IRC 频道上记录 Wiki 被修改的日志,我们可以通过监听这个 IRC 频道,来实时监控给定时间窗口内的修改事件.Apache Flink 作为流计算引擎,非常适合处理流数据,并且,类似 ...
- 【数据可视化之Flask】快速设计和部署Flask网站
Flask是Python应用于WEB开发的第三方开源框架,以设计简单高效著称.我也尝试过Django,相对于Flask显得更加全面同样也更加笨重,并且我也不需要它的后台管理功能,因此选择了Flask作 ...
- 发布 Rafy .NET Standard 版本 Nuget 包
去年年中,Rafy 框架的源码就已经支持了 Net Standard 2.0 版本.其开源代码也已经上传到 Github 中:https://github.com/zgynhqf/rafy/tree/ ...
- ubuntu 16.04安装smatrgitHG工具
SmartGit/HG 是一款开放源代码的.跨平台的.支持 Git 和 Mercurial 的 SVN 图形客户端,可运行在Windows.Linux 和 MAC OS X 系统上. 1.安装 Ubu ...