【C010】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

本章的新函数

【C010】Python - 基础教程学习(一)_第1张图片


 第二章:列表和元组

参考学习内容: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

【C010】Python - 基础教程学习(一)_第2张图片

 

成员资格(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)

【C010】Python - 基础教程学习(一)_第3张图片

你可能感兴趣的:(python)