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

python 学习笔记

2012-11-05 01:08 330 查看
第一章

八大要素

要素#1 数据类型

int 表示整数

str 表示字符

要素#2 对象引用

>>> x = "blue"

>>> print(x)

blue

>>> y = x

>>> print(y)

blue

>>> x,y,z

('green', 'green', 'green')

要素#3 组合数据类型

>>> x = ["a", "b", 3]

>>> x

['a', 'b', 3]

>>> x.append(4)

>>> x

['a', 'b', 3, 4]

>>> x.insert(2, "c")

>>> x

['a', 'b', 'c', 3, 4]

>>> x.remove("b")

>>> x

['a', 'c', 3, 4]

>>> list.append(x, "b")

>>> x

['a', 'c', 3, 4, 'b']

要素#3 逻辑操作符

1身份操作符

所有的python变量实际上都是对象的引用

is操作符只需要对对象所在的内存地址进行比较,

is not 是对身份测试的反向测试

>>> a = ["abc",3,None]

>>> b = ["abc",3,None]

>>> a is b

False

>>> b = a

>>> a is b

True

>>> a = "Something"

>>> b = None

>>> a is not None, b is None

(True, True)

2 比较操作符

< <= == != >= > 这些操作符对对象值进行比较

>>> a = "many paths"

>>> b = "many paths"

>>> a is b

False

>>> a == b

True

>>> a = 9

>>> 0 <= a <= 10

True

如果两个数据类型无法确定,python动态类型机制将会输出

异常错误消息的回溯与追踪信息

3 成员操作符

对序列或集合这一类数据类型,比如字符串,列表或元组我们

可以使用操作符in来测试成员关系,

用not in 来测试非成员关系

>>> p = (4, "frog", 9, -33, 9, 2)

>>> 2 in p

True

>>> "dog"not in p

True

>>> phrase = "Wild Swans by Jung Chang"

>>> "J" in phrase

True

>>> "han" in phrase

True

对列表与元组, in操作符使用线性搜索,

对字符串数据类型, 使用成员运算符可以很方便

地测试任意长度的子字符串

4 逻辑运算符

and or not, and与or都使用short-circuit逻辑,

并返回决定结果的操作数,而不是返回布尔值.

>>> True and False

False

>>> five and zero

0

>>> nought = 0

>>> zero or five

5

>>> zero or nought

0

要素#5 控制流语句

在python中一块代码,也就是说一条或多条语句组成的序列,称为suite

pass 实际上是一条空语句

1> if语句 (冒号与else elif一起使用)

if boolean_expression1:

suite1

elif boolean_expression2:

suite2

...

else:

else_suite

python使用缩排来标识其块结构.

2> while 语句

while boolean_expression:

suite

break将控制流导向到break所在的最内层循环.

其用continue将控制流导向到循环起始处.

3> for...in 语句

for variable in iterable:

suite

for 循环也支持break和continue

for country in ["Denmark", "Finland"]

print(country)

4> 基本的异常处理

python的很多函数与方法都会产生异常,并将其作为

发生错误或重要事件的标志.

异常也是对象.打印时会产生一条消息文本

try:

try_suite

except exception1 as variable:

exception_suite1

...

except exceptionN as variableN:

exception_suiteN

每个except分支都可以处理多个异常

s = input("enter an integer:")

try:

i = int(s)

print("vaild integer entered:", i)

except ValueError as err:

print(err)

要素#6 算术操作符

+ - * / += *=

>>> seeds = ["sesame", "sunflower"]

>>> seeds += ["pumpkin"]

>>> seeds

['sesame', 'sunflower', 'pumpkin']

>>> seeds += "dur"

>>> seeds

['sesame', 'sunflower', 'pumpkin', 'd', 'u', 'r']

由于列表是可变的,使用+=后原始的列表对象会被修改,

因此没有对seeds进行重新绑定.

固定数据类型具有比可变数据类型更加高效的潜力.

因为这些固定的数据类型从不改变.

使用append()方法参数总是以单独的项目添加

要素#7 输入输出

python程序块是严格按照缩进表示模块关系的.如果没有对齐就会报错

===begin sum2.py===

print("Type integers, each followed by Enter, or ^D or ^Z to finish")

total = 0

count = 0

while True:

try:

line = input()

if line:

number = int(line)

total += number

count += 1

except ValueError as err:

print(err)

continue

except EOFError:

break

if count:

print("count = ", count, "total = ", total, "mean = ", total/count)

===end sum2.py===

要素#8 函数的创建与调用

def functionName(argument):

suite

参数是可选的,

执行def时,会创建一个函数对象,同时创建一个带有指定名的对象引用.

由于函数也是对象,因此可以存储在组合数据类型中,

并作为参数传递给其他函数.

===begin def.py===

def get_int(msg):

while True:

try:

i=int(input(msg))

return i

except ValueError as err:

print(err)

age = get_int("enter your age:")

print("your age is: ", age)

===end def.py===

python有大量的内置函数,其标准库的大量模块中包含更多的函数.

python模块实际上就是包含python代码的.py文件,

有时候还包括变量等.

要使用某个模块内的函数功能,必须先导入该模块,例如: import sys

要导入一个模块必须使用import语句,其后跟随.py文件名,

不用写扩展名,访问其内部包含的任意函数,类以及变量,

例如:print(sys.argv) #用些建sys.argv.py程序.

sys模块提供了argv变量--该变量实际上是一个列表,

其首项为该程序的名称,

第二个参数及后续的参数为该程序的命令行参数.

$ python3 sys.argv.py kangqiao

['sys.argv.py', 'kangqiao']

标准模块名都是小写字母,因此一般来说我们用大写字母表示我们的模块

===begin rand2.py===***注意文件名不要合系统模块名一样,这样会导致未知错误***

import random

x=random.randint(1,6)

y=random.choice(["apple", "banana", "cherry", "durian"])

print("random x = ", x, "y = ", y)

===end rand2.py===

python常规的做法是将所有的import语句放在.py文件的起始处,

建议首先导入标准库模块,之后导入第三方库模块,最后导入自己的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: