Python - 基础教程学习(第一章 & 第二章)

 第一章:基础知识

>>> from __future__ import division    #实现斜杠/为除,而不是整除
>>> 1 // 2    #实现整除
>>> 2 ** 3    #实现指数
>>> pow(2,3)    #实现指数函数
>>> 0xAF    #十六进制
>>> 010     #八进制
>>> x = input("x:")    #输入的时候要带着格式,字符串要加引号
>>> x = raw_input("y:")    #输入的时候不用加格式,直接转换为字符串

>>> import math    #导入模块
>>> math.floor(342.34)
342.0 

>>> from math import sqrt    #下面不用再加math
>>> sqrt(9)
3.0

>>> import cmath    #复数
>>> cmath.sqrt(-1)
1j

>>> print "Hello"    #单引号和双引号可以交叉使用,都可以用
Hello
>>> print 'Hello'
Hello
>>> print "Let's go!"    #字符串有单,就用双
Let's go!
>>> print '"Hello!"'    #字符串有双,就用单
"Hello!"
>>> print 'Let\'s go'    #转义字符
Let's go

>>> 1+2+3\    #反斜杠可以作为换行符
       +4+5
15

>>> print 'Hello,\nworld'    #\n作为换行符
Hello,
world

>>> print r'C:\nowhere'     #前面加个r就实现原始字符,不再考虑转义字符了
C:\nowhere
>>> print r'C:\Program Files\fnord'
C:\Program Files\fnord

本章的新函数



 第二章:列表和元组

参考学习内容:http://blog.sina.com.cn/s/blog_4b5039210100e9yd.html

>>> name = 'Alex'
>>> name[0]    #第一个
'A'
>>> name[-1]    #从最后一个倒回去
'x'

>>> 'Hello'[1]    #直接用
'e'

>>> fourth = raw_input('Year:')[3]
Year:2005
>>> fourth
'5'

2-1

months = [
	'January',
	'Feburuary',
	'March',
	'April',
	'May',
	'June',
	'July',
	'August',
	'September',
	'October',
	'November',
	'December'
	]

endings=['st','nd','rd'] + 17*['th']\
	 +['st','nd','rd'] + 7 * ['th']\
	 +['st']

year = raw_input('Year:')
month = raw_input('Month(1-12):')
day = raw_input('Day(1-31):')

month_number = int(month)
day_number = int(day)

month_name = months[month_number-1]
ordinal = day + endings[day_number-1]

print month_name + ' ' + ordinal + ', ' + year

运行结果如下(不得不说今天是11.11.11)

Year:2011
Month(1-12):11
Day(1-31):11
November 11th, 2011
分片(格式关系很大)

>>> tag = '<a href="http://www.python.org">Python web site</a>'
>>> tag[9:30]
'http://www.python.org'
>>> tag[32:-4]
'Python web site'

>>> numbers = [1,2,3,4,5,6,7,8,9,10]
>>> numbers[3:6]
[4, 5, 6]
>>> numbers[0:1]
[1]
>>> numbers[8:]
[9, 10]
>>> numbers[-3:]
[8, 9, 10]
>>> numbers[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> numbers[:3]
[1, 2, 3]
2-2
# Split up a URL of the form http://www.something.com

url = raw_input('Please enter the URL: ')
domain = url[11:-4]

print "Domain name: " + domain
Please enter the URL: http://www.baidu.com
Domain name: baidu

更大的步长

>>> numbers = [1,2,3,4,5,6,7,8,9,10]
>>> numbers[0:10:1]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> numbers[0:10:2]
[1, 3, 5, 7, 9]
>>> numbers[0:10:3]
[1, 4, 7, 10]
>>> numbers[0:10:-2]
[]
>>> numbers[::-2]
[10, 8, 6, 4, 2]
>>> numbers[5::-2]
[6, 4, 2]
>>> numbers[:5:-2]
[10, 8]

序列相加

>>> [1,2,3]+[4,5,6]
[1, 2, 3, 4, 5, 6]
>>> a = [1,3,5]
>>> b = [2,4,6 ]
>>> c = a + b
>>> c
[1, 3, 5, 2, 4, 6]

乘法

>>> 'python'*5
'pythonpythonpythonpythonpython'
>>> [42]*10
[42, 42, 42, 42, 42, 42, 42, 42, 42, 42]
初始化一个长度为10的列表

>>> sequence = [None] * 10
>>> sequence
[None, None, None, None, None, None, None, None, None, None]
2-3 序列(字符串)乘法示例
sentence = raw_input("Sentence: ")

screen_width = 80
text_width   = len(sentence)
box_width    = text_width + 6
left_margin  = (screen_width - box_width) // 2

print
print ' ' * left_margin + '+'   + '-' * (box_width-2)  +   '+'
print ' ' * left_margin + '|  ' + ' ' * text_width     + '  |'    #注意空格
print ' ' * left_margin + '|  ' +       sentence       + '  |'
print ' ' * left_margin + '|  ' + ' ' * text_width     + '  |'
print ' ' * left_margin + '+'   + '-' * (box_width-2)  +   '+'
print

成员资格(in)

>>> permissions = 'rw'
>>> 'w' in permissions
True
>>> 'x' in permissions
False
>>> users = ['mlh','foo','bar']
>>> raw_input('Enter your user name:') in users
Enter your user name:mlh
True
>>> subject = '$$Get rich now!!!$$$'
>>> '$$$' in subject
True
2-4 序列成员资格示例

database = [
    ['albert',  '1234'],
    ['dilbert', '4242'],
    ['smith',   '7524'],
    ['jones',   '9843']
]

username = raw_input('User name: ')
pin = raw_input('PIN code: ')

if [username, pin] in database: print 'Access granted'
User name: smith
PIN code: 7524
Access granted
内建函数

>>> numbers = [100,34,679]
>>> len(numbers)
3
>>> max(numbers)
679
>>> min(numbers)
34
>>> max(2,3)
3
>>> min(8,3,4,2)
2
list函数

>>> list('hello')
['h', 'e', 'l', 'l', 'o']
>>> lists = list('hello')
>>> lists
['h', 'e', 'l', 'l', 'o']
>>> x = [1,1,1]
>>> x[1]
1
>>> x[2] = 2
>>> x
[1, 1, 2]
删除元素

>>> names = ['Alice','Beth','Cecil','Dee-Dee','Earl']
>>> del names[2]
>>> names
['Alice', 'Beth', 'Dee-Dee', 'Earl']

分片赋值、插入新的元素

>>> name = list('Perl')
>>> name
['P', 'e', 'r', 'l']
>>> name[2:] = list('ar')
>>> name
['P', 'e', 'a', 'r']
>>> name[1:] = list('ython')
>>> name
['P', 'y', 't', 'h', 'o', 'n']
>>> numbers = [1,5]
>>> numbers[1:1] = [2,3,4]
>>> numbers
[1, 2, 3, 4, 5]
>>> numbers[1:4] = []
>>> numbers
[1, 5]
列表方法

append

>>> lst = [1,2,3]
>>> lst.append(4)
>>> lst
[1, 2, 3, 4]
count

>>> [2,4,3,2,4,5,6,2,6].count(2)
3
>>> x = [[2,3],[3,4],[2,5]]
>>> x.count(1)
0
>>> x.count([2,3])
1
extend
>>> a = [1,2,3]
>>> b = [4,5,6]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6]
index

>>> knights = ['We','are','the','knight','who','say','in']
>>> knights.index('who')
4

insert

>>> numbers = [1,2,3,4,5,6]
>>> numbers.insert(3,'four')
>>> numbers
[1, 2, 3, 'four', 4, 5, 6]
>>> numbers[4:4] = ['four']
>>> numbers
[1, 2, 3, 'four', 'four', 4, 5, 6]
>>> 
pop(栈操作)

>>> x = [1,2,3]
>>> x.append(x.pop())
>>> x
[1, 2, 3]
remove

>>> x = ['to','be','or','not','to','be']
>>> x.remove('be')
>>> x
['to', 'or', 'not', 'to', 'be']
reversed和list函数

>>> x = [1,2,3]
>>> list(reversed(x))
[3, 2, 1]
sort

>>> x = [4,6,2,3,8,1]
>>> x.sort()
>>> x
[1, 2, 3, 4, 6, 8]
存入副本

>>> x = [4,6,2,1,7,9]
>>> y = x[:]
>>> y.sort()
>>> x
[4, 6, 2, 1, 7, 9]
>>> y
[1, 2, 4, 6, 7, 9]
比较

>>> x = [3,2,5,4,6]
>>> y = x
>>> y.sort()
>>> x
[2, 3, 4, 5, 6]
>>> y
[2, 3, 4, 5, 6]
使用sorted函数

>>> x = [4,6,2,1,7,9]
>>> y = sorted(x)
>>> x
[4, 6, 2, 1, 7, 9]
>>> y
[1, 2, 4, 6, 7, 9]
高级排序
>>> cmp(42,32)
1
>>> cmp(99,100)
-1
>>> numbers = [5,3,9,7]
>>> numbers.sort(cmp)
>>> numbers
[3, 5, 7, 9]

>>> x = ['aadkfjl','dkfjl','eori','dkf']
>>> x.sort(key = len)
>>> x
['dkf', 'eori', 'dkfjl', 'aadkfjl']

>>> x = [3,4,6,2,5]
>>> x.sort(reverse = True)    #大小写敏感的!!!
>>> x
[6, 5, 4, 3, 2]
元组:不可变序列

>>> 1,2,4
(1, 2, 4)
>>> 43
43
>>> 34,
(34,)
>>> (1,2,5)
(1, 2, 5)
>>> (43,)
(43,)

tuple函数

>>> tuple([1,2,4])
(1, 2, 4)
>>> tuple('abc')
('a', 'b', 'c')
>>> tuple((1,2,3))
(1, 2, 3)
基本元组操作

>>> x = 1,2,4
>>> x
(1, 2, 4)
>>> x[1]
2
>>> x[0:2]
(1, 2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值