python初学

来源:互联网 发布:北京物资学院网络课 编辑:程序博客网 时间:2024/06/05 08:20

在python上安装库

直接 pip install libname
或者去 python package index https://pypi.python.org/pypi/jieba/  下直接找到对应包下载下来
解压后到对应目录下命令行安装 如果是XX.py文件 就 python XX.py install 如果是XX.whl文件 就 pip install XX.whl

python字符串

python 不像Java一样可以自动包装类,字符串是不可以和别人类型直接相连的,需要把别的类型转化为字符串格式
print "num change:"+str(num)
不能“dsd”+num

中文乱码问题

开头加一行

# -*- coding: UTF-8 -*-

字符串

word="abcdefg"
a=word[2]
print "a is: "+a
b=word[1:3]
print "b is: "+b 


条件语句

x=int(raw_input("Please enter an integer:"))
if x<0:
    x=0
    print "x<0"

elif x==0:
    print "x==0"

else:
    print "x>0"


循环语句

a = ['pp', 'mom', 'dad']
for x in a:
    print x, len(x)

可以发现,python是通过冒号对齐方式来代表代码块的,也是没有严格区别数据类型的

定义函数

def sub(a,b,c):
    if a< b:
        if b < c:
            return "yes"
print sub(1,2,3)

文件IO

path="F:/java/gun.txt"
f=open(path,"w") # Opens file for writing.Creates this file doesn't exist.路径必须存在,文件可以不存在
f.write("ll.\n")
f.writelines("lim.")
f.close()
f=open(path,"r") # Opens file for reading
for line in f:
    print line
f.close()

file = open("E:/Program Files/neo4j-community-3.1.3/paper_clean.dat")
try:
     text = file.readlines()//text读为List格式
     for line in text:
         jsonText = json.loads(line)
         print type(jsonText)//loads将字符串转换成了dict类型
finally:
     file.close()

text = file.readlines()for line in text[0:1]:#因为text是个List

python2.7中文件读进来就是unicode码,想输出文件为字符,需要str.encode("utf8")

将文件读取为json格式

import json
json dumps把数据类型转换成字符串 dump把数据类型转换成字符串并存储在文件中  loads把字符串转换成数据类型  load把文件打开从字符串转换成数据类型

数据格式

set

列表字典字符串这类可迭代的对像都可以做为集合的参数。set集合是无序的,不能通过索引和切片来做一些操作。
它会把他们分为无序不重复的集合
dataset = [['my', 'dog','dog','dog','dog','dog', 'has', 'flea', 'problems', 'help', 'please'],         ['maybe', 'not', 'take', 'him','dog','dog','dog', 'to', 'dog', 'park', 'stupid'],         ['my', 'dalmation', 'is', 'so', 'cute', 'I', 'love', 'him'],         ['stop', 'posting', 'stupid', 'dog','dog','dog','worthless', 'garbage'],         ['mr', 'licks','dog','dog','dog', 'ate', 'my', 'steak', 'how', 'to', 'stop', 'him'],         ['quit', 'buying','dog','dog','dog', 'worthless', 'dog', 'food', 'stupid']]vocabSet = set()for doc in dataset:    vocabSet |= set(doc)vocabList = list(vocabSet)print vocabSet

set(['cute', 'love', 'help', 'garbage', 'I', 'problems', 'is', 'park', 'stop', 'flea', 'dalmation', 'ate', 'food', 'not', 'him', 'buying', 'posting', 'quit', 'worthless', 'licks', 'how', 'maybe', 'please', 'dog', 'to', 'stupid', 'so', 'take', 'mr', 'steak', 'has', 'my'])

vocabSet |= set(doc)
集合的操作 这个是并集 

上面代码可用于构造词袋

tuple元组

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print "tup1[0]: ", tup1[0]
print "tup2[1:5]: ", tup2[1:5]
tuple数据不允许变化

dict字典

key value键值对
python 的字典,它的变量像是一个指针比方说:
  dict a{'a':1,'b':2}
  b=a
  b['a']  = 3
  print a   得到{'a':3,'b':2}

Generator生成器

(引用自http://www.jb51.net/article/63929.htm)通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器(Generator)。


逻辑运算

or  and not

包机制

每个.py文件就相当于一个module,即不同.py文件之间可以相互导入
比如在first.py中定义了一个函数sum
在second.py文件中想要引入该函数,就可以from first import sum
即from 文件名 import 函数名

python with

出自

原创粉丝点击