python入门


一 编程与编程语言
  • 二 编程语言分类
  • 三 主流编程语言介绍
  • 四 python介绍
  • 五 安装python解释器
  • 六 第一个python程序
  • 七 变量
  • 八 用户与程序交互
  • 九 基本数据类型
  • 十 格式化输出
  • 十一 基本运算符
  • 十二 流程控制之if...else
  • 十三 流程控制之while循环
  • 十四 流程控制之for循环
  • 十五 开发工具IDE
  • 十六 扩展阅读
  • 十七 作业
  • https://www.tiobe.com/tiobe-index/ )

    长期语言排名 

     

    #C语言:
    C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
    
    #C++:
    C++是C语言的继承的扩展,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。
    C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
    
    #JAVA:
    Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
    
    #PHP:
    PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域
    Ruby:
    Ruby 是开源的,在Web 上免费提供,但需要一个许可证。[4]
    Ruby 是一种通用的、解释的编程语言。
    Ruby 是一种真正的面向对象编程语言。
    Ruby 是一种类似于 Python 和 Perl 的服务器端脚本语言。
    Ruby 可以用来编写通用网关接口(CGI)脚本。
    Ruby 可以被嵌入到超文本标记语言(HTML)。
    Ruby 语法简单,这使得新的开发人员能够快速轻松地学习 Ruby
    
    #GO:
    Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
    Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
    由其擅长并发编程
    
    #Python:
    Python是一门优秀的综合语言, Python的宗旨是简明、优雅、强大,在人工智能、云计算、金融分析、大数据开发、WEB开发、自动化运维、测试等方向应用广泛,已是全球第4大最流行的语言。
    几个主流的编程语言介绍 https://www.python.org/downloads/windows/ 下载中心

    #测试安装是否成功
    windows --> 运行 --> 输入cmd ,然后回车,弹出cmd程序,输入python,如果能进入交互环境 ,代表安装成功。
    #多版本共存演示
    注意:在安装目录下找到python.exe,拷贝一份,命名为python2.exe或python3.exe,一定要保留原版,因为pip工具会调用它。
    https://www.jetbrains.com/pycharm/download 选择Professional 专业版

    Comunnity社区版是免费的,但支持的功能不多,比如以后我们会学的Django就不支持,所以还是用专业版,但专业版是收费的,一年一千多,不便宜。唉,万能的淘宝。。。不宜再多说啦。

     注册完成后启动,会让你先创建一个项目,其实就是一个文件夹,我们以后的代码都存在这里面

    3 创建目录

    你以后写的项目可能有成百上千个代码文件 ,全放在一起可不好,所以一般把同样功能的代码放在一个目录,我们现在以天为单位,为每天的学习创建一个目录day1,day2,day3...这样

    4 创建代码文件

    5 执行代码

    核心风格:http://www.cnblogs.com/linhaifeng/articles/5936688.html

    十七 作业

    1 练习题

    1. 简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型
    2. 执行 Python 脚本的两种方式是什么
    3. Pyhton 单行注释和多行注释分别用什么?
    4. 布尔值分别有什么?
    5. 声明变量注意事项有那些?
    6. 如何查看变量在内存中的地址?
    7. 写代码
      1. 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
      2. 实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
      3. 实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
    8. 写代码
      a. 使用while循环实现输出2-3+4-5+6...+100 的和
      b. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12 使用 while 循环实现输出 1-100 内的所有奇数

      e. 使用 while 循环实现输出 1-100 内的所有偶数

    9. 现有如下两个变量,请简述 n1 和 n2 是什么关系?

          n1 = 123456
          n2 = n1
    

    2 作业:编写登陆接口

    基础需求:

    • 让用户输入用户名密码
    • 认证成功后显示欢迎信息
    • 输错三次后退出程序
    dic={
        'egon1':{'password':'123','count':0},
        'egon2':{'password':'123','count':0},
        'egon3':{'password':'123','count':0},
    
    }
    
    
    while True:
        name=input('username>>: ')
    
        if not name in dic:
            print('用户不存在')
            continue
        if dic[name]['count'] > 2:
            print('尝试次数过多,锁定')
            continue
    
        password=input('password>>: ')
    
    
        if password == dic[name]['password']:
            print('登录成功')
            break
        else:
            print('用户名或密码错误')
            dic[name]['count']+=1

    升级需求:

    • 可以支持多个用户登录 (提示,通过列表存多个账户信息)
    • 用户3次认证失败后,退出程序,再次启动程序尝试登录时,还是锁定状态(提示:需把用户锁定的状态存到文件里)
    #db.txt内容:egon1|egon2|
    dic={
        'egon1':{'password':'123','count':0},
        'egon2':{'password':'123','count':0},
        'egon3':{'password':'123','count':0},
    }
    
    count=0
    while True:
        name=input('u>>: ')
        if name not in dic:
            print('用户不存在')
            continue
    
        with open('db.txt','r') as f:
            lock_users=f.read().split('|')
            if name  in lock_users:
                print('用户%s已经被锁定' %name)
                break
    
        if dic[name]['count'] > 2:
            print('尝试次数过多,锁定')
            with open('db.txt','a') as f:
                f.write('%s|' %name)
            break
    
        password=input('p>>: ')
    
        if password == dic[name]:
            print('登录成功')
            break
        else:
            print('用户名或密码错误')
            dic[name]['count']+=1