初见Python<1>:基础语法
1、两个整数相除,计算结果的小数部分被截除,结果仍然是一个整数;
如:1/2=0
2、整数和浮点数相除、或者浮点数之间相除,结果有小数部分,仍然是一个浮点数;
如:1/2.0=0.5 1.0/2=0.5 1.0/2.0=0.5 1/2.=0.5
3、双斜线(//)定义整除运算
如:1.0//2.0=0.0 1//2=0
4、%定义取余运算(求模运算)
如:10%3=1 2.75%0.5=0.25
5、**定义幂运算(乘方运算)
如:2**3=8 -3**2=-9
6、输入16进制表达式会自动转化成十进制,输入8进制也同样会自动转化成十进制。以0x开头的为16进制,以0开头的为8进制
7、变量定义:变量名可以包括字母、数字和下划线(_),变量不能以数字开头
x=3是赋值表达式
8、在交互式解释器中,输入表达式和输入语句的结果是相同的。
如:print 2*2
和:2*2
结果都会打印4
但是在程序编写中不会这样,只有写语句才能完成打印输出。
表达式是某事,语句是做某事。
9、获取用户输入
使用input函数获取用户输入
>>>x=input("x:")
x:34
>>>y=input("y:")
y:42
>>>print x*y
1428
x,y通过两次输入接收用户输入的值,再参与后续的表达式运算
10、几个函数
pow(a,b)=a**b-----乘方函数
abs(a)------绝对值函数
round(b)------把浮点数四舍五入为最接近的整数值
11、整除运算可以截取小数部分,只保留整数部分
round()函数可以四舍五入取整
使用math模块的floor函数可以实现向下取整,如:
>>>import math
>>>math.floor(32.9)
32.0
先使用import导入模块,然后按照“模块.函数”的格式使用这个模块的函数
与floor相对的是ceil函数,可以向上取整为最小的整数
如果不想每次调用模块中的函数时都要使用“模块.函数”的格式,则可以使用另外一种形式:
>>>from math import floor
>>>floor(32.9)
32.0
通过“from模块import函数”后可以直接使用floor函数,而不再需要模块名前缀
12、使用sqrt()函数可以计算一个数的平方根,但是只能处理正数
对于负数,可以使用cmath模块(针对复数运算的模块)来实现开方功能
如:
>>>import cmath
>>>cmath.sqrt(-1)
1j
虚数以j或者J结尾,比如:
>>>(1+3j)*(9+4j)
(-3+31j)
使用这个函数时,最好不要使用“from模块import函数”这种形式,因为一旦使用,sqrt只能是cmath模块中的sqrt函数,而不能再使用math模块中的正常的sqrt函数,所以还是使用“模块.函数”格式。这样cmath模块和math模块中的sqrt()函数可以同时使用
13、.py是脚本文件后缀名
在windows系统中双击.py文件可以从cmd窗口打开Python文件,但是输入命令后或者不输入命令窗口都会立刻关闭,在文件最后加上
raw_input("press <enter>")
这一句可以让窗口不会关闭
14、使用单引号和双引号都可以来表示字符串,但是注意字符串自身含有的单引号和双引号,这时候要么分别使用双引号或者单引号,要么使用反斜杠作为转义字符,当然,也可以通过字符串拼接的方式完成输出
15、字符串拼接
>>>"hello,"+"world!"
'hello,world!'
>>>x='hello,'
>>>y='world!'
>>>x+y
'hello,world!'
16、使用print打印字符串
>>>print 'hello,world!'
hello,world!
对比可以看到,直接使用python打印的字符串是带有引号的,而使用print函数打印出来的结果是没有引号的
这是因为所有直接通过交互命令在python中打印的都保持了该值在python代码中的状态。又比如:
>>>10000L
10000L
>>>print 10000L
10000
这一点类似于两个字符串函数,即str()函数,repr()函数
>>>print repr('hello,world!')
'hello,world!'
>>>print repr(10000L)
10000L
>>>print str('hello,world!')
hello,world!
>>>print str(10000L)
10000
总结如下:str()、repr()是将python值转化为字符串的2种方法,函数str()将字符串变得更易阅读,repr()则把结果字符串转换为合法的python表达式
17、接收输入的两种方式:input和raw_input
使用input接收输入时,用户必须输入合法的python表达式,即用单引号(双引号)括起来的字符串
否则就会报错。
而使用raw_input接收用户输入时,可以不用添加单引号或双引号来注明是字符串。raw_input在接收后会自动将其添加引号识别为字符串。
因此,除非对input有特别的需要,否则应该尽可能的使用raw_input函数。
18、长字符串
如果需要写一个很长很长的字符串,并且需要跨多行,那么可以使用三个单引号或者三个双引号来替代普通引号
比如:
使用三个单引号(双引号)时,不用再担心内部字符串自身若包含单引号或双引号时造成的错误,也不需要再使用转义字符进行转义。
19、普通字符串也可以通过反斜杠来换行,这需要在一行的最后书写一个反斜杠。
这时候反斜杠只提示换行的意思,不会被打印出来。
20、原始字符串:
当字符串中包含有反斜杠时,会被认为是转义字符。如:
\n作为换行符,可以在字符串中任何需要换行的地方完成换行操作,\'是对'进行转义,表示'是字符串自身的一部分,而不是代表字符串的结束符
但是有时候我们需要输入反斜杠本身,比如一些目录路径
我们希望的输出应该是'c:\nDrivers'
但是python认为反斜杠是转义的作用。
解决办法有两种,一是再使用一个反斜杠,对反斜杠本身进行转义。如:
但是当字符串内部自身带的反斜杠很多时,就很麻烦。这时候使用第二种解决办法,即:使用原始字符串表示法。
原始字符串以r开头,可以在字符串中放入任何字符,唯一的要求是不允许最后一个字符是反斜杠。如果满足这唯一一点要求,就可以认为字符串中的任何字符都是字符串自身的一部分。
21、Unicode字符串:
作者:hbsygfz
邮箱:hbsygfz@163.com
如有不当之处,请多指正。文章系笔者原创,转载请注明出处。谢谢!