今天开始学习Python,以后会将自己的学习内容以及学习心得进行记录,以博客的形式和广大志同道合的朋友分享,如有错误还请大家能够批评指正,如果能帮到大家那就再好不过了。
今天的内容有些长,而且很简单,纯属是为了给自己回顾而写,加深印象,所以不接受吐槽。
在进入正式的python学习之前,你要知道的是python是一门动态解释型的强类型定义语言。
我们先来了解一下动态语言和静态语言的区别。动态类型语言是在运行时确定数据类型的语言,即永远不需要给任何变量指定数据类型。静态类型语言是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。
解释型指的是 不需要编译,在运行的时候将代码翻译成机器语言。打个比方,就是你在看一本外国小说的时候,编译型语言是直接让别人翻译好给你读;而解释型语言就是你边读,他边给你翻译,等你想要回过头再去看看前面章节的时候,他还需要给你重新翻译。所以相对来说,速度相比于编译型要慢那么一丢丢。
强类型定义语言是指强制数据类型定义的语言,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么久永远都是这个数据类型了。换句话说,强类型定义语言是类型安全的语言。
首先,需要安装IDE,大家都知道学python应该用pycharm来编写python的代码,好处多多,在此我就不进行赘述。
如果是一名学生,就不用花钱购买了,可以用教育邮箱,即[email protected]这种形式的邮箱,来免费申请使用pycharm,具体申请方法大家自行百度。
需要说明的是,如果邮箱中被回复到的是已经提交申请,但是好几个小时均没有收到验证成功的提醒,请不要傻傻等待,直接去Jetbrain网站用你的注册登录即可。
我使用的是python 3.x的版本,建议大家都使用最新版的python,以后2.x版本要被淘汰。
装好以后,我们就可以写自己的第一个python小程序了,那就是Hello,world。毕竟仪式感还是要有滴嘛
print(‘Hello,world‘)
把一个变量赋给另一个变量,当前变量的值做修改,另一个变量的值会随着改变吗? 不妨看一下下面的代码
name = "Alex Li" print("The name is",name) name2 = name; print("The names are",name,name2) name = "Yang yang" print("The names are",name,name2)
输出结果为:
The name is Alex Li The names are Alex Li Alex Li The names are Yang yang Alex Li
可以看到name的改变并不会影响到name2,name2的值仍然为第一次name赋给他的值。
接着写一个交互式的格式化输出的代码,体会格式化输出的几种方法。代码功能是打印一个人的身份信息。
name = input("name:") age = input("age:") job = input("job:") salary = input("salary:")
1. 使用字符串拼接的方式进行格式化输出:可以看到,使用这种方法非常不直观,在进行实际代码编写的时候不到万不得已,非常不建议使用这种方法。
info1 = ‘‘‘ info of ‘‘‘ + name + ‘‘‘ Name:‘‘‘ + name + ‘‘‘ Age:‘‘‘ + age + ‘‘‘ Job:‘‘‘ + job + ‘‘‘ Salary:‘‘‘ + salary print(info1)
看一下输出结果:
name:yangyang age:18 job:student salary:2000 --------info of yangyang ------- Name:yangyang Age:18 Job:student Salary:2000
2.使用.format 进行打印输出,这种方式是最规范的,也是我们需要熟练掌握使用的,一般在实际情况均使用这种方法。
info2 = ‘‘‘ --------info of {_Name} -------#.format的方式做格式化输出 Name:{_Name} Age:{_Age} Job:{_Job} Salary:{_Salary}‘‘‘.format( _Name = name, _Age = age, _Job = job, _Salary = salary) print(info3)
3.使用.format的方式,变量与数字进行对应打印输出。可以看到这种方式很不直观,不方便阅读。
info3 = ‘‘‘ --------info of {0} ------- Name:{0} Age:{1} Job:{2} Salary:{3}‘‘‘.format(name,age,job,salary) print(info3)
4.使用%s的方式对应变量打印
info4 = ‘‘‘ --------info of %s ------- Name:%s Age:%s Job:%s Salary:%s‘‘‘ %(name,name,age,job,salary) print(info4)
总之,第二种方法是最好的格式化打印方式。
接下来,写一个交互式的登录判断的功能,具体要求是输入的用户名和密码正确则显示登录成功,否则显示登录失败。来重温上面格式化输出的方法。
username = input("What‘s your username...?") password = input("Please input your password") user_name = ‘yangyang‘ pass_word = ‘123456‘ if username == user_name and password == pass_word: print("Welcome user {name} log in...".format(name = user_name))#这里用username或user_name均可 else: print("Wrong username or password")
接下来写一个猜数字大小的小游戏,具体玩法是每回有3次猜测的机会,如果3次都没猜对,则系统自动询问是否还有继续,如果按下“no”,则退出,否则按任意键继续。
yang_age = 20 count = 0; while count<3: guess = int(input("Guess his age:")) if guess == yang_age: print("Congratulations!") break # break的话本次循环结束 elif guess>yang_age: print("Think smaller") else: print("Think bigger") count = count+1 #count+=1 if count==3: userwill = input("Do you want to keep guessing...?If you don‘t want to go on,please input no,otherwise you can input any other else") if userwill != "no": count = 0
运行结果如下:
Guess his age:0 Think bigger Guess his age:50 Think smaller Guess his age:18 Think bigger Do you want to keep guessing...?If you don‘t want to go on,please input no,otherwise you can input any other else20 Guess his age:20 Congratulations!
可以看到这个程序主要是为了学习break的使用方法,break的功能是跳出循环。另外也可以使用for循环记性编写,如下:此时的功能有一点点不一样的地方,那就是超过3次猜错直接不允许玩了。for...else.。另外也有while...else的使用组合
yang = 56 for i in range(3): guess = int(input("Guess his age:")) if guess == yang: print("Congratulations!") break elif guess>yang: print("Think smaller") else: print("Think bigger") else: print("You have tried many times,fuck off")
本周的学习内容就是这么多,下周同一时间不见不散
原文地址:https://www.cnblogs.com/yy-1/p/9738840.html