1. #!/usr/local/bin/python3
  2. #coding=utf-8
  3. #source http://www.cnblogs.com/txw1958/
  4.  
  5. import os, io, sys, re, time, json, base64
  6. import webbrowser, urllib.request
  7.  
  8. period_All_List = [
  9. "min", #分时线
  10. "daily", #日K线
  11. "weekly", #周K线
  12. "monthly" #月K线
  13. ]
  14. period_min = period_All_List[0]
  15. period_daily = period_All_List[1]
  16.  
  17. ChinaStockIndexList = [
  18. "", # sh000001 上证指数
  19. "", # sz399001 深证成指
  20. "", # sh000300 沪深300
  21. "", # sz399005 中小板指
  22. "", # sz399006 创业板指
  23. "", # sh000003 B股指数
  24. ]
  25. ChinaStockIndividualList = [
  26. "", # 中兴通讯
  27. "", # 招商银行
  28. ]
  29.  
  30. WorldStockIndexList = [
  31. {'code':"", 'yahoo':"000001.SS",'name':{'chinese':"中国上证指数", 'english':"CHINA SHANGHAI COMPOSITE INDEX"}},
  32. {'code':"", 'yahoo':"399001.SZ",'name':{'chinese':"中国深证成指", 'english':"SZSE COMPONENT INDEX"}},
  33. {'code':"DJI", 'yahoo':"^DJI",'name':{'chinese':"美国道琼斯工业平均指数", 'english':"Dow Jones Industrial Average"}},
  34. {'code':"IXIC", 'yahoo':"^IXIC",'name':{'chinese':"美国纳斯达克综合指数", 'english':"NASDAQ Composite"},},
  35. {'code':"GSPC", 'yahoo':"^GSPC",'name':{'chinese':"美国标准普尔500指数", 'english':"S&P 500"}},
  36. {'code':"N225", 'yahoo':"^N225",'name':{'chinese':"日本日经225指数", 'english':"NIKKEI 225"}},
  37. {'code':"TWII", 'yahoo':"^TWII",'name':{'chinese':"台湾台北加权指数", 'english':"TSEC weighted index"}},
  38. {'code':"HSI", 'yahoo':"^HSI",'name':{'chinese':"香港恒生指数", 'english':"HANG SENG INDEX"}},
  39. {'code':"FCHI", 'yahoo':"^FCHI",'name':{'chinese':"法国CAC40指数", 'english':"CAC 40"}},
  40. {'code':"FTSE", 'yahoo':"^FTSE",'name':{'chinese':"英国富时100指数", 'english':"FTSE 100"}},
  41. {'code':"GDAXI", 'yahoo':"^GDAXI",'name':{'chinese':"德国法兰克福DAX指数", 'english':"DAX"}
  42. }
  43. ]
  44. WorldStockIndexList_SP500 = WorldStockIndexList[7]
  45.  
  46. #国内股票数据:指数
  47. def getChinaStockIndexInfo(stockCode, period):
  48. try:
  49. exchange = "sz" if (int(stockCode) // 100000 == 3) else "sh"
  50. #http://hq.sinajs.cn/list=s_sh000001
  51. dataUrl = "http://hq.sinajs.cn/list=s_" + exchange + stockCode
  52. stdout = urllib.request.urlopen(dataUrl)
  53. stdoutInfo = stdout.read().decode('gb2312')
  54. tempData = re.search('''(")(.+)(")''', stdoutInfo).group(2)
  55. stockInfo = tempData.split(",")
  56. #stockCode = stockCode,
  57. stockName = stockInfo[0]
  58. stockEnd = stockInfo[1] #当前价,15点后为收盘价
  59. stockZD = stockInfo[2] #涨跌
  60. stockLastEnd= str(float(stockEnd) - float(stockZD)) #开盘价
  61. stockFD = stockInfo[3] #幅度
  62. stockZS = stockInfo[4] #总手
  63. stockZS_W = str(int(stockZS) / 100)
  64. stockJE = stockInfo[5] #金额
  65. stockJE_Y = str(int(stockJE) / 10000)
  66. content = "#" + stockName + "#" + "(" + str(stockCode) + ")" + " 收盘:" \
  67. + stockEnd + ",涨跌:" + stockZD + ",幅度:" + stockFD + "%" \
  68. + ",总手:" + stockZS_W + "万" + ",金额:" + stockJE_Y + "亿" + " "
  69.  
  70. imgPath = "http://image.sinajs.cn/newchart/" + period + "/n/" + exchange + str(stockCode) + ".gif"
  71. twitter = {'message': content, 'image': imgPath}
  72.  
  73. except Exception as e:
  74. print(">>>>>> Exception: " + str(e))
  75. else:
  76. return twitter
  77. finally:
  78. None
  79.  
  80. #国内股票数据:个股
  81. def getChinaStockIndividualInfo(stockCode, period):
  82. try:
  83. exchange = "sh" if (int(stockCode) // 100000 == 6) else "sz"
  84. dataUrl = "http://hq.sinajs.cn/list=" + exchange + stockCode
  85. stdout = urllib.request.urlopen(dataUrl)
  86. stdoutInfo = stdout.read().decode('gb2312')
  87. tempData = re.search('''(")(.+)(")''', stdoutInfo).group(2)
  88. stockInfo = tempData.split(",")
  89. #stockCode = stockCode,
  90. stockName = stockInfo[0] #名称
  91. stockStart = stockInfo[1] #开盘
  92. stockLastEnd= stockInfo[2] #昨收盘
  93. stockCur = stockInfo[3] #当前
  94. stockMax = stockInfo[4] #最高
  95. stockMin = stockInfo[5] #最低
  96. stockUp = round(float(stockCur) - float(stockLastEnd), 2)
  97. stockRange = round(float(stockUp) / float(stockLastEnd), 4) * 100
  98. stockVolume = round(float(stockInfo[8]) / (100 * 10000), 2)
  99. stockMoney = round(float(stockInfo[9]) / (100000000), 2)
  100. stockTime = stockInfo[31]
  101.  
  102. content = "#" + stockName + "#(" + stockCode + ")" + " 开盘:" + stockStart \
  103. + ",最新:" + stockCur + ",最高:" + stockMax + ",最低:" + stockMin \
  104. + ",涨跌:" + str(stockUp) + ",幅度:" + str(stockRange) + "%" \
  105. + ",总手:" + str(stockVolume) + "万" + ",金额:" + str(stockMoney) \
  106. + "亿" + ",更新时间:" + stockTime + " "
  107.  
  108. imgUrl = "http://image.sinajs.cn/newchart/" + period + "/n/" + exchange + str(stockCode) + ".gif"
  109. twitter = {'message': content, 'image': imgUrl}
  110.  
  111. except Exception as e:
  112. print(">>>>>> Exception: " + str(e))
  113. else:
  114. return twitter
  115. finally:
  116. None
  117.  
  118. #全球股票指数
  119. def getWorldStockIndexInfo(stockDict):
  120. try:
  121. #http://download.finance.yahoo.com/d/quotes.csv?s=^IXIC&f=sl1c1p2l
  122. yahooCode = stockDict['yahoo']
  123. dataUrl = "http://download.finance.yahoo.com/d/quotes.csv?s=" + yahooCode + "&f=sl1c1p2l"
  124.  
  125. stdout = urllib.request.urlopen(dataUrl)
  126. stdoutInfo = stdout.read().decode('gb2312')
  127. tempData = stdoutInfo.replace('"', '')
  128. stockInfo = tempData.split(",")
  129. stockNameCn = stockDict['name']['chinese']
  130. stockNameEn = stockDict['name']['english']
  131. stockCode = stockDict['code']
  132. stockEnd = stockInfo[1] #当前价,5点后为收盘价
  133. stockZD = stockInfo[2] #涨跌
  134. stockLastEnd= str(float(stockEnd) - float(stockZD)) #开盘价
  135. stockFD = stockInfo[3] #幅度
  136. percent = float(stockFD.replace("%", ""))
  137. matchResult = re.search("([\w?\s?:]*)(\-)", stockInfo[4]) #日期和最新值
  138. stockDate = matchResult.group(1)
  139.  
  140. content = "#" + stockNameCn + "# " + stockNameEn + "(" + stockCode + ")" \
  141. + " 当前:" + stockEnd + ", 涨跌:" + stockZD + ", 幅度:" + stockFD \
  142. + ", 最后交易时间:" + stockDate
  143.  
  144. twitter = content
  145.  
  146. except Exception as err:
  147. print(">>>>>> Exception: " + yahooCode + " " + str(err))
  148. else:
  149. return twitter
  150. finally:
  151. None
  152.  
  153. def test_china_index_data():
  154. for stockCode in ChinaStockIndexList:
  155. twitter = getChinaStockIndexInfo(stockCode, period_daily)
  156. print(twitter['message'] + twitter['image'])
  157.  
  158. def test_china_individual_data():
  159. for stockCode in ChinaStockIndividualList:
  160. twitter = getChinaStockIndividualInfo(stockCode, period_min)
  161. print(twitter['message'] + twitter['image'])
  162.  
  163. def test_global_index_data():
  164. for stockDict in WorldStockIndexList:
  165. print(getWorldStockIndexInfo(stockDict))
  166.  
  167. def main():
  168. "main function"
  169. print(base64.b64decode(b'Q29weXJpZ2h0IChjKSAyMDEyIERvdWN1YmUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLg==').decode())
  170. test_china_index_data()
  171. test_china_individual_data()
  172. test_global_index_data()
  173.  
  174. if __name__ == '__main__':
  175. main()

原文出处: http://www.cnblogs.com/txw1958/

  1. *** Python 3.2.2 (default, Sep 4 2011, 09:51:08) [MSC v.1500 32 bit (Intel)] on win32. ***
  2. >>>
  3. #上证指数#(000001) 收盘:2128.765,涨跌:2.761,幅度:0.13%,总手:5207.69万,金额:466.8022亿 http://image.sinajs.cn/newchart/daily/n/sh000001.gif
  4. #深证成指#(399001) 收盘:9087.130,涨跌:5.232,幅度:0.06%,总手:626366.6万,金额:475.5102亿 http://image.sinajs.cn/newchart/daily/n/sz399001.gif
  5. #沪深300#(000300) 收盘:2349.108,涨跌:1.620,幅度:0.07%,总手:3109.05万,金额:330.4818亿 http://image.sinajs.cn/newchart/daily/n/sh000300.gif
  6. #中小板指#(399005) 收盘:4289.397,涨跌:-28.691,幅度:-0.66%,总手:40025.33万,金额:52.3716亿 http://image.sinajs.cn/newchart/daily/n/sz399005.gif
  7. #创业板指#(399006) 收盘:703.581,涨跌:-3.144,幅度:-0.44%,总手:18349.6万,金额:30.0858亿 http://image.sinajs.cn/newchart/daily/n/sz399006.gif
  8. #B股指数#(000003) 收盘:217.495,涨跌:-0.164,幅度:-0.08%,总手:23.23万,金额:1.2213亿 http://image.sinajs.cn/newchart/daily/n/sh000003.gif
  9.  
  10. #中兴通讯#(000063) 开盘:11.35,最新:11.48,最高:11.58,最低:11.30,涨跌:0.14,幅度:1.23%,总手:11.01万,金额:1.26亿,更新时间:15:05:51 http://image.sinajs.cn/newchart/min/n/sz000063.gif
  11. #招商银行#(600036) 开盘:9.62,最新:9.75,最高:9.86,最低:9.62,涨跌:0.16,幅度:1.67%,总手:53.18万,金额:5.18亿,更新时间:15:02:09 http://image.sinajs.cn/newchart/min/n/sh600036.gif
  12.  
  13. #中国上证指数# CHINA SHANGHAI COMPOSITE INDEX(000001) 当前:2128.765, 涨跌:+2.761, 幅度:+0.13%, 最后交易时间:3:01am
  14. #中国深证成指# SZSE COMPONENT INDEX(399001) 当前:9087.13, 涨跌:+5.231, 幅度:+0.06%, 最后交易时间:3:00am
  15. >>>>>> Exception: ^DJI list index out of range
  16. None
  17. #美国纳斯达克综合指数# NASDAQ Composite(IXIC) 当前:2930.03, 涨跌:+36.78, 幅度:+1.27%, 最后交易时间:12:03pm
  18. #美国标准普尔500指数# S&P 500(GSPC) 当前:1374.55, 涨跌:+14.53, 幅度:+1.07%, 最后交易时间:12:03pm
  19. #日本日经225指数# NIKKEI 225(N225) 当前:8566.64, 涨跌:+123.54, 幅度:+1.46%, 最后交易时间:2:28am
  20. #台湾台北加权指数# TSEC weighted index(TWII) 当前:7124.49, 涨跌:+153.80, 幅度:+2.21%, 最后交易时间:1:33am
  21. #香港恒生指数# HANG SENG INDEX(HSI) 当前:19274.961, 涨跌:+382.172, 幅度:+2.02%, 最后交易时间:4:01am
  22. #法国CAC40指数# CAC 40(FCHI) 当前:3280.19, 涨跌:+73.07, 幅度:+2.28%, 最后交易时间:11:59am
  23. #英国富时100指数# FTSE 100(FTSE) 当前:5627.21, 涨跌:+54.05, 幅度:+0.97%, 最后交易时间:11:35am
  24. #德国法兰克福DAX指数# DAX(GDAXI) 当前:6689.40, 涨跌:+106.44, 幅度:+1.62%, 最后交易时间:11:45am
  25. >>>

#Sina 数据
# http://hq.sinajs.cn/list=sh600000
# http://hq.sinajs.cn/list=sz000913

#var hq_str_sh601006="大秦铁路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91, 26.92,
#                     22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700, 26.89,
#                     14300,6.88, 15100, 26.87, 3100, 26.92, 8900, 26.93, 14230,
#                     26.94, 25150, 26.95, 15220, 26.96, 2008-01-11, 15:05:32";

0:”大秦铁路”,股票名字;
   1:”27.55″,今日开盘价;
   2:”27.25″,昨日收盘价;
   3:”26.91″,当前价格;//时间结束后也就是收盘价了
   4:”27.55″,今日最高价;
   5:”26.20″,今日最低价;
   6:”26.91″,竞买价,即“买一”报价;
   7:”26.92″,竞卖价,即“卖一”报价;
   8:”22114263″,成交的股票数,由于股票交易以一百股为基本单位,所以在使用时,通常把该值除以一百;
   9:”589824680″,成交金额,单位为“元”,为了一目了然,通常以“万元”为成交金额的单位,所以通常把该值除以一万;
   10:”4695″,“买一”申请4695股,即47手;
   11:”26.91″,“买一”报价;
   12:”57590″,“买二”
   13:”26.90″,“买二”
   14:”14700″,“买三”
   15:”26.89″,“买三”
   16:”14300″,“买四”
   17:”26.88″,“买四”
   18:”15100″,“买五”
   19:”26.87″,“买五”
   20:”3100″,“卖一”申报3100股,即31手;
   21:”26.92″,“卖一”报价 (22, 23), (24, 25), (26,27), (28, 29)分别为“卖二”至“卖四的情况”
   30:”2008-01-11″,日期;
   31:”15:05:32″,时间;
'''

'''
上证综合指数(000001),
http://hq.sinajs.cn/list=s_sh000001  上证综合指数
http://hq.sinajs.cn/list=s_sz399001  深圳成指
var hq_str_s_sh000001=”上证指数,3094.668,-128.073,-3.97,436653,5458126″;
数据含义分别为: 指数名称,当前点数,当前价格,涨跌率,成交量(手),成交额(万元);
    ##['上证指数',  000000
    ##'2377.512', 收盘
    ##'-5.973',   涨跌:
    ##'-0.25',    幅度:
    ##'585346',   总手: /100 万
    ##'5317351']  金额:/1000 亿

K线图

http://image.sinajs.cn/newchart/daily/n/sh601006.gif   日K线
http://image.sinajs.cn/newchart/min/n/sh000001.gif     分时线
http://image.sinajs.cn/newchart/daily/n/sh000001.gif 日K线
http://image.sinajs.cn/newchart/weekly/n/sh000001.gif 周K线
http://image.sinajs.cn/newchart/monthly/n/sh000001.gif 月K线

# 和讯网的图片数据
# http://minpic.quote.stock.hexun.com/WebPic/SH/Min/601669_emb.gif
# http://minpic.quote.stock.hexun.com/WebPic/SZ/Min/000063_emb.gif
'''

Yahoo财经频道获取股票数据的API
http://finance.yahoo.com/d/quotes.csv?s=<股票名称>&f=<数据列选项>
参数s — 表示股票名称,多个股票之间使用英文加号分隔,如“XOM+BBDb.TO+JNJ+MSFT”,罗列了四个公司的股票:XOM, BBDb.TO, JNJ, MSFT。 f — 表示返回数据列,如“snd1l1yr”。
示例
http://finance.yahoo.com/d/quotes.csv?s=XOM+BBDb.TO+JNJ+MSFT&f=snd1l1yr
返回:
"XOM","Exxon Mobil Corpo","10/7/2010",63.85,2.69,12.33
"BBD-B.TO","BOMBARDIER INC., ","10/7/2010",5.27,1.90,N/A
"JNJ","Johnson & Johnson","10/7/2010",63.22,3.26,13.06
"MSFT","Microsoft Corpora","10/7/2010",24.53,2.12,11.68

上述是获取当前最新的数据,若需要获得历史数据,请使用下面API。
http://ichart.yahoo.com/table.csv?s=<string>&a=<int>&b=<int>&c=<int>&d=<int>&e=<int>&f=<int>&g=d&ignore=.csv
参数s — 股票名称 a — 起始时间,月 b — 起始时间,日 c — 起始时间,年 d — 结束时间,月 e — 结束时间,日 f — 结束时间,年 g — 时间周期。Example: g=w, 表示周期是‘周’。d->‘日’(day), w->‘周’(week),m->‘月’(mouth),v->‘dividends only’
一定注意月份参数,其值比真实数据-1。如需要9月数据,则写为08。

示例 查询浦发银行2010.09.25 – 2010.10.8之间日线数据
http://ichart.yahoo.com/table.csv?s=600000.SS&a=08&b=25&c=2010&d=09&e=8&f=2010&g=d
返回:
Date,Open,High,Low,Close,Volume,Adj Close
2010-09-30,12.37,12.99,12.32,12.95,76420500,12.95
2010-09-29,12.20,12.69,12.12,12.48,79916400,12.48
2010-09-28,12.92,12.92,12.57,12.58,63988100,12.58
2010-09-27,13.00,13.02,12.89,12.94,43203600,12.94

深沪股票代码
yahoo的api是国际性的,是支持国内沪深股市的,但代码稍微变动一下,如浦发银行的代号是:600000.SS。规则是:上海市场末尾加.ss,深圳市场末尾加.sz。

—— EOF ——

参考
http://code.google.com/p/yahoo-finance-managed/
http://finance.yahoo.com/
http://www.gummy-stuff.org/Yahoo-data.htm
Python API Class
http://www.goldb.org/ystockquote.html

附录
雅虎股票API f参数对照表
a Ask a2 Average Daily Volume a5 Ask Size
b Bid b2 Ask (Real-time) b3 Bid (Real-time)
b4 Book Value b6 Bid Size c Change & Percent Change
c1 Change c3 Commission c6 Change (Real-time)
c8 After Hours Change (Real-time) d Dividend/Share d1 Last Trade Date
d2 Trade Date e Earnings/Share e1 Error Indication (returned for symbol changed / invalid)
e7 EPS Estimate Current Year e8 EPS Estimate Next Year e9 EPS Estimate Next Quarter
f6 Float Shares g Day’s Low h Day’s High
j 52-week Low k 52-week High g1 Holdings Gain Percent
g3 Annualized Gain g4 Holdings Gain g5 Holdings Gain Percent (Real-time)
g6 Holdings Gain (Real-time) i More Info i5 Order Book (Real-time)
j1 Market Capitalization j3 Market Cap (Real-time) j4 EBITDA
j5 Change From 52-week Low j6 Percent Change From 52-week Low k1 Last Trade (Real-time) With Time
k2 Change Percent (Real-time) k3 Last Trade Size k4 Change From 52-week High
k5 Percebt Change From 52-week High l Last Trade (With Time) l1 Last Trade (Price Only)
l2 High Limit l3 Low Limit m Day’s Range
m2 Day’s Range (Real-time) m3 50-day Moving Average m4 200-day Moving Average
m5 Change From 200-day Moving Average m6 Percent Change From 200-day Moving Average m7 Change From 50-day Moving Average
m8 Percent Change From 50-day Moving Average n Name n4 Notes
o Open p Previous Close p1 Price Paid
p2 Change in Percent p5 Price/Sales p6 Price/Book
q Ex-Dividend Date r P/E Ratio r1 Dividend Pay Date
r2 P/E Ratio (Real-time) r5 PEG Ratio r6 Price/EPS Estimate Current Year
r7 Price/EPS Estimate Next Year s Symbol s1 Shares Owned
s7 Short Ratio t1 Last Trade Time t6 Trade Links
t7 Ticker Trend t8 1 yr Target Price v Volume
v1 Holdings Value v7 Holdings Value (Real-time) w 52-week Range
w1 Day’s Value Change w4 Day’s Value Change (Real-time) x Stock Exchange
y Dividend Yield

Python3获取股票行情数据(中国个股/中国指数/全球指数)的更多相关文章

  1. 通过Jquery异步获取股票实时数据

    最近朋友让我帮他做个异步获取数据的程序,暂时服务器什么都没有,所以我就想先拿股票数据打个框架,方便后续开发和移植等事情 代码如下: <!-- 说明:股票看盘 作者:黑桃A 时间:2014-04- ...

  2. WebXml.com.cn 中国股票行情数据 WEB 服务(支持深圳和上海股市的全部基金、债券和股票),数据即时更新

    http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx

  3. python调用tushare获取股票日线实时行情数据

    接口:daily 数据说明:交易日每天15点-16点之间.本接口是未复权行情,停牌期间不提供数据. 调取说明:基础积分每分钟内最多调取200次,每次4000条数据,相当于超过18年历史,具体请参阅本文 ...

  4. 获取股票历史数据和当前数据的API

    关键字:股票,stock,API,接口 1.获取股票当前数据 新浪数据接口:http://hq.sinajs.cn/list={code}.{code}替换为股票代码,沪市股票代码加前缀sh,深市股票 ...

  5. 金融量化分析-python量化分析系列之---使用python获取股票历史数据和实时分笔数据

    财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据.历史分笔数据,本文对tushare的用法,已经存在的 ...

  6. python分别使用多线程和多进程获取所有股票实时数据

    python分别使用多线程和多进程获取所有股票实时数据   前一天简单介绍了python怎样获取历史数据和实时分笔数据,那么如果要获取所有上市公司的实时分笔数据,应该怎么做呢? 肯定有人想的是,用一个 ...

  7. 使用tushare获取股票历史数据和实时分笔数据

    使用tushare获取股票历史数据和实时分笔数据   财经数据接口包tushare的使用(一) Tushare是一款开源免费的金融数据接口包,可以用于获取股票的历史数据.年度季度报表数据.实时分笔数据 ...

  8. HBase(二): c#访问HBase之股票行情Demo

    上一章完成了c#访问hbase的sdk封装,接下来以一个具体Demo对sdk进行测试验证.场景:每5秒抓取指定股票列表的实时价格波动行情,数据下载后,一方面实时刷新UI界面,另一方面将数据放入到在内存 ...

  9. Pandas应用案例-股票分析:使用tushare包获取股票的历史行情数据进行数据分析

    目标: 使用tushare包获取股票的历史行情数据 输出该股票所有收盘比开盘上涨3%以上的日期 输出该股票所有开盘比前日收盘跌幅超过2%以上的日期 假如为我们从2010年1月1日开始,每月第一个交易日 ...

随机推荐

  1. Android内存优化杂谈

    Android内存优化是我们性能优化工作中比较重要的一环,这里其实主要包括两方面的工作: 优化RAM,即降低运行时内存.这里的目的是防止程序发生OOM异常,以及降低程序由于内存过大被LMK机制杀死的概 ...

  2. or小计

    1.使用or的时候,必须养成两边添加括号,否则结果完全不一样. 2.or条件如果复杂的情况下,可以适当考虑union all改写.

  3. MFC只允许进行一个实例

    APP---InitInstance() 放在所有程序运行前 //只允许运行一个实例  BOOL bfound = FALSE; hmutex = CreateMutex(NULL,TRUE,&quo ...

  4. Swift之动画总结

    UIView动画个人笔记,代码简单,不过多赘述.1.定义三个View @IBOutlet weak var mFirstView: UIView! @IBOutlet weak var mSecond ...

  5. iOS 【UIKit-UIPageControl利用delegate定位圆点位置 之 四舍五入小技巧】

    在UIScrollView中会加入UIPageControl作为页码标识,能够让用户清楚的知道当前的页数.我们须要优化的一点是让pageControl的小圆点精确的跟着scrollView而定位.我们 ...

  6. 1.2.4 Java Annotation 提要

    (本文是介绍依赖注入容器Spring和分析JUnit源码的准备知识) Java Annotation(标注) java.lang.annotation.Annotation是全部Java标注的父接口. ...

  7. java用volatile或AtomicBoolean实现高效并发处理 (只初始化一次的功能要求)

    最近碰到一个这样的功能要求:怎么在一个类里面,实现高效并发处理下只可以初始化一次的方法? 实现方式: 1)volatile方式: /** * Created by Chengrui on 2015/7 ...

  8. html5 video标签如何禁止视频下载

    html5 video标签如何禁止视频下载 一.总结 一句话总结:bing方法给video对象绑定return false的匿名方法. 1.html5 video标签如何禁止视频下载? bing方法给 ...

  9. 【u020】Couple number

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 任何一个整数N都能表示成另外两个整数a和b的平方差吗?如果能,那么这个数N就叫做Couple numb ...

  10. ios开发总结,日常开发:ios开发功能收集,经验分享等等(不断更新中。。。)

    github资料学习和下载地址:https://github.com/niexiaobo/MyDailyDevelopmentNotes ios 学习模块 ios APP 日志管理的重要性: 一个功能 ...