学习路线

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)的更多相关文章

  1. Python学习之路【第一篇】-Python简介和基础入门

    1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...

  2. python学习之路-day2-pyth基础2

    一.        模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...

  3. Python学习的个人笔记(基础语法)

    Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...

  4. Python学习之路-Day2-Python基础3

    Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...

  5. Python学习之路-Day2-Python基础2

    Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...

  6. Python学习之路-Day1-Python基础

    学习python的过程: 在茫茫的编程语言中我选择了python,因为感觉python很强大,能用到很多领域.我自己也学过一些编程语言,比如:C,java,php,html,css等.但是我感觉自己都 ...

  7. python学习之路网络编程篇(第四篇)

    python学习之路网络编程篇(第四篇) 内容待补充

  8. python 学习之路开始了

    python 学习之路开始了.....记录点点滴滴....

  9. python学习之路,2018.8.9

    python学习之路,2018.8.9, 学习是一个长期坚持的过程,加油吧,少年!

  10. Python学习之路——pycharm的第一个项目

    Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...

随机推荐

  1. Android Studio 错误 Duplicate files copied in APK META-INF/LICENSE.txt解决方案

    My logcat: log Execution failed for task ':Prog:packageDebug'. Duplicate files copied in APK META-IN ...

  2. C语言二维数组实现扫雷游戏

    #include<stdio.h> //使用二维数组实现 扫雷 int main() { char ui[8][8]={ '+','+','+','+','+','+','+','+', ...

  3. 使用XStream是实现XML与Java对象的转换(4)--转换器

    七.转换器(Converter) 我们程序中的POJO是千变万化的,而且需求也是千奇百怪的,所以XStream中的内置的转换器的功能不一定能够满足我们的要求,所以我们就需要自己构建转换器. 1,一个基 ...

  4. Python新手入门学习常见错误

    当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , ...

  5. 通过slave_exec_mode=IDEMPOTENT跳过主从复制中的错误

    通过slave_exec_mode=IDEMPOTENT跳过主从复制中的错误 set global slave_exec_mode=IDEMPOTENT slave_exec_mode 有两种模式 S ...

  6. 彪悍开源的分析数据库-ClickHouse

    https://zhuanlan.zhihu.com/p/22165241 今天介绍一个来自俄罗斯的凶猛彪悍的分析数据库:ClickHouse,它是今年6月开源,俄语社区为主,好酒不怕巷子深. 本文内 ...

  7. Java自学开发编程路线图(文中有资源福利)

    Java 语言入门 免费视频资源<毕向东Java基础教程>:http://yun.itheima.com/course/7.html JavaEE 学习大纲 所处阶段 主讲内容 技术要点 ...

  8. Nginx 的安装与配置

    一.下载 Linux:CentOS 7.3 64位 Nginx:nginx-1.13.1 安装目录:/usr/local/ wget http://nginx.org/download/nginx-1 ...

  9. css 选择器【转】

    最近在研究jQuery的选择器,大家知道jQuery的选择器和css的选择器非常相似,所以整理一下css选择器: css1-css3提供非常丰富的选择器,但是由于某些选择器被各个浏览器支持的情况不一样 ...

  10. javascript中字符串和字符串变量的问题

    var s = new String("hello"); s.indexOf(1) = 'p'; //错误,indexof()是函数 s[1]='p' //错误,在c和c++可以改 ...