#!/usr/bin/python
#-*- coding:utf-8 –*-
'''
一 编程与编程语言
	python是一门编程语言，搞明白三点：
		1、编程目的？
			计算机的发展就是为解放人力，机器是死的，所以人必须找到一种能够被机器识别的表达式从而把自己的思想按照
			这个表达方式传递机器，完成机器可以自发的工作。

		2、什么编程语言？
			上面所说的表达方式指的就编程语言


			英语            Python

			单词            关键字（if while for and or）
			语法            语法
			作文            编程

		3、什么编程？
			按照某种编程语言的语法风格写程序，程序在未执前就是一对普通文件。


二 编程语言的分类：
	程序员（奴隶主）    计算机（奴隶）

	1、机器语言：站在奴隶角度说计算机能听懂的话，直接用二进制编程，直接操作硬件
		优点：执行效率快
		缺点：学习难度大，开发效率低

	2、汇编语言：站在奴隶角度说计算机能听懂的话，用一些英文标签来代替一串特定的意义的二进制，还是直接操作硬件
		优点：执行效率快，不如机器语言快
		缺点：学习难度大，开发效率低，比机器语言降一个难度


	3、高级语言：站在人的角度说人话，机器无法理解，所以需要翻译
			编译型（C）：相当于百度翻译，翻译一次，拿着该翻译的结果去执行。
				优点：执行效率高
				缺点：开发效率低
			解释型（Python）：相当于同声传译，一边解释一边执行。
				优点：开发效率高
				缺点：执行效率低


		执行效率：从高到低
		开发效率：从低到高
		学习难度：从难到易

		执行效率不是影响，开发效率才是王道


三 写程序的两种方式：
	交互式环境：
		即时调试

	文件的方式
		python3 C:\test.py


四 变量：
	什么是变量？
		变指的是“变化”，量指的反映某种状态

	如何定义变量？
		name='egon'
		password='egon123'


		password='egon@123'


		level=1
		level=2

		print='123'
		print('asdfasdf')

	变量名的命名规则？
		#1. 变量名只能是 字母、数字或下划线的任意组合
		#2. 变量名的第一个字符不能是数字
		#3. 关键字不能声明为变量名[

	定义的方式：
		驼峰式
			AgeOfOldboy=53

		下划线
			age_of_oldboy=53
			age_of_oldboy=54


五:常量
	AGE_OF_OLDBOY=54


六: 执行过程（重点！！！）
	python3 C:\test.py

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


七：引用计数+垃圾回收机制(了解)
	x='aaa' #'aaa'这个值的引用计数为1
	y=x #'aaa'这个值的引用计数为2

	x=1
	y=2

	z=3
	del z


八：产生一个变量的三要素(重点)
	name='egon'

	变量值：用来表示状态
		用变量名取变量值
		print(name)

	变量值的类型：表示不同的状态应该用不同类型的值去表示（数字：年龄，字符串：名字）
		print(type(name))
	变量值的id号：
		print(id(name))


	>>> name1='egon'
	>>> name1,type(name1),id(name1)
	('egon', <class 'str'>, 35494968)
	>>>
	>>>
	>>>
	>>> name2='egon'
	>>> name2,type(name2),id(name2)
	('egon', <class 'str'>, 35494968)



	>>> info1='info egon:18'
	>>> info2='info egon:18'
	>>> info1,type(info1),id(info1)
	('info egon:18', <class 'str'>, 35513136)
	>>> info2,type(info2),id(info2)
	('info egon:18', <class 'str'>, 35513200)



	>>> x=1
	>>> y=1
	>>>
	>>> id(x)
	1626261168
	>>> id(y)
	1626261168
	>>>
	>>> x=1234567890123
	>>> y=1234567890123
	>>> id(x)
	30057584
	>>> id(y)
	34827152



	判断值是否相等：==
	判断id是否相等：is

	>>> x=1234567890123
	>>> y=1234567890123
	>>> id(x)
	30057584
	>>> id(y)
	34827152
	>>>
	>>>
	>>> x is y
	False
	>>> x == y
	True


九：程序与用户交互
	user=input('先生您好，请输入账号：') #把用户输入的内容都存成字符串类型
	"""
	xxxxx
	yhyyyy
	zzz
	"""

































'''