免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: timespace

分享有礼:Python代码的魔鬼细节大比拼!(获奖名单已公布-2014-8-11) [复制链接]

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
发表于 2014-07-14 22:57 来自手机 |显示全部楼层
支持。强大的的社区支持。

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
发表于 2014-07-15 18:10 |显示全部楼层
有写过深得我心的代码。
现在python越来越流行。

论坛徽章:
14
15-16赛季CBA联赛之辽宁
日期:2019-06-16 15:47:3515-16赛季CBA联赛之广夏
日期:2016-08-13 21:24:352015亚冠之武里南联
日期:2015-07-07 17:37:372015亚冠之萨济拖拉机
日期:2015-07-06 17:07:482015亚冠之全北现代
日期:2015-06-04 13:54:272015亚冠之城南
日期:2015-05-21 15:43:212015年亚洲杯之伊朗
日期:2015-04-25 18:20:362015年亚洲杯之伊朗
日期:2015-04-20 16:06:052015年亚洲杯之科威特
日期:2015-03-07 12:51:26丑牛
日期:2014-12-30 10:26:38申猴
日期:2014-09-28 22:40:18金牛座
日期:2014-09-13 21:12:22
发表于 2014-07-16 00:18 |显示全部楼层
好活动,支持!

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2014-07-16 09:56 |显示全部楼层
reb00t 发表于 2014-07-16 00:18
好活动,支持!


欢迎大家用实际的代码来支持活动!

论坛徽章:
5
巨蟹座
日期:2014-08-28 18:12:342015年迎新春徽章
日期:2015-03-04 10:01:4415-16赛季CBA联赛之江苏
日期:2016-04-28 09:43:3115-16赛季CBA联赛之吉林
日期:2016-06-22 10:34:4315-16赛季CBA联赛之山西
日期:2016-08-16 16:29:55
发表于 2014-07-16 11:14 |显示全部楼层
好书好书啊。。。

论坛徽章:
1
lufei
日期:2016-06-17 17:49:16
发表于 2014-07-16 12:53 |显示全部楼层
python让我很不爽。感觉有歇斯底里症的人才喜欢用,难道搞IT大多有这毛病。总喜欢标新立异。没发觉它比别的语言有什么优势。

论坛徽章:
18
卯兔
日期:2013-09-27 17:41:0615-16赛季CBA联赛之佛山
日期:2016-07-09 17:34:45操作系统版块每周发帖之星
日期:2015-12-02 15:01:04IT运维版块每日发帖之星
日期:2015-12-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-07 06:20:00IT运维版块每日发帖之星
日期:2015-10-03 06:20:00IT运维版块每日发帖之星
日期:2015-10-01 06:20:00羊年新春福章
日期:2015-04-01 17:56:06拜羊年徽章
日期:2015-04-01 17:56:062015年迎新春徽章
日期:2015-03-04 09:49:452015年辞旧岁徽章
日期:2015-03-03 16:54:15天秤座
日期:2015-01-14 06:39:28
发表于 2014-07-16 20:26 |显示全部楼层
回复 10# ssfjhh


    见识到真正的代码了!牛X

论坛徽章:
0
发表于 2014-07-16 22:35 |显示全部楼层
  1. import  os
  2. import threading
  3. from time import  sleep

  4. class BaseThread(object):
  5.     def __init__(self):
  6.         self.run()
  7.     def checkClassMethod(self):
  8.         methods = ['run','start','join']
  9.         inst_methods = dir(self)
  10.         if [method for method in methods if method not in inst_methods]:
  11.             exit('the method is not full in class %s ' % self.__class__)

  12. class ManageThread(BaseThread):
  13.     def __init__(self):
  14.         self.run()

  15.     def thread_function(self,*threads):
  16.         for thread in threads:
  17.             thread.start()
  18.         for thread in threads:
  19.             thread.join()

  20.     def run(self):
  21.         thread = threading.Thread(
  22.             target=self.thread_function,
  23.             args=(HandleThread(),HandleThread1(),
  24.                 # you can install new thread in this
  25.             ))

  26.         thread.start()

  27. class HandleThread(BaseThread):
  28.     def __init__(self):
  29.         self.checkClassMethod()
  30.         self.run()

  31.     def thread_function(self,args):
  32.         while True:
  33.             print args # or do other thing
  34.             sleep(3)

  35.     def run(self):
  36.         self.thread = threading.Thread(
  37.                target=self.thread_function,
  38.                args=((123,)) )

  39.     def start(self):
  40.         self.thread.start()

  41.     def join(self):
  42.         self.thread.join()



  43. class HandleThread1(BaseThread):
  44.     def __init__(self):
  45.         self.checkClassMethod()
  46.         self.run()

  47.     def thread_function(self,args):
  48.         while True:
  49.             print args  # or do other things
  50.             sleep(3)

  51.     def run(self):
  52.         self.thread = threading.Thread(
  53.             target=self.thread_function,
  54.             args=((1230,)) )

  55.     def start(self):
  56.         self.thread.start()

  57.     def join(self):
  58.         self.thread.join()

  59. thread1 = ManageThread()
复制代码
线程模型建立代码:包括一个管理线程和多个被管理线程;
每一个线程都会进行自省处理,查看是否定义了必须定义的方法,这些方法在基类BaseThread中通过一个list约束;
pycharm上成功运行;

论坛徽章:
2
午马
日期:2015-01-27 11:22:392015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2014-07-16 23:30 |显示全部楼层
本帖最后由 to407 于 2014-07-17 20:32 编辑

也贴上一个题
https://www.codeeval.com/browse/130/


这里有一个参考的输入 用例
130.txt.gz (1.62 KB, 下载次数: 1)

130.txt.gz

1.62 KB, 下载次数: 0

输入例子

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
发表于 2014-07-17 12:51 |显示全部楼层
俺个人来说, 是爱 Python 的! 他有很多迷人的地方.
就本人看来: python 这种语言十分优美, 十分低调, 和十分强大.

Python本身被设计为可扩充的. 并非所有的特性和功能都集成到语言核心,
很多人还把 Python 作为一种「胶水语言」(glue language)使用.
使用 Python 将其他语言编写的程式进行集成和封装.


Talk is cheap. Show you the code

就本人看来这个脚本

  • 逻辑完整且可运行于 Python 2.5+ and Python 3.3+. 有简单输入和输出. 不依赖第三方库.
  • 本人得意的地方是他完美结合了其他一些上档次的脚本语言语言 ruby, perl. 并取得了非常好的效果.
  • 这么搞一下, 这样的代码体现出 python 高端奢华上档次的可扩充特性.
  • 代码精简, 只有 10 行, 却十分优美, 十分低调.


呵呵, 自己最得意的 Python 代码:

  1. #!/usr/bin/python

  2. import os
  3. import sys

  4. def hello():
  5.     c1 = 'perl -e  " exec  q['
  6.     c2 = 'ruby -e \' puts %q['
  7.     c3 = 'Hello ' + sys.argv[1]
  8.     c4 = '!]\']"'
  9.     cs = c1 + c2 + c3 + c4
  10.     os.system(cs)

  11. hello()

复制代码
我想, 人们无论做出哪种选择. 都有着不同的追求, 也有着不同的局限.
于是我们做出了不同的选择, 写出不同的代码.

代码体现细节,
细节体现态度,
态度决定成败.

不管是多么高大上的架构/设计/算法,终将依赖有执行力的代码, 代码就是力量, 代码就是神.

突然觉得 python 真是太强悍了, 当然我确实激动了~ {:2_168:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP