第一周的Python学习
2018-03-03 14:36
211 查看
关于Python
编程语言分为编译型语言和解释型语言,而Python是一种解释性语言。解释性语言不同于编译型语言的最大一方面在于编译型语言很难跨平台运行,而解释性语言可以很容易的实现跨平台运行。PS:如果说程序员爱上变成是因为兴趣,那么Python实际上已经勾起了我对变成最大的兴趣!正如‘人生苦短,我用Python!’
Python的优缺点
优点:正如许多大神所说,Python的设计哲学是优雅、明确、简单,这也是Python容易上手的原因。我的老大,把这一点可以说发挥得淋漓尽致,初学的时候,当我绞尽脑汁完成老大布置下来的任务,沉浸在成功运行了代码的喜悦中时,我的老大总是有更加出色,更加简单,更加快捷的方法敲出一行比我优雅简洁很多的代码。也许这就是Python是追求着最好的解决方法的完美诠释吧。缺点:Python的缺点其实在我看来不算缺点,我的老师给我们说了一句话:“好的语言从不看它的执行效率,而是看它的开发效率。”官方说法中Python的缺点之一是执行效率低,但是在我看来其实这种低,可以忽略吧。
第二个缺点是Python的代码无法加密。这种缺点就商业的角度,我想稍微比我更懂编程的人都知道这并不会成为一个难题。
还有一个不算缺点的缺点就是Python强大的第三方库,在你选择Python的时候,其实很多框架并不需要你自己去构建,在第三方库中有现成的框架可以供你使用,还是老大的那句话吧“有选择的地方,就有失误。”
变量
这是我学Python遇到的第一个关于编码的东西,也是正式开始学习编程的第一步。顺便插一句,在这里往下我会以边复习我第一周的知识加上我自己的理解来写下去。变量:变量就是在编程过程中最基本的存储单位,当你赋予变量一个值,它就会暂时性的存储这个值。例如:
num = 1
现在就是对num进行了赋值,赋值为1。
而变量的名字可以可以使你想要的任何名字。对了,在这里顺便说一句,变量的运行有三大规则哦!
一、数字不能开头。
二、多个单词连接要用下划线。例如你给变量起了个名字叫’hello world’,那么在变量里应该写成hello_world,如果有三个,则以此类推。
三、大小写敏感。比如’a’和’A’是两个不同的变量哦!在Python中,因为没有常量,所以大写一半用于表示常量,比如PI = 3.1415,看到这种值千万不能动哦!
变量的类型
变量的类型有以下几种:一、整数型,也就是数字的整数。在Python中对应函数为int。
二、浮点数型,也就是小数。在Python中对应函数为float。
三、字符串型,字符串用’ ‘或者” “括起来,可以表示括起来的任意文本。
四、布尔值型,布尔值主要有‘True’和‘False’这两种类型。
五、复数型,也就是数学中常见的3 + 5j,只是虚部的i换成了j。
Python中输出是用print()进行输出的。例如:
x = 1 y = 2 print(x + y) print(x - y) print(x * y) print(x / y) print(x // y) print(x % y) print(x ** y)
写完这里,顺便就说一下Python里的运算符。Python里的运算符包括(按优先级排列)
运算符 | 对应描述 |
---|---|
[] [:] | 下标,切片 |
** | 指数 |
~ + - | 按位取反, 正负号 |
*/ % // | 乘,除,模,整除 |
+- | 加,减 |
<< >> | 左移,右移 |
& | 按位与 |
^丨 | 位异或,按位或 |
<= < > >= | 小于等于,小于,大于,大于等于 |
== != | 等于,不等于 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
= += -= = /= %= //= *= &= ` | =^=>>=<<=` |
函数
在字符里我介绍了print()的用法,在Python中除了这个函数,其实还有很多函数,下列表格是一些常用的简单函数:函数 | 意义 |
---|---|
int( ) | 将一个数值转换成整数 |
float( ) | 讲一个数值转换成浮点数 |
chr( ) | 将一个整数转换成该ascll编码对应字符串 |
ord( ) | 将字符串或一个字符转换成对应编码 |
print( ) | 输出或者叫打印 |
input( ) | 输入 |
str( ) | 括号内用’ ‘或“ ”括起来,将括起来的对象转换成字符串 |
""" 输入圆的半径r,求圆的面积和周长 Version:0.1 Author:郑世杰 Date:2018-03-03 """ r = float(input('r =')) print('面积 =', 3.14 * r * r) print('周长 =', 6.28 * r)
""" 英寸和厘米的转换 Version:0.1 Author:郑世杰 Date:2018-03-03 """ inch = float(input('请输入英寸数:')) cm = 2.54 * inch print(str(inch) + '英寸=' + str(cm) + '厘米')
分支结构
在Python中,如果我们要让程序执行满足一定条件要干什么,满足另一条件程序要干什么,在上面所讲的其实是一种顺序结构,程序的语言会一条一条执行下来,但如果要实现满足一定条件的操作,就需要分支结构来满足了。分支结构的构造,我们需要用到”if” “elif” “else”这三个关键字。
分支结构的作用如下所示:
""" 账号密码验证 Version:0.1 Author:郑世杰 Date:2018-03-03 """ import getpass username = input('请输入账户名') password = getpass.getpass('请输入密码') if username == 'zsj' and password == '123': print('欢迎使用') else: print('账号密码错误')
循环结构
在Python中除了程序实现满足什么条件要干什么的分支结构中,还需要循环结构,也就是让程序执行如果布满足什么条件,它会干什么,知道满足条件为止;或者让程序执行某个条件多少次。for in 循环
如果知道程序要执行某个条件的确切次数,那么可以采用for in 循环来处理。例如:""" 从1累加到100 Version:0.1 Author:郑世杰 Date:2018-03-03 """ num = 0 for x in range(101): num += x print(num)
运行之后我们就可以看到从1加到100是多少啦!
PS:rang(101)是实现0到100的循环哦,也就是产生从0到100的整数序列,也就是说如果是rang(1,100),那就是产生,1到99的整数序列。如果要实现输出1,3,5,7,9这样的序列的话,那么就是rang(1,100,2),其中2是步长,这样就可以产生1到99之间所有奇数了。
while循环
如果我们不知道循环要执行多少次,那么就使用while循环,知道找到我们想要的答案为止。比如我们可以设计一个和电脑猜数字的游戏,在这里我们设定一个条件,最多只能猜7次,超过7次循环就停止,并且附加一个提示语句,提示猜大了过着猜小了(不过不附加这个条件,只要我们不猜中正确答案,我们就能和电脑一直猜下去)
""" 猜大小游戏 Version:0.1 Author:郑世杰 Date:2018-03-03 """ num = 1 from random import randint x = randint(1,100) y = int(input('请输入答案:')) if x == y: print('一次就答对啦!') while x != y : y = int(input('请继续输入答案:')) num += 1 if x < y: print('比答案大哦') elif x > y: print('比答案小哦') else: print('恭喜您答对了') if num > 7: print('您的智商捉急!')
除了这些基本的用法外,我们还可以让循环与循环之间镶嵌,例如做一个九九乘法表:
""" 九九乘法表 Version:0.1 Author:郑世杰 Date:2018-03-03 """ for i in range(1, 10): for j in range(1, i + 1): print('%d*%d=%d' % (i, j, i * j), end='\t') print()
除此之外,我们还可以利用循环的镶嵌排列出简单的图形,例如:
""" 用'*'号画一个三角形 Version:0.1 Author:郑世杰 Date:2018-03-03 """ for row in range(1,6): for num in range(1,6): if num < 6 - row: print(' ',end='') else: print('*',end = '') print()
或者是利用chr( )的转换加镶嵌排列出以下图形:
""" 简单的字母排列 Version:0.1 Aauthor:郑世杰 Date:2018-03-03 """ for row in range(65,70): for col in range(65,row + 1): print(chr(row),end='') print() 输出结果: A BB CCC DDDD EEEEE
如何做到这种排列的呢?其实print( )的末尾,是自动跟了一个换行的命令,如果换成print( ,end = ’ \n ‘)是一样的,\n就是一个换行命令,而像九九乘法表里的’\t’则是将换行的命令换成了一个缩进,再比如’end = ” ‘就是将换行替换成了空命令符。大家可以看一下如下代码的输出结果就一目了然了。
for x in range(1,10): print(x) print(x,end = '\n') print(x,end = '\t') print(x,end = '') print(x,end = ' ')
如果要总结一周的学习经验,那么我们可以通过写一个叫Craps赌博游戏的代码:
""" Craps赌博游戏 Version:0.1 Author:郑世杰 Date:2018-03-03 """ from random import randint face1 = randint(1,6) face2 = randint(1,6) first_point = face1 + face2 print('玩家摇出了%d点' % first_point) go_on = False if first_point == 7 or first_point == 11: print('玩家胜') elif first_point == 2 or first_point == 3 or first_point == 12: print('庄家胜') else: go_on = True while go_on: face1 = randint(1, 6) face2 = randint(1, 6) current_point = face1 + face2 print('玩家摇出了%d点' % current_point) if current_point == 7: print('庄家胜') break elif current_point == first_point: print('玩家胜') break
相关文章推荐
- Python学习第一周-添加库
- Python学习第五天——第一周总结
- Python第一周学习总结
- Python学习第一周第一次作业——浏览Python主页和确立目标
- python学习第一周--需求分析
- Python第一周 学习笔记(2)
- Python学习第一周第二次作业——简单程序编写
- 【第一周】浏览Python网站&学习目标
- python初接触之第一周学习小结
- java and python学习——第一周leetcode刷题
- Python 学习第一周总结
- python学习第一周 获取字符串中出现次数最多的字母
- python学习第一周 获取字符串中出现次数最多的字母
- Python学习笔记[第一周]
- 【MOOC】Python机器学习应用-北京理工大学 - 【第一周】无监督学习
- Python第一周 学习笔记(1)
- python爬虫学习第一周总结
- Python 学习笔记(第一周)
- python学习第一周
- python学习第一周 猜数字小游戏