python 学习笔记


好久不在状态了,知道自己不够坚持.最近总是在想工作之之余再学些知识.

虽然工作接触python的机会很少,但python一直是我想学的一门语言,

今天是学习python的第一课,我想我要坚持.

不为别的,只为自己当初的梦想更进一步吧 .


 
第一章
八大要素
  要素#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 zhaopan
['sys.argv.py', 'zhaopan']
标准模块名都是小写字母,因此一般来说我们用大写字母表示我们的模块
===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文件的起始处,
建议首先导入标准库模块,之后导入第三方库模块,最后导入自己的.


 

相关内容

    暂无相关文章

评论关闭