您的位置:首页 > 编程语言 > Python开发

第一章:快速改造 基础知识

2017-02-18 20:41 295 查看

1.4数字和表达式

1、整数的除法会发生截断(小数部分被移除,只保留整数部分)。
例 : 1/2=0;
解决方法:
依据理论:实数在python中被称为浮点数(有一个小数点)。
如果参与除法的两个数中有一个为浮点数,则运算结果亦为浮点数。
把含有浮点数的除法称为浮点除(区别于2、里面的提到的整除)

(1)1.0/2.0=1/2.0=1/2.=0.5
(2)解释器前:from _future_ import division
2、双斜线“//”整除操作符;
>>> 1//2
0
就算是表达式中含有浮点数双斜线也会执行整除
>>> 1//2.0
0.0
3、双星号“**”幂运算
>>> 2**3
8
4、取余运算符%(模除)
>>> 10%3
1
>>> 10/3
3
>>> 10/3.0
3.3333333333333335
5、幂运算符比运算符“-”的优先级要高(与数学上面的优先级是一样的)
>>> -3**2
-9
>>> -(3**2)
-9
>>> (-3)**2
9
1.4.1长整数
普通整数:-2147483648~2147483647超过这个范围结尾要加L(大写小写都可以)
1.4.2十六进制 以0x开头(0是零不是字母O)
八进制 以0开头


1.5变量variable

定义:某个值或某个引用的名字
赋值:就是给某个变量或引用起一个名字
>>> x=3
>>> x
3

命名规则:变量名可以包括字母、数字、下划线但不能以数字开头


1.6语句

定义:语句是做某件事
性质:语句改变了事物

1、表达式:代表某件事
2、表达式与语句的区别:交互式解释器总是表达式打印出来,而不会打印语句


1.7获取用户输入:input函数

例1:
>>> input("the meaning of the life:")
the meaning of the life:42
42
>>>
例2:
>>> x=input("x:")
x:2
>>> x
2
例3:
>>> y=input("String:")
String:"this is a Stirng"
>>> y
'this is a Stirng'

分析:例1,例2,例3中,input函数先打印括号里的字符串,并将这个字符串作为新的提示符,在这个新的提示符后面用户可以输入想要的内容

管窥:if语句:
>>> if 1==2:print "one is equals two"
...
>>> if 1==1:print "one equals one"
...
one equals one
>>>


1.8函数

定义:用来实现特定功能的小程序
内建函数:像pow一样,系统中已经编写好的,可以直接调用的,标准函数
自定义函数:用户自己编写的函数
1、乘方函数:pow(2,3)=2**3
2、绝对值函数:abs(-10)=10
3、四舍五入函数:round(1.0/2.0)=1.0


1.9模块:

作用:导入到Python以增强其功能的扩展,用命令import来导入模块
例:
>>> import math
>>> math.floor(32.9)
32.0

>>> x=math.floor(32.9)
>>> x
32.0
>>> int(x)
32
>>> x
32.0
分析:上例中用命令import导入了math模块,并通过“模块.函数”的方式,使用了math模块中的floor函数(地板函数:将给定数值转换成小于或等于它的最大整数)。int将浮点数转换成整数,
补充:
(1)与floor相对的函数是ceil(天花板函数),可以将给定数值转换成大于或等于它的最小整数
(2)int()不完全是普通的函数,它是**类型对象**,注意上例中int()函数并没有改变变量x的值,它只是返回了将x取整后的值;

3、使用“from 模块 import 函数名”的形式后就可以直接使用函数,而不必用函数的模块名作为前缀
>>> from math import sqrt
>>> sqrt(9)
3.0
开平方根函数:sqrt()
4、**可以通过变量来引用函数**
foo=math.sqrt
foo(4)=2

6、sqrt不能接受负数参数;
sqrt(-1)
nan
__main__:1: RuntimeWarning: invalid value encountered in sqrt
>>>
分析:
输出中nan即not a number非数值,的意思
负数的平方根是虚数
解决方法:引入cmath(complex math)模块即可
>>> import cmath
>>> cmath.sqrt(-1)
1j
>>>


1.10.3注释:

以“#”号开头的都是注释;


1.11字符串

定义:即一串字符
1、Python解释器打印出字符串的时候,使用单引号表示的
>>> "Hello World"
'Hello World'
>>> 'Hello world'
'Hello world'

2、python中的单引号双引号都可以表示字符串

3、可以使用单斜线进行转义\,来应对字符串中有单引号或双引号的问题
>>> 'let\'s go'
"let's go"
4、也可以将单双引号组合使用
>>> "Hello 'World'"
"Hello 'World'"


1.11.2

拼接字符串:
方法一:同时一个接一个的写下两个字符串,对于字符串变量无效
>>> print "hello,"'world!'
hello,world!
>>>
方法二:使用加好“+”运算符,对字符串变量适用,但是加好不能拼接字符串和数值变量,给数字量加反引号即可解决


1.11.3字符串的表示

**str函数**:把值转化为合理的形式的字符串以便用户理解
>>> print "hello,"'world!'
hello,world!
>>> print str("hello world!")
hello world!
>>>
**repr函数**:创建一个字符串,以合法的Python形式来表示:
>>> print repr("hello World!")
'hello World!'
>>> print repr(10000L)
10000L


1.11.4input 和raw_input

input:会要求用户的输入是合法的Python表达式,例:输入字符串时就必须加引号
raw_input:它会把所有的输入当做原始数据,然后将其放入字符串中
>>> raw_input("input a number:")
input a number:3
'3'
分析:用raw_input输入的数据,没有区别全是字符串,而用input输入的数据有类型区别


1.11.5字符串常量的三种类型:长字符串、原始字符串,Unicode

1、如果需要写一个非常非常长的字符串,它跨越多行,那么可以使用三引号(单,双 三引号都可以)
>>> """dgsdffgfdffggeotfgjommmmf
sgslkfgjoiejgjrgsjefgjdff;gjsf;g"""
>>>'''dgsdffgfdffggeotfgjommmmfsgslkfgjoiejgjrgsjefgjdff;gjsf;g'''

2、原始字符串对于反斜线不会特殊对待,可以用反斜线对其自身进行转意;
普通字符串,会对反斜线特殊对待,\n 表示换行
>>> print "c:\nowhere"
c:
nowhere
用反斜线对反斜线进行转意
>>> print "c:\\nowhere"
c:\nowhere
原始字符串,不会把反斜线当做特殊字符。原始字符串以r开头
>>> print r"c:\nowhere"
c:\nowhere
注意:原始字符串的最后一个字符不能使"\",因为Python不清楚是否应结束该字符串,除非你对反斜线转义用于转义的反斜线也会成为字符串的一部分

>>> print r"C:\programfile\foo\bar""\\"
C:\programfile\foo\bar\
>>>
3、Unicode字符串
特点:普通字符串以8位的ASCII码的形式存储,而Unicode则则以十六位的形式储存,它能表示更多的字符集
Unicode字符串使用u前缀
>>> u"Hello World"
u'Hello World'
>>> print u"Hello World"
Hello World


全文
4000
引用于:作者: Magnus Lie Hetland

出版社: 人民邮电出版社

原作名: Beginning Python: From Novice to Professional, Second Edition

译者: 司维 / 曾军崴 / 谭颖华

出版年: 2010-7

页数: 471

定价: 69.00元

装帧: 平装

丛书: 图灵程序设计丛书

ISBN: 9787115230270

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息