前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python学习总结__Day1

Python学习总结__Day1

作者头像
py3study
发布2020-01-16 16:17:10
4070
发布2020-01-16 16:17:10
举报
文章被收录于专栏:python3python3

一、Python是一门什么类型语言

1、解释型:一边编译一边执行,劣势是运行速度慢,但通过运用PyPy交互解释器(JIT技术)会让python程序执行速度快很多。优势是可移植性强。

2、强类型:即类型安全类型。除非通过强制转换,否则变量类型将不会发生变化。

3、动态类型:变量类型取决于赋的值,不需要提前定义变量数据类型

二、Python的优缺点

忧:

1、可移植性强,如果没有用到与操作系统联系很强的第三方库,可以在不同的操作系统上无缝衔接运行,不需要改任何代码

2、有丰富的第三方库,功能及其丰富

3、代码强制缩进导致结构清晰,可读性强

缺:

1、运行速度慢

2、由于它是脚本语言,执行时不可加密源码。(PS:需要保密部分可用C或者C++写)

3、线程不能用多个cpu,即多核无效

三、Python2.x和Python3.x的区别

1、Python3默认采用utf-8编码格式,可以识别汉字

2、Python3的语法有一些优化:例1:input的变化

四、Python基础语法

1、变量:变量指向问题:name=name2,其中name并不是指向name2再指向内存而是直接指向name2所对应的内存,故当改变name2时,name不发生变化

2、input、print

3、字符串拼接:+号、占位符、format(命名参数加变量赋值、数字参数加顺序变量赋值)

4、while循环-else

5、for循环-else

6、if-elif-else

7、强类型转换(PS:input默认结果是字符串)

8、linux中软链接问题,将原来的python rm掉,通过ln -ls 实现新的软连接。

五、应用

1、文件操作之简单的登录

代码语言:javascript
复制
#Author:Barry
while True:
    user = input("请输入用户名:")
    f_User = open(r'E:\PythonProject\s14\day1\User.txt')
    # for i in range(3):
    #     print(f.readline())
    #     print(type(f.readline()))
    lines = f_User.readlines()#返回值为一个列表
    count1 = 0
    for i in lines:
        element = i.strip('\n').split(',')
        if user == element[1]:
            count1 = 1
            break
    if count1 == 1:
        print("该用户存在")
        break
    else:
        print("该用户不存在,请重新输入。。")
    f_User.close()
count3 = 0
for i in range(4):
    pwd = input("请输入密码:")
    f_lockedUser = open(r'E:\PythonProject\s14\day1\lockedUser.txt','r+')
    lines_locked = f_lockedUser.readlines()
    count2 = 0
    for j in lines_locked:
        if user == j.strip('\n'):
            count2 = 1
            break
    if count2 == 1:
        print("该用户已锁定!")
        break
    elif pwd == element[2]:
        print("Welcome " + user)
        break
    else:
        print("密码错误,请重新输入密码。。")
        count3 += 1
        if count3 == 3:
            f_lockedUser.write(user + '\n')
    f_lockedUser.close()

2、三级菜单

代码语言:javascript
复制
data = {
    '北京':{
        "昌平":{
            "沙河":["oldboy","test"],
            "天通苑":["链家地产","我爱我家"]
        },
        "朝阳":{
            "望京":["奔驰","陌陌"],
            "国贸":{"CICC","HP"},
            "东直门":{"Advent","飞信"},
        },
        "海淀":{},
    },
    '山东':{
        "德州":{},
        "青岛":{},
        "济南":{}
    },
    '广东':{
        "东莞":{},
        "常熟":{},
        "佛山":{},
    },
}
exit_flag = False

while not exit_flag:
    for i in data:
        print(i)
    choice = input("选择进入1>>:")
    if choice in data:
        while not exit_flag:
            for i2 in data[choice]:
                print("\t",i2)
            choice2 = input("选择进入2>>:")
            if choice2 in data[choice]:
                while not exit_flag:
                    for i3 in data[choice][choice2]:
                        print("\t\t", i3)
                    choice3 = input("选择进入3>>:")
                    if choice3 in data[choice][choice2]:
                        for i4 in data[choice][choice2][choice3]:
                            print("\t\t",i4)
                        choice4 = input("最后一层,按b返回>>:")
                        if choice4 == "b":
                            pass
                        elif choice4 == "q":
                            exit_flag = True
                    if choice3 == "b":
                        break
                    elif choice3 == "q":
                        exit_flag = True
            if choice2 == "b":
                break
            elif choice2 == "q":
                exit_flag = True
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档