windows版python下载:

  https://pan.baidu.com/s/1dsAPp0C9PJUF73kFDdAzXQ

  安装时勾选pip和Add python.exe to Path。

windows版pycharm下载:

  https://pan.baidu.com/s/1DV81hxSsodtukUHNW-Bzgg

一些基础知识:

  1、if __name__ == '__main__'的意思是:

    当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行;当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。

  2、在python执行py文件

    1. import sys #引入sys库体
    2. sys.path.append("C://myPython") #往系统路径中加入自己存放py文件的地址 
      然后就可以开始通过import的方法导入相关的方法和内容了
    3. from test import * #从test.py文件中加载所有的内容。

文件读写:

  with open(r'f:\test\t1.txt','r') as f:
    print f.read()      读

  f.close()    关闭

  with相当于try...catch;  

  按行读:

  with open(r'f:\test\t1.txt','r') as f:
    for l in f.readlines():
      print l.strip()

  f.close()

  写文件:  

  with open(r'f:\test\t1.txt','w') as f:
    f.write('abcde')

  f.close()

序列化:

  import cPickle as pickle  引入包

  with open(r'f:\test\t1.txt', 'wb') as f:
    dic = 10
    pickle.dump(dic, f)

  f.close()

  with open(r'f:\test\t1.txt', 'rb') as f:
    aa = pickle.load(f)
    print(aa)

  f.close()

多线程:

  

import random
import time,threading
def thread_run(urls):
  for url in urls:
    print "%s ---->>>> %s"%(threading.current_thread().name,url)
    time.sleep(random.random())
  print "thread %s end..."%threading.current_thread().name

t1 = threading.Thread(target=thread_run,name="Thread_1",args=(["url_1","url_2","url_3"],))
t2 = threading.Thread(target=thread_run,name="Thread_1",args=(["url_4","url_5","url_6"],))
t1.start()
t2.start()
t1.join()
t2.join()
print "end....."

  

 //join是主线程等待子线程

  

import random
import threading
import time
class myThread(threading.Thread):
def __init__(self,name,urls):
threading.Thread.__init__(self,name=name)
self.urls = urls def run(self):
for url in self.urls:
print "%s ---->>> %s" %(threading.current_thread().name,url)
print "%s ended..."%threading.current_thread().name t1 = myThread(name="Thread_1",urls=["url_1","url_2","url_3"])
t2 = myThread(name="Thread_2",urls=["url_4","url_5","url_6"])
t1.start()
t2.start()
t1.join()
t2.join()
print "%s end...." %threading.current_thread().name

  线程同步:

import random
import threading
import time
mylock = threading.RLock()
class myThread(threading.Thread):
def __init__(self,name,urls):
threading.Thread.__init__(self,name=name)
self.urls = urls def run(self):
for url in self.urls:
mylock.acquire()
print "%s ---->>> %s --" %(threading.current_thread().name,url)
mylock.release() t1 = myThread(name="Thread_1",urls=["url_1","url_2","url_3"])
t2 = myThread(name="Thread_2",urls=["url_4","url_5","url_6"])
t1.start()
t2.start()
t1.join()
t2.join()
print "%s end...." %threading.current_thread().name

  

Python初学1的更多相关文章

  1. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

     孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...

  2. Python初学笔记之字符串

    一.字符串的定义 字符串是就一堆字符,可以使用""(双引号).''(单引号)来创建. 1 one_str = "定义字符串" 字符串内容中包含引号时,可以使用转 ...

  3. Python初学的易犯错误

    当初学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , ...

  4. Python初学

    经同学推荐,学习了下Python语言,看Python的介绍,它本身是一个面向对象的解释型脚本语言,我初看到这句话的时候就在想,一个脚本语言还搞成面向对象?有这个必要么?原谅我肤浅了一把. 它还被俗称为 ...

  5. python 初学笔记 (一)

    初学python第一天,希望自己真正了解计算机语言,并且做出成效. 写下学习笔记,记录学习进度,娱乐学习,不断成长. python详细介绍: python是什么?运用到哪里?有哪些在使用它? pyth ...

  6. Python初学(1)

    最近在学习python,以后想编写一些工作中用的到的脚本.python的入门我选择了<python从初学到入门>,这篇文章我会跟进我的学习进度.算是一个笔记吧. 我本身是熟悉C语言的,看p ...

  7. python初学心得之一

    昨天开始接触并学习python,对python有了初步印象. 一.python主要应用方向 二.python语言类型 三.python2和3的主要区别 四.常见字符编码 五.Python语法初学  一 ...

  8. python初学杂记

    python常用命令: 1.python 或者 python3  打开交互式python解释器 2.python hello.py   通过命令提示符运行python脚本 交互式python解释器常用 ...

  9. Mac下python初学之Image库(PIL)

    Mac下python 使用Image库 安装PIL,下载http://www.pythonware.com/products/pil/ 解压PIL源码包,阅读README知道需要使用python se ...

  10. python初学day01

    1.执行Python脚本时打印的字符有颜色 1. print "\033[32;1mhello\033[0m" #打印绿色 2. print "\033[31;1mhel ...

随机推荐

  1. [luoguP1076] 寻宝(模拟)

    传送门 模拟就好! 然后需要把一圈的有楼梯的都记录一下,取膜乱搞. 代码 #include <cstdio> #include <iostream> #define N 100 ...

  2. 武大OJ 622. Symmetrical

    Description          Cyy likes something symmetrical, and Han Move likes something circular. Han Mov ...

  3. spring boot日期转换

    spring boot 作为微服务简易架构.拥有其自身的特点.快速搭建架构 简单 快捷.这里我只是简单的介绍下我遇到的其中的  两个问题.第一前台页面传递的时间类型 无法自动映射到Java的 Date ...

  4. spring项目启动需要的几个注解

    1.@ComponentScan注解,spring context包下,可以理解嘛,扫描srping bean放在ioc容器中的. ApplicationContext是接口,就是IOC容器嘛,也在这 ...

  5. ios oc 代码 转换为 c++ 描述代码编译过程

    clang -rewrite-objc main.m #import <Foundation/Foundation.h> #import <objc/runtime.h> // ...

  6. 还在自建Redis缓存?那你就out了

    Redis 是什么?简单来说,Redis是一个开源的内存数据库,支持Key-Value等多种数据结构,可用于缓存.事件发布或订阅.高速队列等场景.Redis使用ANSIC语言编写,支持网络,提供字符串 ...

  7. CentOS6.5配置代理上网

    虚拟机vmWare下装了个CentOS,第一件事是配置代理上网,因为工作环境需要使用代理上网,但发觉与uBuntu不同,根本没有什么/etc/environment. 在网上疯狂搜索,都说要配置/et ...

  8. oc77--结构体,NSNumber,NSValue,NSDate,NSCalendar

    // // main.m // OC中的常用结构体 // #import <Foundation/Foundation.h> int main(int argc, const char * ...

  9. Cadence——每次启动软件弹出找不到license文件的提示窗口

    1. 摘要 按照Cadence16.60,每次启动该软件,总弹出提示窗口,内如大致为:Orcad Capture license was not found.... 2. 解决方法 参考此链接:htt ...

  10. POJ 3268 最短路应用

    POJ3268 题意很简单 正向图跑一遍SPFA 反向图再跑一边SPFA 找最大值即可. #include<iostream> #include<cstdio> #includ ...