• Python基础1


    解释型和编译型的区别

    编译型:编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器可识别的二进制文件语言,以后执行这个程序的时候,就不用再进行翻译了,直接使用编译结果就可以了。

    优点:运行速度快。

    缺点:开发效率低,调试麻烦,不可以跨平台。

    解释型:在运行的时候将程序一行行的翻译成机器可识别的二进制语言。每执行一次程序就要逐行翻译翻译一次。

    优点:开发效率高,调试代码方便,并可以跨平台。

    缺点:运行速度慢

    Python先把代码编译成字节码,在对字节码解释执行。字节码在python虚拟机程序里对应的是PyCodeObject对象,pyc文件是字节码在磁盘上的表现形式。

    变量

    将中间程序运行结果存储下来,以便后边的程序随时调用。

    变量名命名的规则

    1.数字字母下划线的任意组合。

    2.数字不能放在变量名的开头。

    3.变量名中间不能有空格。

    4.不能是Python中的关键字。

    5.命名要有可描述性。python推荐两种变量名字体:1驼峰体:AgeOfOldBoy=56  2下划线:age_of_old_boy=56

    6.不要用汉语,拼音,太长的命名。

    注释

    #注释单行

    多行注释:'''背注释内容'''  ,"""被注释内容"""  

    数据类型

    字符串:(str):在Python中用一组引号括起来的都是字符串,input输入的内容也是字符串。注意他和tuple的区别字符串是用一组引号组成,而元组使用多组引号组成,并且中间用逗号(,)隔开。而元组是一个集合。

    字符串只有加和乘两种方法,字符串拼接时注意:遇到数字要把数字转化为字符串才能进行拼接。

    注意:input出来的数据类型都是字符串

    格式化输出的方式

     第一种方法:用%占位符

    username=input("please input your name:")
    age=int(input("plese input your age:"))
    job=input("please input your job:")
    hobbies=input("please input your hobbies:")
    msg="""
    --------info of %s-----
    Name:%s
    Age:%d
    Job:%s
    Hobbies:%s
    """%(username,username,age,job,hobbies)#这个%要紧跟引号(""")。%后边这个括号必须有。括号内的参数要和msg中的参数一个对应。
    print(msg)
    View Code

    %是占位符  %s表示字符串 %d表示数字(digit)

    占位符补充知识:

    mss="我叫%s,今年%d岁,我学习进度为10%%"%("zhangshouye",12)#10%后边需要再加一个%,如果没有就会报错。

    print(mss)

     1 name=input("请输入您的名字")
     2 age=int(input("请输入您的年龄"))
     3 job=input("请输入您的工作")
     4 hobbies=input("请输入您的爱好")
     5 msg="""
     6 --------info of %s----
     7 Name:%s
     8 Age:%d
     9 Job:%s
    10 Hobbies:%s
    11 -----------end------------
    12 """%(name,name,age,job,hobbies) 注意字符串完后才写%13 print(msg)
    View Code

    结果

     1 请输入您的名字小红
     2 请输入您的年龄23
     3 请输入您的工作IT
     4 请输入您的爱好男人
     5 
     6 --------info of 小红----
     7 Name:小红
     8 Age:23
     9 Job:IT
    10 Hobbies:男人
    11 -----------end------------
    View Code

    第二种方法:用函数str.format()来代替%,此函数可以快速处理字符串。注意用format在字符串中用{ }花括号

    运用位置参数:

    第一种含括号里不带数字

    msg="""
    -----info of {}
    name:{}
    age={}
    hobbies:{}""".format("alex","alex",13,"womon",)     #不要忘记format前边的英文句号(.),format括号里的参数要和msg里面的参数一一对应也是参数位置
    
    print(msg)

    结果:

    -----info of alex
    name:alex
    age=13
    hobbies:womon

    第二种花括号里带数字:可以重复使用,后边的按顺序排列,有重复的元素可以写一次。

    msg="""
    -----info of {0}----
    age={1}
    name:{0}
    hobbies:{2}""".format("alex",13,"womon")

    print(msg)

    结果:

    -----info of alex-----
    age=13
    name:alex
    hobbies:womon

    运用关键字:
    msg="""
    -----info of {Name}
    name:{Name}
    age={Age}
    hobbies:{Hobbies}""".format(Name="alex",Hobbies="womon",Age=13,)#括号里的参数位置不用一一对应,但是关键字要一一对应不包括重复的关键字)
    #format括号后跟的参数是有规定的:字符串中的参数要放在等号左边,如Name="alex",如果你这样"alex"= Name,就会报错,记住输入的内容赋给变量。

    print(msg)

     结果:

    -----info of alex
    name:alex
    age=13
    hobbies:womon

    整数:(int)integar

    布尔值:(bool)True 和False 注意首字母要大写

    if 

    下面这个是比较有意思的实例:

    username="zhangshouye"
    password=123456
    i=1
    k=1
    while i <4:
        name=input("请输入用户名:")
        psd=int(input("请输入密码:"))
        if name==username and psd==password:
            print("登陆成功")
            break
        elif k<6:
            if 3-i>0:
                print("密码或用户名错误,您还有%d次登陆机会"%(3-i))
            elif i==3:
                answer=input("您是否还想继续重新输入密码?yes or not")
                if answer=="yes":
                    i=0
                else:
                    break
            i+=1
        else:
           print("您已经没有了登陆次数")
    
           break
        k+=1

    while循环用法

    while结构:
    
      while 条件:
    
        结果
    
     
    
      while 条件:
    
        结果
    
      else:
    
        结果

    break

    break:立即跳出当前所在的循环体,不会继续顺序运行循环体其他程序,但是可以继续执行循环体外的程序。如果有两个循环体时,只会跳出第一个循环体

    范例:

    1 print("1111")
    2 while True:
    3     print(11)
    4     print("222")
    5     break
    6     print("333")
    7 print(444)

    结果:

    1111
    11
    222
    444

    continue

    continue:立即结束当次循环,继续下次循环。

    范例:不执行count=7

    count=0
    while count<10:
    count+=1
    if count==7:
    continue
    print("编号")
    print(count)

    结果:

    1
    2
    3
    4
    5
    6
    8
    9
    10

    continue 语句是一个删除的效果,他的存在是为了删除满足循环条件下的某些不需要的成分:

     注意遇到改变条件来结束循环体时,while会坚持运行完循环最后一句代码。看下边这个例子:

    flag=True
    while flag:
        print("A")
        print("B")
        print("C")
        flag=False
        print("D")

    结果为:

    A
    B
    C
    D

    是回车

    是换行,在linux中 表示换行在window中 表示换行

    除了表示回车外,还有一个默认在原位置进行输出

    下边是一个进度条的例子

    import time
    
    
    for i in range(22, 0, -1):
        print('现在是:
    %d' % i,end='') #end='' 默认为换行符
     ,修改为空不换行
        time.sleep(1) # 暂停1秒

    end=

    end 是print的一个参数,我们如果这样

    print('你好“)
    print('中国’)

    它会换行其实是print中的end=“ ”.

    如果我们修改一下就不会换行了

    print("你好",end='')
    print("中国")

    结果:

    你好中国

     

  • 相关阅读:
    [LeetCode] Range Sum Query
    [LeetCode] Additive Number
    [LeetCode] Number of Islands II
    [LeetCode] Range Sum Query 2D
    [LeetCode] Range Sum Query
    [LeetCode] Smallest Rectangle Enclosing Black Pixels
    [LeetCode] Longest Increasing Subsequence
    [LeetCode] Bulls and Cows
    [LeetCode] Binary Tree Longest Consecutive Sequence
    [LeetCode] Serialize and Deserialize Binary Tree
  • 原文地址:https://www.cnblogs.com/sticker0726/p/7694090.html
Copyright © 2020-2023  润新知