学习周记——第一周

Python学习  第一周

 

Python是怎样一门语言?

Python是一种面向对象的解释性的计算机程序设计语言,是一种动态解释性的强类型定义语言。

Python解释器

编写代码时,我们会得到一个以.py为扩展名的文件,要运行代码,就需要Python 解释器去执行.py文件。整个Python语言从规范到解释器都是开源的。

  • CPython :官方的解释器。是用C语言开发的。
  • IPython :IPython在交互方式上有所加强。
  • PyPy:采用JIT技术,为Python代码进行动态编译,可显著提高Python代码执行速度。
  • Jython:运行在Java平台上的Python解释器,可直接把Python代码编译成Java字节码执行。
  • IronPython和Jython类似,只不过IronPython是运行在微软Net平台上的Python解释器,可直接将Python代码编译成Net字节码。

Python发展史

  • 1989年,Guido 开始写Python解释器。
  • 1991年,第一个Python解释器诞生,它是用C语言实现的,并能够调用C语言的库文件。
  • 1999年,才有了第一个Web框架——Zope
  • 2004年,Django诞生

Python在一些知名公司的应用

  • 谷歌:Google APP Engine、code.google.com、Google earth、谷歌爬虫、Google广告等项目都在大量使用Python开发。
  • CIA:美国中情局网站用Python开发
  • NASA:美国航天局大量使用Python进行数据分析与运算
  • YouTube:世界上最大的视频网站YouTube就是用Python开发的
  • Dropbox:美国最大的云存储网站,全部Python实现
  • Instagram:美国最大的图片分享社交网站,全部用Python开发
  • Facebook:大量的基础库均通过Python实现的
  • RedHat:世界上最流行的Linux发行版本中的yum包管理工具就是用Python开发的

除上面之外,还有豆瓣、知乎、春雨医生等都在使用Python完成各种各样的业务。

Python擅长的领域

  • WEB开发:
  • 网络编程:
  • 科学运算:
  • GUI图形开发:
  • 运维自动化:

Python与运维

… …

目前Python的主要应用领域

  • 云计算:典型应用OpenStack
  • WEB开发:众多优秀的WEB框架,众多大型网站均为WEB开发
  • 科学计算、人工智能:典型库SaPy、NumPy等
  • 系统运维:
  • 金融:
  • 图形GUI:

Python的优缺点

优点:

  • 定位:“优雅”、“明确”、“简单”

  • 开发效率高,拥有非常强大的第三方库

  • 高级语言

  • 可移植性

  • 可扩展性

  • 可嵌入性

缺点:

  • 速度慢
  • 代码不能加密
  • 线程不能利用多CPU、GIL

拓展:

编译型和解释型语言

动态语言和静态语言

强类型定义语言和弱类型定义语言

正文:

  • 字符编码

 ‘’主观’’发展史

  • 变量

命名/使用

  • 注释

当行注释:#

多行注释:‘’‘ ’‘’

  • 用户输入输出

Input/print

  • 条件语句

If …else…

  • 循环语句

for/while

  • 变量

命名/使用

  • 注释

当行注释:#

多行注释:‘’‘ ’‘’

  • 用户输入输出

Input/print

  • 条件语句

If …else…

  • 循环语句

for/while

  • 作业:

编写登录接口

i 输入用户名密码

ii 认证成功后显示欢迎信息

iii 输错三次后锁定

流程图:

源程序:(待完善)

# Author:yin
# -*- coding:utf-8 -*-
S = True
while True:
    #用While循环判断输入的用户名是否被锁定,若锁定,则...;否则跳出循环,继续向下执行。
    while S:
        num_0 = 0
        num_1 = 0
        num_2 = 0
        # num_3 = 0
        username = input("username:")
        with open('locked.txt') as file_object:
            for line in file_object:
                line = line.strip()
                Str1 = line.split("~")
                if Str1[0] == username:
                    num_0 += 1
            if num_0 > 0:
                print("Your ID has been locked !")
                msg_y_n = input ("Do you want try by another ID ? y or n?:")
                if msg_y_n != "y":
                    exit()
            else:
                S = False
    pwd = input("password:")

    #判断账号密码是否正确
    filename = 'login.txt'
    with open(filename) as file_object:
        lines = file_object.readlines()
    for line in lines:
        line = line.strip()
        Str = line.split("~")
        if Str[0] == username and Str[1] == pwd:
            num_1 += 1
    if num_1 > 0:
        print("welcome: {_username}".format(_username=username))
        break
    #提示信息,错误三次锁定用户并将用户名存入'locked.txt'文件中
    else:
        print("invalid username or password")
        num_2 += 1
        if num_2 == 3:
            print("Your ID has been locked")
            filename_1 = 'locked.txt'
            with open(filename_1, 'a') as file_object:
                file_object.write(username + "\n")
                msg_y_n = input("Do you want try by another ID ? y or n?:")
                if msg_y_n != "y":
                    exit()
            S = True
        #待修改(被我舍弃的...想法很美好,但能力有限)
        '''
        print("invalid username or password")
        filename_1 = 'locked.txt'
        with open(filename_1, 'r+') as file_object:
            for line in file_object:
                line = line.strip()
                Str0 = line.split("~")
                if Str[0] == username:
                    num_3 += 1
                    num_2 = int(Str[1])
                    num_2 += 1
                    if num_2 == 3:
                        print("Your ID has been locked")
                    Str[1] = str[num_2]
                    file_object.write(Str[0] + "~" + Str[1] + '\n')

            if num_3 == 0:
                    file_object.write(username + "~" + '1'+'\n')
'''

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值