第一天认识python

 编程语言的介绍:

  一、什么是编程?什么是编程语言?为什么要编程?

    编程是个动词,编程就是使用某种编程语言编写程序或软件,让计算机解决问题的过程。

           那什么是计算机呢?计算机就是用来计算的机器,计算机的发展就是不断解放人力、取代人力的过程。是一种能够按照程序运行,自动、高速处理海量数据的现代化智能                 电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。常见的形式有台式计算机、笔记本计算机、大型计算机等,较先进的计算机有生物计算机、光子计算                 机、量子计算机等。

    编程语言即语言,语言的本质就是沟通,因此它跟汉语、英语、法语是一样的,是一种人与机器的沟通介质。

    编程的目的就是:让机器按照事先为其编写好的程序自发的去工作。

    程序的执行:就是程序员把想要说的话用“编程语言”写到文件里,然后让计算机按照文件里的内容去做事,这就是程序的执行。

  二、编程语言的分类

    1、机器语言:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。机器语言又被称目标语言。

       优点:执行速度快、直接执行

       缺点:学习难度大,开发效率低、需要掌握更多计算机专业知识

    2、汇编语言:汇编语言和机器语音本质是一样的,都是直接操作硬件,只不过采用了英文缩写的,标识符更容易记忆和识别,同样需要把编程的每一步的具体操作                                 用命令 的形式写出来。

      优点:能完成一般高级语言所不能实现的操作,而且源程序经汇编语言生成的可执行的文件比较小,且执行速度非常快。

      缺点:源程序文件比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识。

    3、高级语言:是高度封装了的编程语言,与低级语言相对。它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他                       外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。

      优点:大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。

      缺点:高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行。

      高级语言的转换方式可分为两类

        编译类:编译是指在程序执行之前,就将程序源代码“翻译”成机器指令,并保存成二进制文件
             优点:编译后的代码可以直接在机器上运行,运行速度比解释型要高。
             缺点:调试程序麻烦,程序一旦需要修改,必须先修改源代码,再重新编译后才能执行        解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(如python程序,先翻译/编译成字节码,然后由解释器解释执行,这个过程程序员都无需关心了,享受这种便利即可),一边执行
           优点:这种方式比较灵活,调试程序极为方便,程序一旦出错,立即调试立即就可以测试结果
         缺点:效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器。只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的. 
       总结:编程语言经历了:机器语言-------->汇编语言------------>高级语言(java,C#,php,ruby,python)

          1:开发效率从低到高

          2:执行效率从高到低

          3:掌握难度从难到易

        注解:执行效率不是问题,硬件已经足够用,于是开发效率成了关键,因而高级语言在当今世界大行其   三、Python的介绍    

    1、Python的由来      
      Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。

    2、Python主要应用领域:
      WEB开发、网络编程、爬虫、Python、人工智能、自动化运维、金融分析、科学运算、游戏开发。
    3、Python与其他语言对比:
      1》速度慢点永远不是关键
        对大多数的应用程序来说,并不需要这么快的运行速度,因为用户根本感觉不出来。例如开发一个下载MP3的网络应用程序,C程序的运行时间需要0.001秒,而Python程序的运行时间需要0.1秒,慢了100倍,但由于网络更慢,需要等待1秒,你想,用户能感觉到1.001秒和1.1秒的区别吗?
      2》加密也不是关键
        对于编译型语言如C语言来说,可以将编译后的代码发给用户,用户反解几乎是不可能的,相当于自带加密功能了。而解释型语言如python只能发布源码给用户,但其实这没什么问题,现在主流的思想是软件开源,千万别意淫你的软件有多么大的商业价值。
    4、Python有哪些解释器的种类?
      Cpython(最常用的版本)
        Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
      Jyhton
      Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
      IronPython
      Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
      PyPy(特殊)
      Python实现的Python,将Python的字节码字节码再编译成机器码
    5、Python2 or Python3
      目前虽然业内很多企业还在大量使用Python2.6 or 2.7,因为旧项目几十万甚至上百万行的代码想快速升级到3.0不是件容易的事,但是大家在开发新项目时几乎都会使用3.x。
      另外Python3 确实想比2.x做了很多的改进,直观点来讲,就像从XP升级到Win7的感觉一样,棒棒的。
    6、Python安装和环境配置
      windows下Python解释器安装
      下载地址:
       https://www.python.org/downloads/windows/ 
      配置环境变量:      
    右键计算机--》属性--》高级系统设置--》高级--》环境变量--》在第二个内容框中找到 变量名为Path 的一行,双击 --> Python安装目录追加到变值值中,用 英文(;) 分割

 

    7、Linux下的Python解释器安装:

      Linux:无需安装,如果自带2.6,更新到2.7

    8、更新Python

      windows下卸载重新安装即可

      Linux:

      Linux的yum依赖自带Python,为防止错误,此处更新其实就是安装一个Python

      查看默认Python版本

        查看默认Python版本
        python -V
  
      1、安装gcc,用于编译Python源码
        yum install gcc
      2、下载源码包,https://www.python.org/ftp/python/
      3、解压并进入源码文件
      4、编译安装
        ./configure
        make all
        make install
      5、查看版本
        /usr/local/bin/python2.7 -V
      6、修改默认Python版本
        mv /usr/bin/python /usr/bin/python2.6
        ln -/usr/local/bin/python2.7 /usr/bin/python
      7、防止yum执行异常,修改yum使用的Python版本
      vi /usr/bin/yum
      将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6
   三、Python入门
    1、语法要求:
      1》缩进统一
      同一级别的代码必须一致!(开发规范里建议4个空格,所有级别的代码缩进必须相同)
    2、变量就是变化的量
      1》只能是字母、数字、下划线的任意组合
      2》变量第一个字符不能是数字
      3》关键字不能声明为变量
      4》变量有驼峰体和下划线
      5》变量名不能是中文和拼音
      6》不能过长
      7》不能词不达意
    3、常量:不变的量
      1》在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
    4、定义一个变量有三个特征:
      1》id()
      2》type()
      3》Value()
    5、解释器
      1》交互式的方式:
        优点:即时调试程序,验证调试方法
        缺点:无法永久保存文件
      2》文件的方式:
        优点:永久保存文件
        缺点;不能即时调用代码
    6、解释器的执行步骤:
      1》先启动Python解释器
      2》Python解释器把文件内容从硬盘读入内存
      3》读入内存后,再解释执行
    7、注释:1》单行注释 # 2》多行注释 ''' '''
    8、代码注释原则
      1》不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
      2》注释可以用中文或英文,但绝对不要拼音噢
    9、数据类型:
      int(整型)
      long(长整型):跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。

      字符串:加了引号的字符都被认为是字符串!单双引号木有任何区别,多行字符串必须用多引号!

      字符串拼接:能进行"相加"和"相乘"运算

      布尔型:布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断

      列表类型:可以存放多个值,每个值都是任意类型。要取列表内的元素,需要通过下表

      字典类型:字典采用Key:Value方式进行存储,可以存放多个值,每个Value可以是任意类型,但是key必须是不可变类型

    10、可变数据类型:id不变,type不变,值变了

    11、列表属于可变数据类型,数字和字符串都是不可变数据类型,列表和字典属于可变数据类型。

    12、算数运算符:

      

运算符 描述 实力
+ 加-两个对象相加 a+b输出结果3
- 减-得到一个负数或是一个数减另一个数 a-b输出结果10
* 乘法 - 相乘的运算符两侧的值 a * b = 200
/ 除 - 由右侧操作数除以左侧操作数 b / a = 2
% 模 - 由右侧操作数和余返回除以左侧操作数
b % a = 0
** 指数- 执行对操作指数(幂)的计算 a**b = 10 的幂 20
// 地板除 - 操作数的除法,其中结果是将小数点后的位数被除去的商。 9//2 =  4 而 9.0//2.0 = 4.0

    13、比较运算符

      假设a=10 b=20

运算符 描述   实例
== 检查,两个操作数的值是否相等,如果是则条件变为真 (a == b) 不为 true.
!= 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 (a != b) 为 true.
<> 检查两个操作数的值是否相等,如果值不相等,则条件变为真。 (a <> b) 为 true。这个类似于 != 运算符
> 检查左操作数的值是否大于右操作数的值,如果是,则条件成立。 (a > b) 不为 true.
< 检查左操作数的值是否小于右操作数的值,如果是,则条件成立。 (a < b) 为 true.
>= 检查左操作数的值是否大于或等于右操作数的值,如果是,则条件成立。 (a >= b) 不为 true.
<= 检查左操作数的值是否小于或等于右操作数的值,如果是,则条件成立。 (a <= b) 为 true.

    14、赋值运算符:

运算符 描述 实例
= 简单的赋值运算符,赋值从右侧操作数左侧操作数 c = a + b将指定的值 a + b 到  c
+= 加法AND赋值操作符,它增加了右操作数左操作数和结果赋给左操作数 c += a 相当于 c = c + a
-= 减AND赋值操作符,它减去右边的操作数从左边操作数,并将结果赋给左操作数 c -= a 相当于 c = c - a
*= 乘法AND赋值操作符,它乘以右边的操作数与左操作数,并将结果赋给左操作数 c *= a 相当于 c = c * a
/= 除法AND赋值操作符,它把左操作数与正确的操作数,并将结果赋给左操作数 c /= a 相当于= c / a
%= 模量AND赋值操作符,它需要使用两个操作数的模量和分配结果左操作数 c %= a is equivalent to c = c % a
**= 指数AND赋值运算符,执行指数(功率)计算操作符和赋值给左操作数 c **= a 相当于 c = c ** a
//= 地板除,并分配一个值,执行地板除对操作和赋值给左操作数 c //= a 相当于 c = c // a

    15、逻辑运算符:

运算符  描述 实例
and 所谓逻辑与运算符。如果两个操作数都是真的,那么则条件成立。 (a and b) 为 true.
or 所谓逻辑OR运算符。如果有两个操作数都是非零然后再条件变为真。 (a or b) 为 true.
not 所谓逻辑非运算符。用于反转操作数的逻辑状态。如果一个条件为真,则逻辑非运算符将返回false。 not(a and b) 为 false.

    16、流程控制之if...esle

      1》单分支 if 条件  满足条件好执行的代码

      2》多分支if 条件: 满足条件时执行的代码 else: if条件不满足时执行的代码

      3》多分支 if条件:满足条件式执行的代码 elif: 上面条件不满足执行代码 else :上面的条件都不满足时执行的代码

      猜年龄游戏;

        age_of_oldboy = 48

        guess = int(input(">>:"))
        if guess > age_of_oldboy :
           print("猜的太大了,往小里试试...")
        elif guess < age_of_oldboy :
           print("猜的太小了,往大里试试...")
        else:
          print("恭喜你,猜对了...")

     要求用户输入0-100的数字后,你能正确打印他的对应成绩

          core = int(input("输入分数:"))

          if score > 100:

            print("我擦,最高分才100...")
         elif score >= 90:
             print("A")
         elif score >= 80:
            print("B")
         elif score >= 60:
            print("C")
         elif score >= 40:
            print("D")
          else:
           print("太笨了...E")
    17、流程控制之while循环
      while 就是当的意思,语法:
        while 条件:
          执行代码...
      
count = 0
      while count <= 100 : #只要count<=100就不断执行下面的代码
         print("loop ", count )
         count +=1  #每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0

      输出

        loop  0
        loop  1
        loop  2
        loop  3
        ....
        loop  98
        loop  99
        loop  100
      死循环:
        while只要后面的条件成了就一直运行。
        
count = 0
        while True: #True本身就是真呀
          print("你是风儿我是沙,缠缠绵绵到天涯...",count)
          count +=1
      循环终止:
      break用于完全结束一个循环,跳出循环体执行循环后面的语句
      continue和
break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环
     while...else...
     while后面的else作用是指,当while循环正常执行完时,中间没有break,就会执行else后面的语句
 四、Pyhton之练习
    1、猜年龄的游戏
      要求:1》
允许用户最多尝试3次
  
         2》每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序

          3》如何猜对了,就直接退出

        error_count=0

         age=18

        while True:
        user_age=int(input('您猜猜我年龄?'))
        if error_count>=2:
        ans=input('错误次数过多,是否继续:Y/n -->:')
        if ans=='Y' or ans=='y':
         error_count=0
        continue
        elif ans=='N' or ans=='n':
        break
        else:
        print('输入错误,直接退出')
        break
        if user_age<age:
        print('您猜小了,往大里猜')
        error_count+=1
        elif user_age>age:
        print('您猜大了,往小里猜')
         error_count += 1
        else:
        print('恭喜你,猜对了!')
        break
 
readme:1、启动程序,输入年龄
    2、如果错误次数大于三次,输入Y/y继续猜年龄,如果输入N/n退出程序,
    3、如果错误大于或小于当前年龄错误次数加一,正确就退出
    注意:1、输入年龄只能是数字2、询问继续猜年龄时,只能输入Y、y、N、n,输入其它程序直接退出
 
 

    

 

posted @ 2017-07-07 09:17  咬耗子的猫  阅读(99)  评论(0)    收藏  举报