Alvin 的个人资料Alvin的共享空间照片日志列表 工具 帮助

日志


3月28日

Poj分类

说明:递推算动归, 离散化算数据结构, 并查集算数据结构, 博弈算动归, 麻烦题一般
都是不错的综合题, 最短路算图论,数据的有序化算排序

麻烦题:
1697, 1712, 1713, 1720, 1729, 1765, 1772, 1858, 1872, 1960, 1963, 2050, 2122,
2162, 2219, 2237,

简单题目:
1000, 1003, 1004, 1005, 1007, 1046, 1207, 1226, 1401, 1504, 1552, 1607, 1657,
1658, 1674, 1799, 1862, 1906, 1922, 1929, 1931, 1969, 1976, 2000, 2005, 2017,
2027, 2070, 2101, 2105, 2109, 2116, 2136, 2160, 2190, 2232, 2234, 2275, 2301,
2350, 2363, 2389, 2393, 2413, 2419,
推荐:
1063, 1064, 1131, 1140, 1715, 2163,

杂题:
1014, 1218, 1316, 1455, 1517, 1547, 1580, 1604, 1663, 1678, 1749, 1804, 2013,
2014, 2056, 2059, 2100, 2188, 2189, 2218, 2229, 2249, 2290, 2302, 2304, 2309,
2313, 2316, 2323, 2326, 2368, 2369, 2371, 2402, 2405, 2407,
推荐:
1146, 1147, 1148, 1171, 1389, 1433, 1468, 1519, 1631, 1646, 1672, 1681, 1700,
1701, 1705, 1728, 1735, 1736, 1752, 1754, 1755, 1769, 1781, 1787, 1796, 1797,
1833, 1844, 1882, 1933, 1941, 1978, 2128, 2166, 2328, 2383, 2420,

高精度:
1001, 1220, 1405, 1503,

排序:
1002, 1318, 1877, 1928, 1971, 1974, 1990, 2001, 2002, 2092, 2379, 2388, 2418,
推荐:
1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 2377, 2380,

搜索
容易:
1128, 1166, 1176, 1231, 1256, 1270, 1321, 1543, 1606, 1664, 1731, 1742, 1745,
1847, 1915, 1950, 2038, 2157, 2182, 2183, 2381, 2386, 2426,
不易:
1024, 1054, 1117, 1167, 1708, 1746, 1775, 1878, 1903, 1966, 2046, 2197, 2349,
推荐:
1011, 1190, 1191, 1416, 1579, 1632, 1639, 1659, 1680, 1683, 1691, 1709, 1714,
1753, 1771, 1826, 1855, 1856, 1890, 1924, 1935, 1948, 1979, 1980, 2170, 2288,
2331, 2339, 2340,

数据结构
容易:
1182, 1656, 2021, 2023, 2051, 2153, 2227, 2236, 2247, 2352, 2395,
不易:
1145, 1177, 1195, 1227, 1661, 1834,
推荐:
1330, 1338, 1451, 1470, 1634, 1689, 1693, 1703, 1724, 1988, 2004, 2010, 2119,
2274,

动态规划
容易:
1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276,
1322, 1414, 1456, 1458, 1609, 1644, 1664, 1690, 1699, 1740, 1742, 1887, 1926,
1936, 1952, 1953, 1958, 1959, 1962, 1975, 1989, 2018, 2029, 2033, 2063, 2081,
2082, 2181, 2184, 2192, 2231, 2279, 2329, 2336, 2346, 2353, 2355, 2356, 2385,
2392, 2424,
不易:
1019, 1037, 1080, 1112, 1141, 1170, 1192, 1239, 1655, 1695, 1707, 1733, 1737,
1837, 1850, 1920, 1934, 1937, 1964, 2039, 2138, 2151, 2161, 2178,
推荐:
1015, 1635, 1636, 1671, 1682, 1692, 1704, 1717, 1722, 1726, 1732, 1770, 1821,
1853, 1949, 2019, 2127, 2176, 2228, 2287, 2342, 2374, 2378, 2384, 2411,

字符串:
1488, 1598, 1686, 1706, 1747, 1748, 1750, 1760, 1782, 1790, 1866, 1888, 1896,
1951, 2003, 2121, 2141, 2145, 2159, 2337, 2359, 2372, 2406, 2408,

贪心:
1042, 1065, 1230, 1323, 1477, 1716, 1784,

图论
容易:
1161, 1164, 1258, 1175, 1308, 1364, 1776, 1789, 1861, 1939, 1940, 1943, 2075,
2139, 2387, 2394, 2421,
不易:
1041, 1062, 1158, 1172, 1201, 1275, 1718, 1734, 1751, 1904, 1932, 2173, 2175,
2296,
网络流:
1087, 1273, 1698, 1815, 2195,
匹配:
1274, 1422, 1469, 1719, 2060, 2239,
Euler:
1237, 1637, 1394, 2230,
推荐:
2049, 2186,

计算几何
容易:
1319, 1654, 1673, 1675, 1836, 2074, 2137, 2318,
不易:
1685, 1687, 1696, 1873, 1901, 2172, 2333,
凸包:
1113, 1228, 1794, 2007, 2187,

模拟
容易:
1006, 1008, 1013, 1016, 1017, 1169, 1298, 1326, 1350, 1363, 1676, 1786, 1791,
1835, 1970, 2317, 2325, 2390,
不易:
1012, 1082, 1099, 1114, 1642, 1677, 1684, 1886,

数学
容易:
1061, 1091, 1142, 1289, 1305, 1306, 1320, 1565, 1665, 1666, 1730, 1894, 1914,
2006, 2042, 2142, 2158, 2174, 2262, 2305, 2321, 2348,
不易:
1067, 1183, 1430, 1759, 1868, 1942, 2167, 2171, 2327,
推荐:
1423, 1450, 1640, 1702, 1710, 1721, 1761, 1830, 1930, 2140,
3月26日

ACM_POJ

poj--题目分类(转载)

1、   排序

1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 2377, 2380, 13
18, 1877, 1928, 1971, 1974, 1990, 2001, 2002, 2092, 2379,

1002(需要字符处理,排序用快排即可) 1007(稳定的排序) 2159(题意较难懂) 2231
2371(简单排序) 2388(顺序统计算法) 2418(二*排序树)

2、 搜索、回溯、遍历

1022 1111 1118 1129 1190 1562 1564 1573 1655 2184 2225 2243 2312 2362 2378 2386
1010,1011,1018,1020,1054,1062,1256,1321,1363,1501,1650,1659,1664,1753,2078,208
3,2303,2310,2329

简单:1128, 1166, 1176, 1231, 1256, 1270, 1321, 1543, 1606, 1664, 1731, 1742, 17
45, 1847, 1915, 1950, 2038, 2157, 2182, 2183, 2381, 2386, 2426,
不易:1024, 1054, 1117, 1167, 1708, 1746, 1775, 1878, 1903, 1966, 2046, 2197, 23
49,
推荐:1011, 1190, 1191, 1416, 1579, 1632, 1639, 1659, 1680, 1683, 1691, 1709, 17
14, 1753, 1771, 1826, 1855, 1856, 1890, 1924, 1935, 1948, 1979, 1980, 2170, 2288
, 2331, 2339, 2340,1979(和迷宫类似) 1980(对剪枝要求较高)

3、 历法

1008 2080 (这种题要小心)

4、 枚举

1012,1046, 1387, 1411, 2245, 2326, 2363, 2381,1054(剪枝要求较高),1650
(小数的精度问题)

5、   数据结构的典型算法

容易:1182, 1656, 2021, 2023, 2051, 2153, 2227, 2236, 2247, 2352, 2395,
不易:1145, 1177, 1195, 1227, 1661, 1834,
推荐:1330, 1338, 1451, 1470, 1634, 1689, 1693, 1703, 1724, 1988, 2004, 2010, 21
19, 2274, 1125(弗洛伊德算法) ,2421(图的最小生成树)

6、 动态规划

1037 A decorative fence、
1050 To the Max、
1088 滑雪、
1125 Stockbroker Grapevine、
1141 Brackets Sequence、
1159 Palindrome、
1160 Post Office、
1163 The Triangle、
1458 Common Subsequence、
1579 Function Run Fun、
1887 Testing the CATCHER、
1953 World Cup Noise、
2386 Lake Counting

7、 贪心

1042, 1065, 1230, 1784,1328 1755(或用单纯形方法),2054,101
7, 1328,1862, 1922 ,2054, 2209, 2313, 2325, 2370。

8、 模拟

容易:1006, 1008, 1013, 1016, 1017, 1169, 1298, 1326, 1350, 1363, 1676, 1786, 17
91, 1835, 1970, 2317, 2325, 2390,
不易:1012, 1082, 1099, 1114, 1642, 1677, 1684, 1886,1281 1928 2083 2141 2015

9、   递归

1664

10、字符串处理

1488, 1598, 1686, 1706, 1747, 1748, 1750, 1760, 1782, 1790, 1866, 1888, 1896, 19
51, 2003, 2121, 2141, 2145, 2159, 2337, 2359, 2372, 2406, 2408, 1016 1051 1126 1
318 1572 1917 1936 2039 2083 2136 2271 2317 2330,2121 2403

11、数论

1006,1014,1023,1061,1152,1183,1730,2262

12、几何有关的题目

凸包:1113, 1228, 1794, 2007, 2187,1113 wall,2187 beauty contest
容易:1319, 1654, 1673, 1675, 1836, 2074, 2137, 2318,
不易:1685, 1687, 1696, 1873, 1901, 2172, 2333,

13、任意精度运算、数字游戏、高精度计算

1001 1023 1047 1060 1079 1131 1140 1142 1207 1220 1284 1289 1306 1316 1338 1405
1454 1503 1504 1519 1565 1650 1969 2000 2006 2081 2247 2262 2305 2316 2389
1001, 1220, 1405, 1503,1001(高精度乘法) 2413(高精度加法,还有二分查找)

14、概率统计

1037,1050

15、小费用最大流、最大流

2195 going home,2400 supervisor, supervisee,1087 a plug for UNIX,1149 PIGS,1
273 drainage ditches,1274 the perfect stall,1325 machine schedule,1459 power
network,2239 selecting courses

16、压缩存储的DP

1038 bugs integrated inc,1185 炮兵阵地,2430 lazy cow

17、最长公共子串(LCS)

1080 human gene functions,1159 palindrome,1458 common subsequence,2192 zipper

18、图论及组合数学

2421 Constructing Roads、
2369 Permutations、
2234 Matches Game、
2243 Knight Moves、
2249 Binomial Showdown、
2255 Tree Recovery、
2084 Game of Connections、
1906 Three powers、
1833 排列、
1850 Code、
1562 Oil Deposits、
1496 Word Index、
1306 Combinations、
1125 Stockbroker Grapevine、
1129 Channel Allocation、
1146 ID Codes、
1095 Trees Made to Order、找规律
2247 Humble Numbers、
2309 BST、
2346 Lucky tickets、
2370 Democracy in danger、
2365 Rope、
2101 Honey and Milk Land
2028 When Can We Meet?、
2084 Game of Connections、
1915 Knight Moves、
1922 Ride to School、
1941 The Sierpinski Fractal、
1953 World Cup Noise、
1958 Strange Towers of Hanoi、
1969 Count on Canton、
1806 Manhattan 2025、
1809 Regetni、
1844 Sum、
1870 Bee Breeding、
1702 Eva\'s Balance、
1728 A flea on a chessboard、
1604 Just the Facts、
1642 Stacking Cubes、
1656 Counting Black、
1657 Distance on Chessboard、
1662 CoIns、
1663 Number Steps、
1313 Booklet Printing、
1316 Self Numbers、
1320 Street Numbers、
1323 Game Prediction、
1338 Ugly Numbers、
1244 Slots of Fun、
1250 Tanning Salon、
1102 LC-Display、
1147 Binary codes、
1013 Counterfeit Dollar、

19、博弈类

1067 取石子游戏、
1740 A New Stone Game、
2234 Matches Game、
1082 Calendar Game 、
2348 Euclid\'s Game、
2413 How many Fibs?、
2419 Forest

20、简单、模拟题
1001 Exponentiation 、
1002 487-3279、
1003 Hangover 、
1701 Dissatisfying Lift、
2301 Beat the Spread!、
2304 Combination Lock、
2328 Guessing Game、
2403 Hay Points 、
2406 Power Strings、
2339 Rock, Scissors, Paper、
2350 Above Average、
2218 Does This Make Me Look Fat?、
2260 Error Correction、
2262 Goldbach\'s Conjecture、
2272 Bullseye、
2136 Vertical Histogram、
2174 Decoding Task、
2183 Bovine Math Geniuses、
2000 Gold Coins、
2014 Flow Layout、
2051 Argus、
2081 Calendar、
1918 Ranking List、
1922 Ride to School、
1970 The Game、
1972 Dice Stacking、
1974 The Happy Worm、
1978 Hanafuda Shuffle、
1979 Red and Black、
1617 Crypto Columns、
1666 Candy Sharing Game、
1674 Sorting by Swapping、
1503 Integer Inquiry、
1504 Adding Reversed Numbers、
1528 Perfection、
1546 Basically Speaking、
1547 Clay Bully、
1573 Robot Motion、
1575 Easier Done Than Said?、
1581 A Contesting Decision、
1590 Palindromes、
1454 Factorial Frequencies、
1363 Rails、
1218 THE DRUNK JAILER、
1281 MANAGER、
1132 Border、
1028 Web Navigation、

21、初等数学

1003 Hangover、
1045 Bode Plot、
1254 Hansel and Grethel、
1269 Intersecting Lines、
1401 Factorial、
1410 Intersection、
2363 Blocks 、
2365 Rope、
2242 The Circumference of the Circle、
2291 Rotten Ropes、
2295 A DP Problem、
2126 Factoring a Polynomial、
2191 Mersenne Composite Numbers、
2196 Specialized Four-Digit Numbers、
1914 Cramer\'s Rule、
1835 宇航员、
1799 Yeehaa!、
1607 Deck、
1244 Slots of Fun、
1269 Intersecting Lines、
1299 Polar Explorer、
1183 反正切函数的应用、

22、匹配

1274, 1422, 1469, 1719, 2060, 2239

===================================

经典
1011(搜索好题)
1012(学会打表)
1013
1019(它体现了很多此类问题的特点)
1050(绝对经典的dp)
1088(dp好题)
1157(花店,经典的dp)
1163(怎么经典的dp那么多呀???)
1328(贪心)
1458(最长公共子序列)
1647(很好的真题,考临场分析准确和下手迅速)
1654(学会多边形面积的三角形求法)
1655(一类无根树的dp问题)
1804(逆序对)
2084(经典组合数学问题)
2187(用凸包求最远点对,求出凸包后应该有O(N)的求法,可我就是调不出来)
2195(二分图的最佳匹配)
2242(计算几何经典)
2295(等式处理)
2353(dp,但要记录最佳路径)
2354(立体解析几何)
2362(搜索好题)
2410(读懂题是关键)
2411(经典dp)



趣味
1067(很难的数学,但仔细研究,是一片广阔的领域)
1147(有O(n)的算法,需要思考)
1240(直到一棵树的先序和后序遍历,那么有几种中序遍历呢?dp)
1426(是数论吗?错,是图论!)
1648(别用计算几何,用整点这个特点绕过精度的障碍吧)
1833(找规律)
1844(貌似dp或是搜索,其实是道有趣的数学题)
1922(贪心,哈哈)
2231
2305(不需要高精度噢)
2328(要仔细噢)
2356(数论知识)
2359(约瑟夫问题变种)
2392(有趣的问题)



很繁的题
1001
1008
1087(构图很烦,还有二分图的最大匹配)
1128(USACO)
1245
1329
1550(考的是读题和理解能力)
1649(dp)
2200(字符串处理+枚举)
2358(枚举和避免重复都很烦)
2361(仔细仔细再仔细)



难题

1014(数学证明比较难,但有那种想法更重要)
1037(比较难的dp)
1405(高精度算法也分有等级之分,不断改进吧)
2002(不知道有没有比O(n^2*logn)更有的算法?)
2054(极难,很强的思考能力)
2085(组合数学)
2414(dp,但要剪枝)
2415(搜索)
2423(计算几何+统计)



多解题
1002(可以用排序,也可以用统计的方法)
1338(搜索和dp都可以)
1664(搜索和dp都练一练吧)
2082(这可是我讲的题噢)
2352(桶排和二*树都行)



Note:
1011: 很经典的剪支
1014: 难在数学上
1017: 严格的数学证明貌似不容易
1021: 有点繁,考察对图形进行各种旋转的处理
1083: 巧妙的思考角度
1150: 分奇偶讨论,lg(n)算法
1218: 三行就够了,虽然简单,但也有优劣之别
1505: 二分加贪心
1654: 做法也许很多吧,本人用有向面积做的
1674: 计算圈的个数(算是graph 吧)
1700: 数学证明不容易
1742: O(m*n)的算法
1863: 要耐心地慢慢写…^_^
1988: 并查集
2051: 堆
2078: 不难,但剪支可以做到很好
2082::O(n),你想到了吗?
2084: 卡特兰数
2182: 线段树
2195: 最小费用最大流
2234: 经典博弈算法
2236: 并查集
2299: 二分思想
2395: Kruskal 最小生成树的拓展
2406: KMP
2411: 用二进制串来表示状态
3月21日

python入门

1.if __name__可以用来做模块测试,例如:if __name__ == __main__这样就可以判断此模块是被别的模块调用还是自己执行,如果自己执行就可以加上测试代码,而又不影响别的模块调用它,此特性非常cool。
2.字典里面的键值是唯一的,并且不可改变,它的值可以改变,只要重新指定这个键值所对应的值就可以,例如:dict['key'] = newvalue,如果要添加新的项,只要简单的执行如下语句就可dict['newkey'] = newvalue。字典中的数据注意是无序的,而且可以是任意类型的组合,也就是说并不要求一个字典里面的数据是同意类型。删除字典中的特定元素可以用 del dict['key']来实现,要想清空字典则需要调用dict.clear()方法,字典可以通过keys()方法来返回一个包括所有键值的列表。
3.python的列表支持负索引,遵循如下原则list[n] = list[n - len(list)] 一个从前向后从0开始,一个从后向前从-1开始。而且它支持分片操作也就类似字符串求字串操作,也支持负索引。列表支持两种添加操作,append在末尾 添加,insert(n,element)在索引为n处添加,原来在n的元素向后移动,类似链表操作,insert(element)与append相 同,要查找某个元素需要用list的index方法,它返回第一个匹配的元素的索引,如果不存在此元素则报异常,所以在查询某个元素的时候最好先判断此元 素是否在列表中出现,可以用in来测试,如果存在返回1,否则0。列表删除元素需要用remove方法,或pop方法,remove删除第一个匹配的元 素,如果找不到则异常,pop删除最后一个元素,并且返回它的值,很适合dfs,bfs操作。列表可以拼接就像字符串一样,它支持+和extend两种手 段。这两种手段有些区别,+是返回一个拼接后的串,而extend则是对原来字符串的修改(类似),毕竟python的字符串是不可改变的^^,当然支持 +也就支持+=了,意义与c/c++一样,而且更进一步,它还支持*操作符,来实现相同的加法操作,例如list = ['1','2'] * 2 与list = ['1','2'] + ['1','2']相同。
3.元组与列表类似,但是它是不可改变的,所以不支持删除,添加,拼接等操作,而且比较奇怪的是它也不支持index操作,但是支持in关键字来判断是否 存在某个元素,它可以通过list方法来转变成一个列表,列表也可以通过tuple函数转换成员组,它的好处在于,比列表的操作要快(想想, linkedlist和arraylist),还有它也可以作为字典的键值,列表不可以,还有可以格式化输出。元组还有一点需要注意,就是声明空元组用 (),一个元素的元组需要用(element,)与表达式相区分。
4.python语言的变量也分为局部变量还有全局变量,也有作用域的概念,而且不需要声明,变量通过赋值来产生,超出作用域后自动湮灭。与java一 样,一个变量没有初始化,在这里就是没有赋值,编译会报错,这能避免多少错误!引用一句话:“早晚有一天你会为此而感谢Python。”
5.python的格式化输入输出与c非常相像,但只支持%s%d。
6.列表映射非常有用,它通过循环遍历列表中的每一个元素,通过一个固定的函数来改变元素的值形成一个新的列表,但并不改变原有的列表。
7.python的字符串有一个非常有用的方法join,string.join(list)可以将列表list的每一个元素用string分隔开后链接 成一个新的字符串,与此对应的是字符串的split方法,此方法与java中的字符串的split方法一样,只不过功能要小一些。split当不带任何参数的时候默认按照空格分割。
8.from ... import ....用法有一点比较方便,引入的方法或变量可以当成局部变量来使用,不需要通过模块名来限定。如果你要经常使用引入模块的方法或变量,那么用此语法, 又或者你想只用引入模块的某些方法和变量,那么也应该用此语法,当如果你的模块中有方法或变量与引入的模块的变量或方法重名,那么应该用import ...语法,避免名称冲突。
9.python有几个非常有用的内置函数,他们都属于一个叫做__builtsin__的模块,可以认为,每个python程序都默认的在开始的时候导 入此模块,这样就可以在python中自有的使用这些内置函数,如:type,str,dir;type是返回任何对象的类型(对象意味着python中 的一切),str是返回任何对象的字符串形式,dir是返回任何对象的所有属性和方法。
10.getattr()是个十分有用的函数,他返回的是一个方法或者函数的引用有点类似cin,cout一样,例如:getattr(list, 'pop')返回的是list.pop()的引用,而getattr(list,'pop')('element') = list.pop('element')。而且他不仅适用内置的数据类型,还适用于模块。
11.python中有一个类似c中的?:的语法结构,就是and or : bool and a or b当bool = True 输出a, bool = False输出b,但是也不是总成立,当a = false的时候就与?:表现不一致,因为and or完全是一个逻辑表达式,并不特殊,当然可以采取一些手段来达到与?:一样,可以把它封装到list中,这样a就永远不可能为假,最好做成一个函数 def choose(bool,a,b): return (bool and [a] or [b])[0]。
12.lambda函数实际上是一个内联函数,好处就不用多说,它只支持一行的表达式返回,当然参数可以任意多个,它不支持任何的命令,除了默认的return之外。还有一点lambda函数本身永远为真,当然返回值可以任意。
13.python中类的概念,有点类似共享存储区的意思,所有的属性还有方法只有一份,只不过可以有多个实例来使用,它的类还支持一些专有方法,主要目 的是实现各种类的通用操作,有点类似java中由object继承下来的基本方法,但是,python并不是要求所有类都必须有这几个方法,当然如果你实 现了的话,操作起来会更加统一,都跟列表的操作类似。
14.python中还有个地方很像java就是它也提供了封装类,就像java中对基本数据类型做得一样,python也把它的基本类型列表,元组,字典都给封装成了类UserList,UserString,UserDict。
15.python中也支持public 和 private 但是没有friend,所有以两个连续的下划线开头,但结尾不是两个连续的下划线的属性还有方法都是private。
16.一些python教程的地址
http://cn.diveintopython.org/                        dive into python
http://www.byteofpython.info/language/chinese/index.html 简明python教程
http://docs.python.org/tut/tut.html                 python tutorial
http://www.python.org/doc/current/ref/       python reference manual
http://www.python.org/doc/current/lib/        python library reference
17.这是个用java写的解释器,可以在里面调用java api,还没有用过。
http://www.jython.org/
3月17日

phthon初学!

1.phthon的html文档没有找到,如果在系统中存在的话,可以通过设置PYTHONDOCS=路径 这样就可以方便的在解释其中调用help命令,来学习phthon的命令了.
2.对于程序中存在unicode字符,需要在字符串前加u 例如:u"我用中文" ,这样才能正确处理.
3.对于正则表达式的应用python也比较方便(起码比java方便)因为,它不仅支持转义符\,还支持原语表达,在字符串前边加上r,这样就不再需要在用正则表达式的时候多写一堆的\.
4.一个字符串一旦被建立就再也不能改变,不明白好处在哪里.
5.注意python程序的每行都不要在前边加上空格,因为在python语言中缩进是有特殊意义的,缩进代表一个语句块,还有缩进尽量用统一的方法或者用TAB或者用2到4个空格,千万不要混杂,否则程序可能会出现跨平台不正确的问题.
6.python的运算符有几个特殊之处,x**y 是x的y次方,//是整除,布尔运算符是英文单词and or not,其他与c/c++ java类似.
7.python可以在函数体内声明全局变量来达到修改外部变量值的目的,关键字为global.并且支持默认参数声明,例如:haha(a = 1, b = 2);还有,当一个函数有多个参的时候,可以不用担心函数调用时参数的顺序问题,例如:haha(a,b,c) 调用时,haha(b = 2, a = 1,4)就可以,这在python中被称做关键参数.
8.python的print很强大,它支持输出次数,比如:print "hello" * 5 就会打印hello五次,默认的实现了循环的功能.
9.python中有个类似javadoc的东东,叫文档字符串,当然没有javadoc那么强大,不过也很不错拉,主要用在函数身上,函数体的逻辑第一 行的字符串就是文档字符串,然后第二行为空行,第三行开始是具体信息,整个文档字符串是在''' '''之间的.并且每行都首字符大写,以句号结束.
10.python本身是个面向对象的语言,而且非常彻底,每个函数都有自己的属性,例如上面所提到的文档字符串,就可以通过调用函数的__doc__(两个下划线连在一起)属性,来展现出来.
11.python的数据结构比较有特色,当然我所说的时基本数据结构,它包括三个基本数据结构,列表,元组,字典,列表比较类似数组,元组则不可以被改 变,字典有点类似java中的hashmap主要是key:value的匹配对。三种数据结构都用到序列,所以都可一通过[]来访问,列表是由[]声明, 元组是()声明,字典是{}声明,字典里面的键值要用简单的对象来实现。什么是序列呢,他主要的特点就是支持分片操作符还有游标操作符,其中许多方法与 java中的字符串的方法相类似。
12.python中也不存在指针,跟java一样,支持引用。
13.python中类的声明跟java差不多,也支持public and private,是通过在变量前是否有两个连续的下划线区分的,__init__类似c++中的构造函数,self跟
java,c++中的this相同,__del__类似c++中的析构函数,也支持继承,但是继承的时候有个地方需要注意,子类的构造函数并不默认的调用父类的构造函数,这需要你自己来显示调用。
14.输入输出中的文件操作,出了普通的功能外还有一个特点,就是可以指定文件的权限,也就是,是只读还是读写。它还提供一种存储器,可以想里面存放任何 对象,存储器是pickle和cPickle,后者是用c语言实现的,所以十分的高效,据称比pickle快1000倍,主要就是把任何一个对象与文件联 系到一起,支持两个操作dump,pop。
15.python中的模块就跟java,c++,c中类库的概念一样,相比之下与java共同点更多,支持import 和import as 和 from ... import 三种形式,第一种与java中的import一样,第二种相当于别名,也就是import xyz as x 用x 来代替xyz,第三种类似java中import java.util.scanner这样的操作,也就是可以指定模块中的元素。dir()函数可以列出模块的所有元素。
16.python中的异常机制非常类似java,也可以声明自己定义的异常类,与java中try catch finally相对应的是try except finally
17.python中有个assert()函数与c++中的assert()函数一样。
18.列表综合是一种非常有效的手段,直观上看去就是把一个for循环加入到一个列表的声明中去。
19.python支持函数的参数为元组和字典,相应的需要操作符*,**;*把多余的参数存为元组,**则存为字典。
20.exec可以执行报存在字符串或者文件中的python命令,eval则能计算保存在字符串中的表达式的值。

3月14日

几个有用的地址!

刘鑫的Blog:http://80x86.cn/blog/
rpm search:http://rpm.pbone.net
live cd:http://gentoo-wiki.com/HOWTO_build_a_LiveCD
packages:http://packages.gentoo.org
fedora project:http://fedora.linuxsir.org/main