Python学习总结__Day1

2023-01-31 00:01:35 python 学习

一、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、文件操作之简单的登录

#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、三级菜单

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

 

相关文章