走上软件开发之路已经三个年头。我本人是android原生开发出生。期间由于工作的需要以及开发的趋势发展,也走上混合开发的道路,现在主要运用ionic框架进行移动端app的开发。但是未来的互联网发展趋势还是大数据+人工智能。所以现在学习Python就很有必要。这里就不介绍Python语言的优劣了,想具体了解的小伙伴可以自行度娘吧。
好了,直接步入正题。
本博客主要记录自己接下来几个月的Python学习之路,能力有限,期间有什么表达不对的欢迎大家留言区批评指正!
Python版本:Python3.5+
开发工具:pycharm,下载地址:https://www.jetbrains.com/pycharm/
备选工具:anaconda,下载地址:https://www.anaconda.com/download/
anaconda里集成安装了很多python用到的包。很方便后期开发使用。当然对于初学者直接安装Python3.5+就行了。
pycharm是一款很好的python开发工具,网上很多破解的方法。请自行get。
一、开发我们的第一个python程序,"Hello World!"
在安装好python后,打开命令行窗口,输入Python回车,会看到如下信息,此时正式进入python环境。可以直接在此窗口输入代码执行Python程序。
此时输入:
print("Hello World!")
回车就会输出
Hello World!。
也可以在命令窗口执行硬盘里的.py文件。
我们打开Notepad,输入:print("Hello World!"),保存后缀名为.py的文件。
cd到当前.py文件目录。
执行命令即可运行.py文件。
这是命令窗口的简单操作。后面的学习我们主要在pycharm中进行。
二、创建我们的第一个python程序。
打开pycharm,创建第一个python程序。File--New Project
- 变量
这里就不说变量的命名规范,只需要指出:
python创建变量不需要指定类型。例如我们创建一个python变量只需:
name="dingshuangdian"
age=18
print("My name is",name,"My age is",age)
print连续输出多个字符串之间用","隔开。
- 用户输入(input)
name=input("name:")age=input("age:")job=input("job:")salary=input("salary:")
格式化拼接输出:
1、第一种方式
info=‘‘‘--------------- info of %s ---------------Name:%sAge:%sJob:%sSalary:%s‘‘‘%(name,name,age,job,salary)print(info)
这里注意,%(name,name,age,job,salary)必须与定义的格式一一对应,
%s表示String类型。如果Age定义为%d,则表示Age只能接受整型。
此时,age=input("age:")(默认输入为字符串,可通过print(type())显示变量类型)需要先转换为整型。
即:age=int(input("age:"))
2、第二种方式
info2=‘‘‘--------------- info of {_name} ---------------Name:{_name}Age:{_age}Job:{_job}Salary:{_salary}‘‘‘.format(_name=name,_age=age,_job=job,_salary=salary)print(info2) 3、第三种方式
info3=‘‘‘--------------- info of {0} ---------------Name:{0}Age:{1}Job:{2}Salary:{3}‘‘‘.format(name,age,job,salary)print(info3)
这三种格式化输出效果是一样的,这里建议使用第二种。
input密码密文输入方式:导入官方的包getpass
import getpass
password=getpass.getpass("password:")
保存为.py文件,使用命令运行,可以看到输入为隐藏状态。
- if else 流程判断
例:我们先定义一个变量,通过用户输入不同的数值执行不同的输出语句。
apple=25guess_apple=int(input("apple:")) if guess_apple==apple: print("恭喜,你猜中了!")elif guess_apple>apple: print("没那么多呢,往小点猜~") else: print("快接近了,再往上猜~") 这就是一个简单 if else 判断语句了。需要指出的是,python不同于java,js等其他语言不需要中括号把执行语句包括在内。python执行严格的缩进。相同的缩进属于同级代码。这点一定要注意。 接下来我们改造一下代码,让用户猜3次,如果猜不中则退出程序。 1、while循环。
apple=25count=0 #定义一个计数变量while count<3: #while条件判断,当count<3执行条件语句 guess_apple=int(input("apple:")) if guess_apple==apple: print("恭喜,你猜中了!") break; #如果猜中,跳出循环。 elif guess_apple>apple: print("没那么多呢,往小点猜~") else: if count<2: print("快接近了,再往上猜~") count+=1 #每次执行完条件count加1 else: print("您已经猜错三次,游戏结束!") 我们再来改造一下,如果用户连续猜错三次,不是让程序退出,而是询问用户是否继续猜。
apple=25count=1 #定义一个计数变量while count<=3: #while条件判断,当count<3执行条件语句 guess_apple=int(input("apple:")) if guess_apple==apple: print("恭喜,你猜中了!") break; #如果猜中,跳出循环。 elif guess_apple>apple: print("没那么多呢,往小点猜~") else: print("快接近了,再往上猜~") count+=1 #每次执行完条件count加1 if count>3: y_n=input("您已经猜错三次,是否继续?") if y_n!="y": print("游戏结束!") else: count=1#初始化计数变量
2、for循环。
apple=25for i in range(3): guess_apple=int(input("apple:")) if guess_apple==apple: print("恭喜,你猜中了!") break; #如果猜中,跳出循环。 elif guess_apple>apple: print("没那么多呢,往小点猜~") else: print("快接近了,再往上猜~") 输出双数:
for i in range(0,10,2): print("loop",i) range第三个参数表示隔几个输出。更多了解请参考官方文档。
本周python入门课程知识点就到这里。下面是自己写的几道练习题,各位可以参考。 练习1:编写登陆接口
- 输入用户名密码
- 认证成功后显示欢迎信息
- 输错密码三次后锁定
import jsoncount=1userName=input("请输入用户名:") with open("user.txt") as f: userObject = json.load(f) for user in userObject: if userName == user["userName"]: userPassword = input("请输入密码:") while count <= 3: if userPassword == user["userPassword"]: print("登陆成功!") count=5 else: userPassword = input("密码错误,请重新输入:") count += 1 else: if count == 4: print("连续输入三次密码错误,账号已被锁定!") else: print("账号不存在!") user.txt自定义json内容
代码片段,主要练习判断语句的使用、本地文件的读取。这里把账号密码以json的形式存储到text本地文件里。只需要把输入的账号密码与文件的对比判断即可。
练习2:多级菜单
- 三级联动菜单
- 可依次选择进入各个子菜单
# Create by dingshuangdian #省市区三级联动练习 import jsonflagProvice=TrueflagCity=TrueflagArea=TruecountProvice=1countCity=1countArea=1proviceList=[]cityList=[]areaList=[]with open("province.txt",encoding=‘UTF-8‘) as f: areaMsg=json.load(f) for provice in areaMsg: proviceList.append(provice["region"]) print(proviceList) selectProvice=input("请选择省市:") while flagProvice: for sProvice in areaMsg: if selectProvice == sProvice["region"]: for city in sProvice["regionEntitys"]: cityList.append(city["region"]) print(cityList) selectCity=input("请选择城市:") while flagCity: for sCity in sProvice["regionEntitys"]: if selectCity==sCity["region"]: for selectArea in sCity["regionEntitys"]: areaList.append(selectArea["region"]) print(areaList) selectArea = input("请选择城区:") while flagArea: for sArea in areaList: if selectArea==sArea: print("您选择了:",selectProvice,selectCity,selectArea) flagArea=False break countArea+=1 if (countArea > len(areaList)): selectArea = input("城区输入有误,请重新输入:") countArea = 1 flagCity = False break countCity+=1 if (countCity > len(cityList)): selectCity = input("城市输入有误,请重新输入:") countCity = 1 flagProvice = False break countProvice+=1 if(countProvice>len(proviceList)): selectProvice = input("省份输入有误,请重新输入:") countProvice=1 这个练习对新手比较难主要知识点列表,字典,json数据的解析。可以复制运行参考。 附上:provice.txt省市区json文件下载地址:百度网盘:https://pan.baidu.com/s/1JtObu2A40QoXDwxJofIsQA 好了,这周的学习到这里就结束了,有什么不足的地方欢迎评论区指教!
原文地址:https://www.cnblogs.com/dingshuangdian/p/9106329.html