在网易云课堂看到小甲鱼的python视频,想起以前看就是看他的视频学C的虽然后来不了了之都怪我自己啦,于是决定跟着这个视频来学python啦!

  • IDLE

IDLE其实是一个python shell ,是一个通过键入文本与程序交互的途径。

  • 用python写一个猜数字小游戏

按F5可以直接运行

python程序真的戳中老夫的心了,语句后面不需要";",不需要声明变量,程序段也不需要{},嗨森!

需要注意:

  1. 虽然变量没有限定类型,但是input函数返回的类型是字符串,所以temp是字符串型,要强制转换成int。强制转换和其它语言不太一样,括号括的是变量,不是类型。
  2. 虽然程序段不需要{},但是要特别注意缩进,if语句和else后面都有":",":"后回车一般会自动缩进,手动缩进当然用Tab啦。不缩进会报错哒,没有规矩不成方圆嘛。

我们用xmind来画画程序流程图吧:

好丑啊我不管。就是一个简单的程序分支。

  • BIF(built in function)内置函数

输入dir(__builtins__),回车查询python的内置函数;

输入help(函数名),回车查询函数相关信息。

  • 变量

python变量的一些规则:

  1. 变量要先赋值再使用
  2. 变量名可以包括字母、数字、下划线,但变量名不能以数字开头(几乎学过的语言都是酱紫啊,因为它们都是C的延续,所以真的要注意养成书写规范的好习惯啊)
  3. 变量名可大写,可小写,但是python会区分大小写,Python和python是不一样的!

如图,变量是可以改变的,变量不需要声明,它可以是任何类型,这点上面有提到。

另外需要注意,字符串可以用""也可以用''括起来,用''时,如果字符里出现',要在其前面加转义符\,否则会报错。

如图,字符串里出现反斜杠可能会出错,当然我们可以用反反斜杠来规避这种错误,如果反斜杠很多,可以在字符串前面加r转换成原始字符串。

注意原始字符串末尾加\会出错,可以这样灵活处理:

得到一个跨越多行的字符串,可以使用三重引号字符串:

  • 对之前的小游戏的改进

改进点:

  1. 引入random模块,由系统给定一个数字,而不是由编程人员设定。
  2. 用户只有三次机会,三次猜错立即结束游戏并且有相应提示。

这是我自己写的代码,不是参考答案,实现了好开心哈哈。这里的新知识点有:

  1. 引入random模块要在程序之前 import 它。
  2. randint()是random模块内的函数,它返回一个随机的整数,这里(1,10)是设定的范围。
  3. and 逻辑操作符,可以将任意表达式连接在一起,并得到一个boolean类型变量。
  • 补充

语句过长可以使用反斜杠或者括号分解成几行

在同一行可以书写多个语句,用;隔开

前面说到and逻辑操作符,python提供了3个逻辑操作符,and、or和not。

and 和 or 都使用short-circuit逻辑,并返回决定结果的操作数——而不是返回Boolean量。那么为什么我们前面返回了Boolean量呢?我们来对比这两个例子就知道了:

我们可以看到,如果and在布尔上下文中,也就是说前后是判断条件,那么结果也返回布尔值,即TRUE或FALSE。

如果and前后是数字,那么表达式返回一个操作数,注意区别,C语言中&&操作符的结果是0或1。

同理可得,or在布尔上下文中,也返回TRUE或FALSE,否则返回操作数。

至于这个操作数怎么得来的我们就要理解一下懒逻辑(也就是short-circuit逻辑)了。

对于and来说,如果第一个操作数为假,那么就立即返回假。同样对于or来说,只要第一个为真,那么立即返回。(与是有0则0.或是有1则1)我们来举一斤栗子:

这就是python的短路逻辑(short-circuit logic)

逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,举个例子,表达式 x and y,需要 x 和 y 两个变量同时为真(True)的时候,结果才为真。因此,如果当 x 变量得知是假(False)的时候,表达式就会立刻返回 False,而不用去管 y 变量的值。实际上,Python 的做法是如果 x 为假,表达式会返回 x 的值(0),否则它就会返回 y 的值。这种行为同样也应用于 or 操作符。

  • 数据类型转换——int()、float()、string()互相转换

int()→float():直接在后面叫 .0

float()→int():直接截断,不会四舍五入

可以这样实现四舍五入:

先给浮点数+0.5再转换

str()→int()、float():要注意string必须是由数字组成的,另外也要注意变量不能用str命名,后果很严重啊。

int()、float()→str():直接加' '

  • 一些字符串的拓展函数

s.isalnum()  所有字符都是数字或者字母,为真返回 Ture,否则返回 False。
s.isalpha()  所有字符都是字母,为真返回 Ture,否则返回 False。
s.isdigit()  所有字符都是数字,为真返回 Ture,否则返回 False。
s.islower()  所有字符都是小写,为真返回 Ture,否则返回 False。
s.isupper()  所有字符都是大写,为真返回 Ture,否则返回 False。
s.istitle()  所有单词都是首字母大写,为真返回 Ture,否则返回 False。
s.isspace()  所有字符都是空白字符,为真返回 Ture,否则返回 False。

注意!!!这里的s是字符串。

我们可以用s.isdigit()来改进我们之前的小游戏:

我改了好久想哭,不过基本满意了,输入除数字外的字符或者超出1-10都会报错。但是还有待改善的点:

在判断数字小了还是大了之后重新输入的,就不会进行输入报错判断了。

其实逻辑也有点乱...

但是不打算一头撞死了,等我以后想到了在改进。

  • type()

返回参数类型

  • isinstance()

isinstance(obj,class_or_tuple,/):返回对象是否是类或其子类的实例。

用这个函数可以判断某一个变量是不是某个类型。

Python学习日志(二)的更多相关文章

  1. Python学习(二)Python 简介

    Python 简介 官方指南及文档 Python2.7官方指南(中文版):http://pan.baidu.com/s/1dDm18xr Python3.4官方指南(中文版):http://pan.b ...

  2. Python学习日志9月13日

    昨天的学习日志没有写,乱忙了一整天,政治电脑. 好奇心重,想要给电脑装上传说中LInux操作系统,各种小问题折腾到半夜,今天又折腾到晚上才真正的装上系统. 可是装上系统后又发现各种的不好用.虽然界面比 ...

  3. 编程语言与Python学习(二)

    1.1 流程控制之for循环 1 迭代式循环:for,语法如下 for i in range(10): 缩进的代码块 2 break与continue(同上) 3 循环嵌套 for i in rang ...

  4. (10.1)Python学习笔记二

    1.在项目工程中要模块化测试一个开发的功能,在测试通过后交付给项目组其他人员继续开发.要保证代码开发的性能和效率以及可扩展性. 2.项目工程中的文件夹分类要功能模块明确清晰,在python中引入某一个 ...

  5. python学习笔记(二)、字符串操作

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...

  6. python学习(二)

    这几天脑子里一直在想一个应用,想以此来练习python.用一句话来概括这个应用的功能,大致表述是这样:自动采集全省各类公共文化机构网站上新发布的信息,并分类呈现.各类公共文化机构,是指公共图书馆.文化 ...

  7. Python学习日志_2017/09/08

    今天早晨学习了<Head First :HTML and CSS>:学习了两个章节,感觉从基础学习特别的踏实,能看懂的同时踏踏实实的锻炼了基础的能力.我个人认为无论哪个行业,最重要的永远是 ...

  8. Python学习之二:Python 与 C 区别

    引自http://www.lxway.com/181844.htm 从开始看Python到现在也有半个多月了,前后看了Python核心编程和Dive into Python两本书.话说半个月看两本,是 ...

  9. Python学习(二十六)—— Django基础一

    转载自:http://www.cnblogs.com/liwenzhou/p/8258992.html 一.Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的 ...

随机推荐

  1. SQL语句生成指定范围内随机数

    1.生成随机实型数据 create procedure awf_RandDouble @min dec(14,2), @max dec(14,2), @result dec(14,2) output ...

  2. 利用xhsell登录到远程腾讯云服务器

    xshell连接管理腾讯云服务器图文教程 打开xshell点击文件新建会话框 linux服务器ssh管理软件XSHELL下载及安装图文教程 输入公网IP地址确认下一步 选中服务器连接 一次性接受,不储 ...

  3. java基础知识(六)日期处理

    一.日期处理类 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 ...

  4. Android 系统工具类SystemUtils

    包含的功能有: 获取系统中所有APP应用.获取用户安装的APP应用.根据包名和Activity启动类查询应用信息.跳转到WIFI设置.WIFI网络开关.移动网络开关.GPS开关 当前若关则打开 当前若 ...

  5. JAVA基础学习——1.1 环境搭建 之jdk安装,环境变量配置 (系统Win10,64bit)

    大学里虽然老师教过JAVA,但我没学.后来工作了,断断续续的也碰到了JAVA的项目,都是拉过来就干的节奏.也没有好好系统的学习一下. 从今天开始系统学习整理一下JAVA,以后再碰到JAVA项目的时候, ...

  6. js创建命名空间

    CreateNameSpace: function () { var nameSpaceObjec = arguments[0].split('.'); var currentNameSpaceNam ...

  7. C# 金钱 小写转大写的算法

    调用 ConvertMoney的ConvertMoneyToWords(decimal money)方法即可 using System; using System.Collections.Generi ...

  8. ios 获取文件扩展名备忘

    NSString *lastComponent = [cachePath lastPathComponent];              NSString *pathLessFilename = [ ...

  9. java回调机制

    http://www.cnblogs.com/heshuchao/p/5376298.html

  10. 将做好的py文件打包成模块,供别人安装调用

    现在要将写完的3个py文件,打包. 步骤: 1.新建一个文件夹setup(名字随便取),在setup文件夹下,再新建一个文件夹financeapi. 2.将上面4个py文件拷贝至financeapi文 ...