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("中国")

结果:

你好中国

 

原文地址:https://www.cnblogs.com/sticker0726/p/7694090.html