在网易云课堂看到小甲鱼的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,/):返回对象是否是类或其子类的实例。

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

转载于:https://www.cnblogs.com/gajendra/p/6206645.html

Python学习日志(二)相关推荐

  1. Python学习日志12 - 办公自动化

    Python学习日志 RBHGO的主页欢迎关注 温馨提示:创作不易,如有转载,注明出处,感谢配合~ 目录 文章目录 Python学习日志 目录 前言 进入正题 Python学习日志12课 - 办公自动 ...

  2. Python学习日志16 - 数据库SQL查询

    Python学习日志 RBHGO的主页欢迎关注 温馨提示:创作不易,如有转载,注明出处,感谢配合~ 目录 文章目录 Python学习日志 目录 Python学习日志16课 - 数据库SQL查询 DQL ...

  3. Python学习日志08 - 字典

    Python学习日志 RBHGO的主页欢迎关注 温馨提示:创作不易,如有转载,注明出处,感谢配合~ 目录 文章目录 Python学习日志 目录 Python学习日志08课 - 字典 前言 进入正题 创 ...

  4. Python学习日志04 - 列表

    Python学习日志 RBHGO的主页欢迎关注 温馨提示:创作不易,如有转载,注明出处,感谢配合~ 目录 文章目录 Python学习日志 目录 第04课:Python的容器型数据类型 进入今天的正题 ...

  5. Python学习(二)列表,for循环,切片,元组

    文章目录 Python学习(二) 列表 访问列表元素 修改列表元素 在列表中插入元素 在列表末尾插入元素 在列表中插入元素 删除列表元素 使用del语句删除元素 使用`pop()`删除元素 根据值删除 ...

  6. Python学习日志--摆动吧!钟摆!

    Python学习日志–摆动吧!钟摆! 由于读研跟着导师搞人工智能方向,所以开始学习python,在学习到使用到tkinter进行GUI设计这部分的时候,有一道很有意思的编程题:用tkinter动态演示 ...

  7. python学习(二)

    Python学习(二) 前言:继续记录阅读和实践中遇到的问题 1.使用easygui模块,在消息提示框中输入汉字弹出的提示框乱码,解决方法:在代码前加入"#-*- coding=utf-8 ...

  8. python 学习日志(3)旋转角--改进

    python 学习日志(3)旋转角–改进 啊!都看网上说if -else非常令人头疼,今天终于感受到了: def xuan_zhuan_jiao_qiu_zhi_1_9():print(small * ...

  9. Python学习(二)字符串与类型

    #Python学习(二) ##字符串与类型 在字符串之间是可以进行加法运算的,这样就会将多个字符串拼接为一个字符串: a = 'hello'+'world' 但是要注意不能和其他类型的变量进行运算,只 ...

  10. python学习笔记(二) 基本运算

    python学习笔记(二) 基本运算 1. 条件运算 基本语法 if condition1: do somethings1elif condition2: do somethings2else: do ...

最新文章

  1. php无限极下拉框,php递归实现无限分类生成下拉列表的函数
  2. python固定数据类型_Python的数据类型
  3. git命令之git tag 给当前分支打标签
  4. GlusterFS架构与维护
  5. 轻量级Web应用程序框架:PrimeFaces(JSF)+ Guice + MyBatis(第2部分)
  6. 气流与路易吉,阿戈,MLFlow,KubeFlow
  7. Java一次编译,到处运行是如何实现的
  8. 查看数值类型python_python怎么看数据类型
  9. oracle linux 图形化,Linux下Oracle 12C R2图形化安装过程
  10. 二十一天学通JavaScript:创建与读取cookie
  11. linux系统设置cpu孤立
  12. 数据结构——单向循环链表双向循环链表
  13. PyTorch YOLOV3 模型转换问题
  14. 线程池为啥要用阻塞队列
  15. Matplotlib画热力图---heatmap(逐行注释)
  16. CAD画图软件测试初学者,CAD制图初学入门:基础操作 平面绘图练习100题,新手必备...
  17. P1195 口袋的天空
  18. 在浏览器中聊天(msn.jabber or gtalk,yahoo,aol,icq,meebo)
  19. es6 混合commjs_嵌入式JavaScript引擎 – mjs
  20. Linux操作系统与Shell编程

热门文章

  1. cgi php是什么意思,cgi,fastcgi,php-cgi,php-fpm 是什么
  2. VMware虚拟机安装RHEL6.5系统
  3. thinkphp连mysql增删改查_ThinkPHP5.1框架数据库链接和增删改查操作示例
  4. diy无感无刷电机霍尔安装_霍尔传感器常见的有那几个类别
  5. python连接数据库mysql失败_解决python连接mysql报错问题
  6. redis内存知识点
  7. Linux开机过程(转)
  8. 动物面部识别技术哪个强?奶牛鸡猪狗绵羊……
  9. 围观电动车极端测试,是一种怎样的体验?
  10. 张亚勤称云计算进入2.0时代,百度首推端云一体化芯片,开放110+AI能力