第1章 Python笔记 基础知识

来源:互联网 发布:生命的本质是什么知乎 编辑:程序博客网 时间:2024/06/06 19:06

1、第一个程序

print "Hello,World!"

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

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

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

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

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

>>> 1/2.00.5
>>> 1.0/20.5
第二种解决方案:

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

from __future__ import division
例如:

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

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

3、取余运算符:%

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

4、幂运算

>>> 2**38>>> -3**2-9>>> (-3)**29

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:"+tempTraceback (most recent call last):  File "<pyshell#9>", line 1, in <module>    print"The number is:"+tempTypeError: 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? GumbyTraceback (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: 33
总之,除非对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\
注意,在原始字符串中可以同时使用单双引号,甚至三引号字符串也可以。


















 
原创粉丝点击