一、Python介绍
python是一门动态解释性的强类型定义语言
优点:
- 简单易懂,入门容易,将来深入下去,可以编写那些非常非常复杂的程序。
- 开发效率非常高。
- 高级语言
- 可移植性
- 可扩展性
- 可嵌入性
缺点:
- 速度慢
- 代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的
- 线程不能利用多CPU问题
二、Python解释器
CPython、IPython、PyPy、IronPython和Jython等,其中CPython是使用最广的Python解释器
三、变量\字符编码
变量定义的规则:
- 变量名只能是字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名
- ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
示例:
# Author:daemon chai
# -*- coding:utf-8 -*-
name="中国"
print(name)
四、字符编码
- 主要了解ASCII,Unicode,utf-8,gbk;
- 在Python2.xx版本中,默认运行的是ASCII编码,Python3中是Unicode;
- 在Unicode编码中一个英文字符用一字节表示,中文字符用3个字节表示,ASCII不能表示中文;
- ASCII,Unicode,utf-8,gbk相互之间的转换可以通过encode和decode实现。
五、注释
- 当前行注视:# 被注释内容
- 多行注释:""" 被注释内容 """
六、用户输入和变量表示
用户输入:a=input(“提示信息”)
变量输出:print(a)
示例1:
# Author:czk
# -*- coding:utf-8 -*-
name=input("username:")
age=int(input("Age:"))
print(type(age),type(str(age)))
job=input("Job:")
salary=input("salary:")
示例2
format格式化输出代码如下:
info='''
------- info of {_name} -------
Name:{_name}
Age:{_age}
Job:{_job}
salary:{_salary}
'''.format(_name=name,_age=age,_job=job,_salary=salary)
print(info)
info2='''
------- info of {0} -------
Name:{0}
Age:{1}
Job:{2}
salary:{3}
'''.format(name,age,job,salary)
print(info2)
示例3
info3='''
------- info of %s -------
Name:%s
Age:%d
Job:%s
salary:%s
''' %(name,name,age,job,salary)
print(info3)
六、实操
表达式和判断语句运用的三级菜单作业代码如下:
# Author:daemon chai
date={
"中国":{
"湖北":{
"武汉":{"黄鹤楼","司门口"},
"神农架": {"野人1","野人2"},
"黄石": {"黄石人民热情","黄石人民好客"},
},
"广东":{
"惠州":{"十里银滩","西湖"},
"东莞": {"莞式服务","去东莞打工"},
"广州": {"越秀广场","珠江夜游"},
},
"湖南":{
"长沙":{"湖南卫视","天天向上"},
"张家界": {"天门山","溶洞"},
"凤凰古镇": {"湘西风情","旅游景点"},
},
},
"美洲":{
"美国":{
"纽约":{"华尔街","司门口"},
"洛杉矶": {"洛杉矶大道","华人街"},
"拉斯维加斯": {"赌城","赌城2"},
},
"巴西":{
"足球": {"内马尔", "罗纳尔多"},
"桑巴舞": {"长长的沙滩", "美女"},
"黑帮": {"首都黑帮", "边境黑帮"},
},
"墨西哥":{
"足球111": {"没有听说", "罗纳尔多不是的"},
"桑巴舞222": {"长长的沙滩", "美女有吗"},
"黑帮333": {"首都黑帮11", "边境黑帮222"},
},
},
"欧洲":{
"英国": {
"足球": {"3454", "34332"},
"伦敦": {"伦敦号", "123"},
"黑帮333": {"首都黑帮11", "边境黑帮222"},
},
"法国": {
"纽约":{"华尔街","司门口"},
"洛杉矶": {"洛杉矶大道","华人街"},
"拉斯维加斯": {"赌城","赌城2"},
},
"德国": {
"德国城市1":{"德国城市1描述","德国城市1描述002"},
"德国城市2": {"德国城市2描述","德国城市2描述"},
"德国城市3": {"德国城市3描述","德国城市3描述"},
},
},
}
nul_flag =not False
while nul_flag :
for i in date :
print(i)
choice1=input("请选择一级城市")
if choice1 in date:
while nul_flag:
for i in date[choice1] :
print(i)
choice2=input("请选择二级城市")
if choice2 in date[choice1] :
while nul_flag :
for i in date[choice1][choice2]:
print(i)
choice3=input("请输入三级城市")
if choice3 in date[choice1][choice2] :
while nul_flag:
for i in date[choice1][choice2][choice3]:
print(i)
choice4=input("最后一层,请选择返回或者退出")
if choice4 =='b' :
break
elif choice4 =='q':
nul_flag=False
else:
print("输入有误,请重新输入")
elif choice3 =='q':
nul_flag= False
elif choice3=='b':
break
else:
print("输入有误,请重新输入")
elif choice2 =='q':
nul_flag=False
elif choice2=='b':
break
else:
print("输入有误,请重新输入")
elif choice1 =='q' :
nul_flag = False
elif choice1 =='b':
print("已经是最上级菜单,请按q退出")
else:
print("请重新输入")