1)python的基础2和3的区别,以及

发布时间:2019-09-24 08:20:11编辑:auto阅读(1610)

    1、python2\python3的区别:python2\python3的区别:
    一、代码重复,python2代码重复功能复用,夹杂其他语言的部分,不规范
    python3进行整合,简洁优美
    编译型:一次性将全部代码编译成二进制,然后再运行。
    缺点:开发效率低,不能跨平台

    解释型:程序开始执行时,将代码一行一行解释成二进制,执行。
    缺点:开发效率低

    python有点:
    1、开发效率高,由第三方库直接调用,比如php接不可以了
    2、可移植性
    3、可扩展、可嵌入性高:加入c语言速度执行快

    python的种类:
    cpython:使用最广泛,先转换成c的字节码,到系统
    jpython:转换为java的字节码,到系统
    其他语言python:都是这样,转换为对应的字节码
    pypy:代码一次性全部转换成字节码,然后到系统

    二、python2使用的是ascii、不识别中文: python3使用的是utf-8字符
    三、python2有long int i 3没有
    四、python2中print可以不加()但是3要加()
    五、2的是raw_input等于3的input

    2、变量:变量:
    将程序中运算的结果充到内存,方便后续调动:
    不能数字开头,不能是python的关键字,数字字母下划线任意组成
    变量要具有克描述性
    变量不要使用中文
    变量不能过长
    a = 1
    b =2 .....
    都可以
    3、常量:常量:
    一直不变的量:π、×××号
    全部大写的变量是常量,放到文件最上面
    OPENT_WORK = 323423,这就是常量
    4、注释:注释:
    单行用#
    多行""" """或者''' '''

    5、基础数据类型:
    int 数字类型 计算。加减乘除等算法

    str:字符串 用引号引起来的就是字符串
    type(对象)是什么数据类型
    用处:储存简单的少量数据
    大范围用双引号,小范围用单引号
    多行可以使用三引号,比如商品列表,多换行
    可以加+字符串的拼接、和乘 str字符串数字类型

    布尔值、
    true和flase
    0为flase 其他的都为True
    6、input 输入:
    与用户交互,input出来的是字符串
    input(“描述信息”)

    7、格式化输出:
    %占位符 %s 字符串 %d 数字
    如果要是用%一定在加%转义%%
    如果要将字符串转换为数字可以使用int(变量)包裹一下,这里面的字符串必须全是数字

    name = input("name")
    age = input("age")
    job = input("job")
    hobby = input("hobby")

    meg="""------------ info of %s -----------
    Name : %s
    Age : %d
    job : %s
    Hobbie: %s
    ------------- end -----------------
    """%(name,name,int(age),job,hobby)
    print(meg)

    8、if语句:

    if 条件:
    结果
    这里是一个tab键的举例或者四个空格在结果这里
    两个等于是比较==、一个=是赋值

    if 条件:
    满足条件执行代码
    elif 条件:
    上面的条件不满足就走这个
    elif 条件:
    上面的条件不满足就走这个
    elif 条件:
    上面的条件不满足就走这个
    else:
    上面所有的条件不满足就走这段

    9、while
    a = 1
    flag = True
    while flag:
    print(a)
    a = a+1
    if a ==5050:
    flag = False

    注意:这里的flag是用于两个循环当中跳出停止
    break:跳出和他同列的循环
    continue:结束本次的循环,但是还会执行

    总结:一个题目进行整合测试:

    name = "lxf"
    password = 123456
    count = 0
    Y = 'yes'
    N = "no"
    while count <3:
    user = input("请输入名字:")
    mima = int(input("请输入密码:"))
    if user==name and mima==password:
    print("密码输入正确,进入登陆界面")
    break
    else:
    print("输入错误:再输入一次")
    count +=1
    if count ==3:
    con = input("是否在需要三次机会:请输入yes/no:")
    if con == Y:
    count =0
    elif con == N:
    print("等待下次重新登陆在试吧!!!")
    break

     练习题:
    
     #联系题一

    a = [1,2,3,4,5,6,7,8,9,10]
    for i in a:
    if i ==7:continue
    print(i)

    #联系题二、
    a = 1
    b = 0
    while a <=100:
    b = b + a
    print(b)
    a +=1

    #联系题三、
    a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] #....一直到100太多了写不了了
    for i in a:
    if i % 2 ==1:
    print(i)

    #联系题四:
    a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]#。。。。写不了了太多了
    for i in a:
    if i % 2 ==0:
    print(i)

    #联系题五、
    num = 0
    for i in range(100):
    if i % 2 ==0:
    num = num - i
    else:
    num = num + i
    print(num)

    10、逻辑运算符:
    and or not

    ()》not 》 and 》 or
    优先级
    1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
    1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

    11、编码:
    电信号01010101010101010
    电脑:
    a'siic码128
    7位标识一个字节
    升级到8位一个字节256 2的8次方
    00000001 ===一个字符
    万国码啊: unicode包括所有国家
    16字节表示一个字符
    00000001 00000001 ==一个字符 2的16次方

    改变:4个字节表一个字符就是三十二次方
    11111111 11111111 11111111 11111111 表示一个字节 2的32次方
    资源浪费:

    升级utf-8:最少用8位:
    英文8位一个字节,00000001
    欧洲16位两个字节,00000001 00000001
    亚洲24位三个字节,00000001 00000001 00000001

    单位的转换:
    8bit ==1bytes
    1024bytes ==1kb
    1024kb ==1mb
    1024mb == 1G

    utf-16 最少16位一个字符

    基础数据类型:
    dict字典
    dict:{'name':'xxx','age':13}
    print (dict['name'])
    可以打印出xxx
    键值可以是数字和字符串,列表等

关键字