python核心编程一书笔记之第一篇

时间:2021-02-05 14:48:28
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#env 是一个命令用来寻找系统中的python解释器。第二条解释使用utf-8编码

在类unix系统中允许python为了防止出现找不到命令经常会加上一段申明,在python3以下的版本需要加上编码申明来实行兼容:

在python中的第一个案例:

 print 'Hello World!'
#你好这个世界 嘿嘿!

print 这个命令用于输出,常用来查看变量里面的内容,或者输出一些内容显示给用户。

变量是会变的量所以叫做变量。变量可以帮助程序员记忆一些东西,所以一些变量名都是代表着一些内容。变量的起名规则:只能由数字,字母,下划线组成,其中数字不能开头,变量名最好可以给你一种见名起义的感觉,变量名不要起太长不方便记忆。

在python中_下划线可以起到重复上一条命令的作用例:

 >>> 1 == 1
True
>>> _
True
>>>

在python中三种常用的字符串格式操作符%s,%d,%f   %s代表字符串,%d代表整数,%f代表浮点型。例:

 name1 = 'alex'
name2 = 'eric'
name3 = 'seven'
print 'name1:%s,name2:%s,name3%s' %('name1','name2','name3')#可加引号,也可不加,python3中必须加。

用户的输入可以用raw_input('')等待用户输入内容,如果等待用户输入的是密码可以这么做例:

 import getpass
name = raw_input('You name:')
pwd = getpass.getpass('You pwd:')

如何将用户输入的字符串转换成整形例:

name1 = int(raw_input('Guess the number:'))

查询帮助信息help(内建函数)即可查帮助信息。

注释:帮助理解用的,有申明注释,代码注释例:

 #!/usr/bin/env python
# -*- coding:utf-8 -*- #申明注释
# 可做当行注释
'''
''' #多行注释,可用三个单引号或者三个双引号不可混用。

算术操作符+ - * / // % **

前四种在python中与正常算术运算符一样,可正常加减,但不可字符串+,-整形, *对字符串使用的话可以成倍出现,除法中如果不带小数点会只留整数部分,//取整数部分,%取余,**用来幂运算

还有一些= , ==  ,  !=  <=, >=  第一个辅助运算,将右面的值赋给左边的值,这种运算都是先算右边再算左边。  ==比较    !=不等于.后面两个是大于等于喝小于等于。

还有一些特殊的布尔运算返回值为True  和False,和逻辑运算符返回值not, and, or   not表示条件相反,and表示并且,or表示或。

字符串: 是  表示""引号和字符之类内容的集合,两个引号必须相同不可左边一个单引号,右边一个双引号,两个字符串直接如果用+就表示两个字符串内容和成一个字符串可以叫做连接运算,如果用*表示重复字符串,在字符串中还有一些索引的用法注:索引从0开始的[:3]的话只会输出3这个代表位前面的元素例:

 >>> pystr = 'python'
>>> iscool = 'is cool'
>>> pystr[0]
'p'
>>> pystr[2:5]
'tho'
>>> iscool[:2]
'is'
>>> iscool[3:]
'cool'
>>> iscool[-1]
'l'
>>> pystr + iscool
'pythonis cool'
>>> pystr + ' ' + iscool
'python is cool'
>>> pystr * 2
'pythonpython'
>>> '-'*20
'--------------------'
>>> pystr = '''python
... is cool '''
>>> pystr
'python\n ... is cool '
>>> print pystr
python
... is cool
>>> iscool[-3]
'o'
>>> iscool[-3:]
'ool'

列表和元祖:可以保存python中任意类型任意数量的对象。列表用[]包裹里面的元素个数和元素值可以改变。元祖用()包裹里面的元素个数和元素值不可改变,可以当成可读,但元祖本身可以改变。列表和元祖都可以用切片来操作得到子集([][:])和字符串操作方法一样。不过它得到的子集不是单个的字符,而可能是一组字符,下面是一些列表和元祖的操作例:

 >>> alist = [1,'s',3,4]
>>> alist
[1, 's', 3, 4]
>>> alist[0]
1
>>> alist[2:]
[3, 4]
>>> alist[:3]
[1, 's', 3]
>>> alist[1]=2
>>> alist
[1, 2, 3, 4]
>>> #元祖的切片操作
>>> atuple = ('robots',77,93,'try')
>>> atuple
('robots', 77, 93, 'try')
>>> atuple[:3]
('robots', 77, 93)
>>> atuple[1] = 5 Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
atuple[1] = 5
TypeError: 'tuple' object does not support item assignment
>>>

字典:由键值对组成(key,value)字典用{}包裹里面的元素可以修改操作例:

 >>> adict = {'host':'earth'}
>>> adict['port']=80
>>> adict
{'host': 'earth', 'port': 80}
>>> adict.keys()
['host', 'port']
>>> adict['host']
'earth'
>>> adict['earth'] Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
adict['earth']
KeyError: 'earth' >>> for key in adict:
print key,adict[key] host earth
port 80
>>>

代码块的缩进和对齐:一级一级的对应,同级的缩进应该保持一致。

if语句:在if语句中判断条件是否符合,符合就往下执行,否则不执行例:


 if True:
print 'hello'
if 1 == 0:
print 'no' hello if 1 == 0:
print 'no'
else:
print 'yes' yes

 

while循环:当条件满足时,会一直执行代码,直到条件不满足跳出。注意要保持缩进一致例

 counter = 0
while counter < 3:
print 'loop #%d' %(counter)
counter += 1 loop #
loop #
loop #

for循环:需要连接一个变量往下执行例:

 #-*- coding:utf-8 -*-
print 'I like to use the Internet for:'
for item in ['e-mail','net-surfing','homework','chat']:
print item I like to use the Internet for:
e-mail
net-surfing
homework
chat #如果想让上面的例子执行在同一行只需要在print语句最后添加一个逗号 print 'I like to use the Internet for:'
for item in ['e-mail','net-surfing','homework','chat']:
print item,
I like to use the Internet for:
e-mail net-surfing homework chat

还有一种类似计数循环: