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

第1章 Python笔记 基础知识

2017-06-30 14:41 225 查看
1、第一个程序

print "Hello,World!"

Python每一行的结尾是不需要分号的,这和其他的计算机编程语言不一样,当然了如果喜欢的话也可以加上,但是不会有什么作用(除非同一行还有更多的代码)而且这也不是同行的方法。

2、除法运算中小数部分被截除的解决方案

>>> 1/2
0
如上,在Python中进行1/2的运算结果为0,并不是实际中的0.5。

第一种解决方案:用实数(浮点数)进行运算

>>> 1.0/2.0
0.5
可以看到,当用浮点数进行运算时,结果为0.5。事实上只要参与除法运算的两个数中有一个是浮点数,结果也就是浮点数。例如:

>>> 1/2.0
0.5
>>> 1.0/2
0.5
第二种解决方案:

如果希望Python只是进行普通的除法运算可以在程序前面加入

from __future__ import division
例如:

>>> from __future__ import division
>>> 1/2 0.5
注意:上面的future前后是两条下划线,即future前面是_ _(中间是没有空格的,完全是为了方便理解),后面也是_ _。

引入上述语句那么在之后的运算中“/”都表示的实际除法,如果想进行整除运算则使用双斜线。

3、取余运算符:%

>>> 10/3
3
>>> 10%3
1
上面10/3表示的是整除,10%3表示10除以3后的余数。

4、幂运算

>>> 2**3
8
>>> -3**2
-9
>>> (-3)**2
9

2**3表示的是2的三次方。注意幂运算符比取反的优先级高,所以-3**2等于-9.

除此之外还可以利用函数pow进行幂运算

>>> pow(2,3)
8


表示2的3次方。

5、变量命名规则

变量名可以包括字母、数字和下划线(_),但是不能以数字开头。

6、表达式和语句的区别

表达式是计算机程序的组成部分,它用于表示值。如2+2是表达式,表示数值4。简单的表达式是通过使用运算符(+或者%)和函数(如pow)对字面值进行处理而构建而成的,可以包含变量。

语句是告诉计算机做某些事的指令。如改变变量(通过赋值)、向屏幕输出内容(如print “Hello,World”)、导入模块和其他大量复杂的操作。

7、模块

模块可以称之为导入Python以增强功能的扩展。用import进行导入。然后按照“模块.函数”的格式使用模块内的函数。

>>> import math
>>> math.floor(32.9)
32.0
在确定不会从多个模块导入相同函数时,可使用“from 模块 import 函数”的形式进行函数导入,此时不需要模块作为前缀。

>>> from math import sqrt
>>> sqrt(9)
3.0
事实上,可使用变量引用函数(或者Python中的大多数的对象)。比如:
>>> import math
>>> foo=math.sqrt
>>> foo(9)
3.0
8、注释

在Python中利用井号(#)进行注释。

>>> #这个是python的注释
9、字符串

>>> "Hello,World!"
'Hello,World!'
当Python打印字符串的时候是用单引号括起来的,与程序中的双引号并没有区别
>>> "Let's go!"
"Let's go!"
>>> '"Hello,world!" she said'
'"Hello,world!" she said'
如果字符串中包含了单引号,那么打印出来的就不能用单引号将整个字符串括起来了(上述程序第一句)。
>>> 'Let's go!'
SyntaxError: invalid syntax
>>> 'Let\'s go!'
"Let's go!"
上述第一个程序字符串为‘Let’,python并不知如何处理Let后面的内容,此时用反斜杠‘\’进行转义(也就是上述第二个程序)。

10、值转化为字符串

(1)通过str、repr函数

>>> print repr("Hello,World!")
'Hello,World!'
>>> print str("Hello,World!")
Hello,World!
str函数会把值转换为合理形式的字符串,以便于用户可以理解;而repr函数会把创建一个字符串,它以合法(应该是以单引号括起来的字符串)的python表达式的形式来表示值。

(2)反引号

>>> temp=42
>>> print"The number is:"+temp

Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
print"The number is:"+temp
TypeError: cannot concatenate 'str' and 'int' objects
>>> print"The number is:"+`temp`
The number is:42
如果希望打印一个包含数字的句子,要用反引号(`数字`)。其实在Python3.0中已经不再使用反引号了。

11、input和raw_input的比较

>>> name=input("What is your name? ")
What is your name? Gumby

Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
name=input("What is your name? ")
File "<string>", line 1, in <module>
NameError: name 'Gumby' is not defined
input会假设用户输入的是合法的Python表达式,如果以字符串输入名字则程序没有问题。如下:

>>> name=input("What is your name? ")
What is your name? "Gumby"
>>>
但是对于raw_input来说它会把所有的输入当做原始数据,然后放入字符串中:

>>> name=raw_input("What is your name? ")
What is your name? Gumby
>>>
>>> raw_input("Enter a number: ")
Enter a number: 3
'3'
>>> input("Enter a number: ")
Enter a number: 3
3
总之,除非对input有特别的需要,否则尽可能使用raw_input函数

12、长字符串、原始字符串

对于长字符串,需要换行的,可以使用三个引号代替普通引号,也可以使用三个双引号,“”“Like This”“”。在这种引用方式下可以在字符串之中同时使用单引号和双引号,而不需要使用反斜线进行转义。

>>> print'''This is a very long string.
It continues here.
And it's not over yet.
"Hello,World!"
Still here..'''
This is a very long string.
It continues here.
And it's not over yet.
"Hello,World!"
Still here..

原始字符串以r开头,不会把反斜线当作特殊字符。基本上是可以在原始字符串中放入任何字符,但是不能在结尾输入反斜线。

>>> print r"this is illegal\"
SyntaxError: EOL while scanning string literal
>>> print r'Let\'s go!'
Let\'s go!
如果想在原始字符串结尾输入反斜杠的话,要把反斜杠单独作为一个字符串处理。

>>> print r'C:\Program Files\foo\bar''\\'
C:\Program Files\foo\bar\
注意,在原始字符串中可以同时使用单双引号,甚至三引号字符串也可以。


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