• Pythonday01


                                      2018-04-07

    一、Python 介绍

    python 2.X  在2020以后不再更新代码。

    Python 2.x  与 Python 3.x 的区别

    python2.x 

    语法:重复,不规范

    编码:默认ASCII,无法显示中文。解决方式:      #  -*-  encoding:UTF-8  -*-

    数据类型:有long int:长整型

    语法格式:print 'hello world'  或  print ('hello world')

    python 3.x

    语法:整合源码,清晰简洁,优美

    编码:默认UTF-8

    数据类型:无 long int:长整型

    语法格式:print  ('hello world')

    python语言划分

    编译型:将代码全部一次性编译成二进制再执行。

       代表语言:Python  JavaScript  ruby  PHP  Perl

                缺点:开发效率低,不能跨平台,例如C语言
                优点:执行效率高,一般写底层,代表语言C
     

     解释型:当程序开始执行时,它将一行一行的解释成二进制,执行

       代表语言:C  C++  go    swift

                缺点:执行效率低
                优点:开发效率高,可以跨平台,代表语言Python

    混合型:

        JAVA  C#

    解释器:

          CPython

      当我们从Python官方网站下载并安装好Python 3.6后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。

          IPython

      IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

          PyPy

      PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

    绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点

          Jython

      Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

          IronPython

      IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

          小结:

      Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

     

     Python 基础知识

    变量

    将程序的中间结果暂时存在内存中,以便后续程序引用

    1、组成:数字,字母下划线组成,不能是数字开头

    2、不能使用关键字:

    以下关键字不能声明为变量名
    • ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if',                'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

    3、不能中文,不能过长

    4、建议格式:birth_date_time

    常量

    一直不变的量
    约定俗成,全部大写,放在文件最上面
    例如:BIRTH_OF_CHINA = 19491001

     注释

    单行注释:#

    多行注释:'''      '''        或        """    """

    三引号的另一个功能:格式化输出

    info = '''
    ------------ info of %s -----------
    Name : %s #代表 name
    Age : %d #代表 age
    job : %s #代表 job
    Hobbie: %s #代表 hobbie
    ------------- end -----------------
    ''' %(name,name,int(age),job,hobbie)
    print(info)

    注意%d 表示变量为数字,所以需要转化为数字形式使用int()函数

    双引号与单引号作用一样,但是一下情况必须用双引号:

    """   bob's   hobby is  basketball   """

    程序交互

    name = input ('please input your name')

    注:input 接收的字符全部存储为字符串格式,即使输入的是数字,若想转化为字符串需要  int(name)

    基础数据类型

    整数类型(int)

    字符串类型(str)

    在Python中,加了引号的字符都被认为是字符串!

    字符串拼接

    >>> name
    'Alex Li'
    >>> age
    '22'
    >>>
    >>> name + age #相加其实就是简单拼接
    'Alex Li22'
    >>>
    >>> name * 10 #相乘其实就是复制自己多少次,再拼接在一起
    'Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li'

    注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

    布尔值(True,False)

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

    但其实你们并不明白对么? let me explain, 我现在有2个值 , a=3, b=5 , 我说a>b你说成立么? 我们当然知道不成立,但问题是计算机怎么去描述这成不成立呢?或者说a< b是成立,计算机怎么描述这是成立呢?

    没错,答案就是,用布尔类型

    >>> a=3
    >>> b=5
    >>>
    >>> a > b #不成立就是False,即假
    False
    >>>
    >>> a < b #成立就是True, 即真
    True

    基本运算符

    运算符

      计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,今天我们暂只学习算数运算、比较运算、逻辑运算、赋值运算

    算数运算

    比较运算

     赋值运算

    逻辑运算

     针对逻辑运算的进一步研究:

      1,在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

    例题:

    判断下列逻辑语句的True,False

     1,3>4 or 4<3 and 1==1

    2,1 < 2 and 3 < 4 or 1>2
    3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
    4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
    5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
    6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

     2 ,  x or y , x为真,值就是x,x为假,值是y;

                 x and y, x为真,值是y,x为假,值是x。

    in,not in :

    判断子元素是否在原字符串(字典,列表,集合)中:

    流程控制之

    if语句  

    逐行判断,符合条件即推出,否则继续向下运行。

    if 条件1:

      结果1

    elif 条件2:

      结果2

     else:

      结果3

    while语句

    符合条件就一直运行

    while  1< 2:

      print ()

    else  只要没有break跳出循环,就可以运行else。

    continue  跳出本次循环,继续下一次循环。

    break   跳出整个循环结束while。

    flag = true

    for循环语句

    有限循环

    x 可以是字符串  字典 列表 元祖

    for  i  in x:

      do...

    else

    break

    continue

    相关练习题

    1、使用while循环输入 1 2 3 4 5 6     8 9 10

    2、求1-100的所有数的和

    3、输出 1-100 内的所有奇数

    4、输出 1-100 内的所有偶数

    5、求1-2+3-4+5 ... 99的所有数的和

    6、用户登陆(三次机会重试)

  • 相关阅读:
    Winform中让回车键完成TAB键的功能
    ASP.NET跨页传值方法汇总
    SQL SERVER中使用Unicode字符的注意问题
    如何为Oracle配置多个监听器
    如何实现上一条、下一条的功能
    "文件中的备份集是由BACKUP DATABASE...FILE=创建的,无法用于此还原操作"的解决办法
    [psp][lumines]dat数据包解包程序
    meteos@pc, the remake制作中...
    最近在仿照Lumines写
    建立huffman树,当然用堆排序
  • 原文地址:https://www.cnblogs.com/fanggege/p/8732449.html
Copyright © 2020-2023  润新知