• Python基础的初始


    1.初始Python

    1. pythonde 发展历史

      自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。

      Python的创始人为荷兰人吉多·范罗苏姆(Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python's Flying Circus)。

      ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC 这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,Guido 认为是其非开放造成的。Guido 决心在Python 中避免这一错误。同时,他还想实现在ABC 中闪现过但未曾实现的东西。就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。

    Python已经成为最受欢迎的程序设计语言之一。自从2004年以后,python的使用率呈线性增长。Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。

      由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。因此Python语言及其众多的扩展库所构成的开发环境十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。

    2.编程语言分类

      - 编译型

    • 将代码一次性全部编译成二进制,然后进行在执行

    • 优点:执行效率高

    • 缺点:开发效率低,不能跨平台

    • 代表语言:c ,c++,java

      - 解释型

    • 逐行解释成二进制,逐行运行

    • 优点:开发效率高,可以跨平台。

    • 缺点:执行效率低

    • 代表语言:python

    3.Python语言有优缺点

    优点

    1. Python程序简单易懂,初学者入门容易。
    2. 开发效率高,有强大的第三方库,可以在基础库的基础上再开发,降低开发周期。
    3. 使用高级语言,编写程序无需考虑底层细节。
    4. 可移植性。
    5. 可扩展性,部分程序可用C或C++编写。
    6. 可嵌入性,可以把Python嵌入C或C++程序中。

    缺点

    1. 代码不能加密
    2. 多线程支持差

    4.Python2.x与3.x的区别

      1. 数据类型不同

    py2       unicode        str 
    py3        str           bytes
    
    # py2中的unicode与的py3的str相对应,py2与py3中的bytes相对应

      2.默认使用解释不用

    py2      ascll
    py3      utf-8

      3.输入与输出

    # py2
        print "Hello world"
        raw_input("Hello world")
    # py3
        print("Hello world")
        input("Hello world")

      4.整除

    py2   中只取整数
    py3    去全部

      5.长度

    # py2
        超过长度就会自动转换long
        int
    # py3
        int

      6. xrange和rangede 区别

    # py2
        range: 在内部会立即把所有的值都会创建
        xrange: 在内部不会立即创建的所有的值,只有在循环时,边循环边创建
    # py3
        range:在内部不会立即创建的所有的值,只有在循环时,边循环边创建

      7.模块与包

    # py2
        文件中必须有__init__.py
    # py3
        文件中不需要,但是建议写

      8.字典

    # py2:
        keys: 列表    
        values: 列表
        items: 列表
    # py3
        keys: 迭代器,可以循环但不可以索引    
        values: 迭代器,可以循环但不可以索引
        items: 迭代器,可以循环但不可以索引

      9.内置函数map/filter

    py2:返回列表
    py3:返回迭代器,可以循环但不可以索引

      10.类中的新式类与经典类

    在Python2.x中:
    # 如果在python2中这样定义,则称为新式类
    class Foo(object):     
        pass
    
    # 如果在python2中这样定义,则称为经典类
    class Foo:
        pass
    
    
    在Python3.x中
    class Foo(object):     
        pass
    
    class Foo:
        pass
            
    # 在python3中这两个的写法一样,因为所有的类默认都会继承object,全部都是新式类,经典类只存在py2中5.变量

    5.变量

    变量;代指一些复杂过长的数据

    注意事项:

    • 变量中只能出现数字,字母,下换线

    • 数字不能做开头

    • 不能使用python的关键字

    • ['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']
    • 变量要具有描述性

    • 不能使用中文

    • 不能过长

    • 推荐

      • 驼峰体

      • 下划线

    6. 流程控制语句

    基本结构

    if 条件:
        结果

    1.单个if

    if 2 > 1:
        print(666)    
    print(123)
    
    
    num = int(input("请输入数字")
    if num == 1:           
        print("你好")   

    2. if else 二选一

    age = input("请输入年龄")
    if int(age) > 18:
        print("恭喜你成年了")
    else:
        print("小屁孩一个")

    3. if elif   

    num = int(input("请输入数字"))
    if num == 2:
        print("你好")
    elif num == 3:
        print("你不好")
    elif num == 6:
        print("你好聪明")

    4. if elif else 多选一

    num = int(input('请输入数字'))
    if num == 2:
        print("你好")
    elif num == 3:
        print("烧饼")
    elif num == 5:
        print("二狗")
    else:
        print("你好笨呢")

    5. 嵌套的if

    username = input("请输入用户名")
    pwd = input("请输入密码")
    code = "qwer"
    your_code = input("请输入验证码")
    if  your_code == code:
        if username == "xiaobai" and pwd == "123":
            print("登录成功")
        else:
            print("用户名或密码错误")
    else:
        print("验证码错误")

    7.循环语句

    1.while循环语句

    1.while 循环语句的基本结构
    while 条件:
        循环体

    实例:

    # 练习题1
    while True:
        print("月亮之上")
        print("狼的诱惑")
        print("人间")
        print("庐州月")
        print("我们不一样")
    # 练习题2 flag = True while flag: print("月亮之上") print("狼的诱惑") print("人间") flag = False print("庐州月") print("我们不一样") # 练习题3 循环打印1-100的所有数字 count = 1 while count < 101: print(count) count = count + 1 # 练习题4 循环打印1-100所有数字的和 count = 1 num = 0 while count < 101: num = num + count count = count + 1 print(num)
    2.关键字

    1. break 终止当前循环

    实例一
    while True:
        print("月亮之上")
        print("狼的诱惑")
        print("人间")
        break
        print("庐州月")
        print("我们不一样")
       
        
    实例二
    打印1-100的之间的所有偶数
    count = 1
    while True:
        if count % 2 == 0:
            print(count)
        if count > 100:
            break
        count = count + 1

    2. continue 结束本次循环,进入下一次循环

    实例一
    while True:
        print("月亮之上")
        print("狼的诱惑")
        print("人间")
        continue
        print("庐州月")
        print("我们不一样")
        
     实例二
     flag = True
     while flag:
         print("月亮之上")
        print("狼的诱惑")
        print("人间")
        flag = False
        continue
        print("庐州月")
        print("我们不一样")

    3. while else while循环如果被break打断,则不执行else语句。

    count = 1
    while True:
        print(count)
        count = count + 1
        if count > 5
            break
    else:
        print(666)

    2.for循环语句

    1.基本格式
    for 变量 in 变量

    实例:

    练习题
    1. 实现一个整数加法计算器(多个数相加):
    # 如:content = input("请输入内容:")
    # 用户输入:5 + 9 + 6 + 12 + 13,然后进行分割再进行计算。
    content = input("请输入内容:")
    num = content.split("+")
    num2 = 0
    for i in num:
        num2 = int(i) + num2
    print(num2)
    
    # 2.计算1-100所有数字的和
    count = 0
    for i in range(101):
        count += i
    print(count)

    待续

  • 相关阅读:
    详解javascript实现自定义事件
    详谈LABJS按需动态加载js文件
    SeaJS入门教程系列之SeaJS介绍(一)
    Underscore.js 入门
    Underscore.js (1.7.0)-集合(Collections)(25)
    Underscore.js (1.7.0)-函数预览
    js/jquery判断浏览器的方法小结
    ParNew收集器
    CMS(Concurrent Mark-Sweep)
    java集合类深入分析之Queue篇(Q,DQ)
  • 原文地址:https://www.cnblogs.com/zangyue/p/12080271.html
Copyright © 2020-2023  润新知