【书山有路】Python基础教程 第1章
来源:互联网 发布:淘宝模特米雪儿 编辑:程序博客网 时间:2024/05/19 09:16
为了完成最近的项目,没办法了,Python学起来。我选择的是《Python基础教程》的第2版。我浏览了一下目录,准备只学习第1章、第2章、第3章的部分内容、第4章、第5章的部分内容、第6章、第7章、第9章、第10章的部分内容以及第16章。
这一章的标题叫做“基础知识”,所以内容有些零碎,只记录一下我需要注意的地方吧。
安装环境
Python版本选了3.5.3,下载地址:https://www.python.org/ftp/python/3.5.3/python-3.5.3-amd64.exe
IDE选了PyCharm 2016.2
观点
- 算法不过是程序或者食谱的另外一种说法——详细描述如何做某事。
- 语句和表达式之间的区别:表达式是某事,语句是做某事。语句特性的一般定义是“它们改变了事物”
- 程序员应该确保注释说的都是重要的事情,不要重复代码中显而易见的内容。无用的、多余的注释还不如没有。
要点
实现整除
使用//
来实现整除
输入下面的命令到控制台:
1 // 21.0 // 2.0
输出的结果是:
00.0
小数的余数
输入下面的命令到控制台:
2.75 % 0.5
输出的结果是:
0.25
这个倒是很神奇
乘方运算
Python中的乘方运算符不是^
(这个是按位异或),而是**
。
输入下面的命令到控制台:
2**3-3**2
输出的结果是:
8-9
这是因为幂运算符优先级比取反优先级高的原因。
或者也可以用pow()
函数。
输入:
pow(2,3)
输出:
8
长整数
Python对长整数的支持很好,一般不需要关心是否超出数据的范围问题。
读取用户输入数据
可以使用input函数来读取用户的输入:
代码:
x = input("x: ")
输入:100
查看x的值:
x
输出:
'100'
说明读入了一个字符串。
使用模块中的函数
使用下面的语句来导入一个模块:
import math
然后用下面的语句来使用模块中的函数:
math.floor(32.9)
使用模块中函数的语法是:模块.函数
也可以用下面的语句导入函数,然后就可以不用每次写明模块的名称:
from math import floor
单双引号和转义
Python中,单引号'
和双引号"
是没有区别的,它们可以相互的包含在对方中,说明引号的意思。如:
"Hello 'Tom'"'Hello "Tom"'
这样编译器就会明白Tom前后有个引号。反之,如果不混合使用就会给编译器造成困扰,如:
'Hello 'Tom''
此时,需要添加\
进行转义。
'Hello \'Tom\''
str和repr的区别
这一部分来自http://blog.csdn.net/yyt8yyt8/article/details/7030416
内建函数str()和repr() (representation,表达,表示)或反引号操作符可以方便地以字符串的方式获取对象的内容、类型、数值属性等信息。
str()函数得到的字符串可读性好(故被print调用),而repr()函数得到的字符串通常可以用来重新获得该对象,通常情况下 obj==eval(repr(obj)) 这个等式是成立的。这两个函数接受一个对象作为其参数,返回适当的字符串。
事实上repr()和“做一样的事情,返回一个对象的“官方”字符串表示。其结果绝大多数情况下(不是所有)可以通过求值运算(内建函数eval())重新得到该对象。
str()则不同,它生成一个对象的可读性好的字符串表示,结果通常无法用eval()求值,但适合print输出。
如下例:
>>> class D(object):... def __str__(self):... return "a __str__"... def __repr__(self):... return "a __repr__"...>>> dr = D()>>> print dra __str__>>> dra __repr__>>> "%s" % dr'a __str__'>>> "%r" % dr'a __repr__'
为什么有了repr()还需要“?
Python中,有的操作符和函数是做同样的事情,原因是某些场合下函数会比操作符更适合使用,比如函数对象可作为参数传递。双星号(**)乘方运算和pow()内建函数都返回x的y次方.
Python3中已经不用反引号啦
再来看一个例子:
>>> temp = 42>>> print("The temperature is " + temp)Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: Can't convert 'int' object to str implicitly>>> print("The temperature is " + repr(temp))The temperature is 42
长字符串
如果需要写一个非常长的字符串,需要跨越多行,那么可以使用三个引号,如:
''' This is a long story. Something happend.'''
也可以用三个双引号
原始字符串
我们知道,\n
这样的特殊字符会进行转义,变成换行符。
输入:
print('Hello,\nworld!')
输出:
Hello,world!
有时候我们需要输入这样的路径C:\nowhere
,就会被进行转义。此时可以用\本身对自己进行转义。
输入:
print('C:\\nowhere')
输出:
C:\nowhere
看起来不错,但如果要输入一个很长的路径,比如:C:\VS2015\Common7\Packages\Debugger\X64
就非常麻烦了。
可以用原始字符串来解决这个问题:
输入:
print(r'C:\VS2015\Common7\Packages\Debugger\X64')
输出:
C:\VS2015\Common7\Packages\Debugger\X64
不能在原始字符串的结尾输入\,除非你对\进行转义
Unicode
Python3中所有的字符串都是Unicode编码的。
- 【书山有路】Python基础教程 第1章
- 【书山有路】Python基础教程 第2章
- 【书山有路】Python基础教程 第3章
- 【书山有路】Python基础教程 第4章
- 【书山有路】Python基础教程 第5章
- 【书山有路】Python基础教程 第6章
- 【书山有路】Python基础教程 第7章
- 【书山有路】Python基础教程 第9章
- Python基础教程之第1章 基础知识
- 【Python基础教程】第5章
- python基础教程第9章
- python 基础教程第21章
- 《Python基础教程》第1~5章 学习笔记
- 《Python基础教程》第20章学习笔记
- Python基础教程之第6章 抽象
- Python基础教程之第8章 异常
- 【Python基础教程】第3章 字符串
- 【Python基础教程】第4章 字典
- perl多进程实战之一
- UIView 刷新---setNeedsDisplay、setNeedsLayout
- FLV学习(二)FLV封装原理
- 一个简单的小题目引发的血案
- 【Web前端】HTML书写规范
- 【书山有路】Python基础教程 第1章
- Xcode8禁止输出无用日志
- Ubuntu根目录下各文件的功能
- 小飞鱼通达商务平台课程 OA开发程序基础课 2月25日 mySQL基础作业
- 使用THinkPHP 3.2实现登录注册及信息展示
- vs2008 编译 zlib
- POJ 1850 Code/POJ 1496 Word Index(组合数学-字母串序号)
- sql 判断临时表的是否存在
- 用汉字命名图片