执行过程:
   例:python3 C:\test.py
1.先启动python3.exe
2.把C:\test.py从硬盘读入内存
3.解释执行文件内容(识别python语法)

引用计数+垃圾回收机制(每个值都会占用一个内存空间)
 x='qqq' 'qqq'这个值的引用计数为1
 y=x     'qqq'这个值的引用计数为2

 del x 取消绑定,x!='qqq'

变量的三要素:
1.变量值:用来表示状态(用变量名取到变量值)
  print(x)
2.变量值的类型:表示不同状态的变量值
  print(type(x))
3.变量值的id:
  print(id(x))

组合:print(x,type(x),id(x))

状态:
数字类型:
1.整型:int 
 x=10 等于 x=int(10)

2.浮点型:float
 x=20.22 等于 x=float(20.22)

字符串:str 在引号(单引,双引,三引)里定义的一堆字符
 deng='male'等于 deng=str('male')
 info="i'm luoxiaoxu"
 keke='''
 haha
 jiji
 gggg
 '''

字符只能和字符之前进行+或者*
 info1='nihao'
 info2='hello'
 info3=info1+info2

 print(info3) 
 nihaohello
 
 print('nihao'*7)
 nihaonihaonihaonihaonihaonihaonihao

列表:list 在[]内,用逗号分隔开,存放多个任意类型的元素,从0开始计数
 x=[1,'a',[1,2]] 等于 x=list[1,'a',[1,2]] 
 print(x[2][0])
  1

可变类型:在id不变的情况下,value可以变,则为可变类型,如:列表类型,字典类型
不可变类型:value一旦改变,id也会改变,则为不可变类型(id变意味着创建了新的内存空间)如:int,float,str,布尔
 
字典类型:dict  存放多个值,定义在花括号内,用括号分隔key:value ,value可以是任意类型,但是key必须是不可变类型。


 info={ 
      'name':'dachui',
      'age':'18',
      'scx':'male',
      'company':['dayuan','zhonghua',40]
}

   print(info['company'][2])
     40

 info={ 
      'name':'dachui',
      'age':'18',
      'scx':'male',
      'company':['name':'dayuan','type':'zhonghua','emppy':40]
}

   print(info['company']['emppy'])
     40

布尔类型:True,False 用做逻辑运算进行判断
  

id不一样,不代表值不相等,值一样,不代表id会一样


交互模式:
 input() 把用户输入的内容都存为字符串类型
 例:name=input(你好,请输入账户名:)
 
注释符:
 1.#
 2.'''  '''
 3."""  """


格式化输出:
 name=input('name is:')
 age=input('age is:')

 %s字符串类型,但能接收数字
 %d数字类型,只能接收数字类型 
 print('my name is <<%s>> my  age is [%s] ' %(name,age))
 print('my age is %d' %23)

例:
listname=input('list>>:')
name=input('name>>:')
age=input('age>>:')
sex=input('sex>>:')
job=input('job>>:')

msg='''
---------------info of %s-------------------
name  :%s
age   :%s
sex   :%s
job   :%s
----------------end-------------------------
''' %(listname,name,age,sex,job)

print(msg)


算术:
+(加),-(减),*(乘),/(除,有余),//(除,取整),%(取余),**(平方)
例:
print(10%3)
print(10//3)

比较:
<(小于),>(大于),==(等于),!=(不等于),<>(不等于),>=(大于等于),<=(小于等于)

赋值:
a=1
b=1

链式赋值:
a=b=1(同上)

交叉赋值:
n=1
m=2

原始:
t=m
m=n
n=t

交叉:
m,n=m,n(同上)

解压:
f=[1,2,3,4]

原始:
a=f[0]
b=f[1]
c=f[2]
d=f[3]

解压:
a,b,c,d=f(同上)

不要中间的值:
a,_,_,b=f
a,*_,b=f()

"_"为一个不使用的值
"*_"为n个不使用的值

赋值运算:
le=1
le+1=1 等于 le=le+1 (适合所有运算符)

逻辑:
and(与),or(或),not(非,只实现紧跟它后的判断)
print(not 3 > 4 )

判断值是否相等:"=="
判断id时否相等:"is"

if格式:
if 判断语句 : 
   执行语句
else:
   执行语句

多if:
if 判断语句 : 
   if 判断语句 : 
        执行语句
   else:
        执行语句
else:
   执行语句

例:
input('score>>')
if score.isdigit():  #isdigit()判断变量是否为纯数字
   score=int(score)  #int只能转换整型类型
elif score>=90 :
   print('优秀')
elif score>=80 :
    print('良好')
elif score>=60 :
    print('合格')    
else:
    print('不合格')      



条件循环:
while 条件:
     语法1
     语法2


break 中断循环
continue 中断本次循环,不执行它以下代码


嵌套循环:
count = 1
ta=Ture
while ta:
  if count > 3:
	  break
  name=input('name>>:')
  password=input('password>>:')
  if name == 'luo' and password == '123456':
      print('login succesfull')
      while ta:
         cmd=input('luo#')
         if cmd == 'q':
            tag=False
            contiue
         print('run %s' %cmd)
   else:
       print('user ro password err')
       count+=1

  
while+else连用:
con=0
while con <= 6:
    print(con)
    con+=1
else:
   print('o.o')
如果中途没有被break中断,才能执行else的命令。