首页 > 代码库 > pyhton (一)基础

pyhton (一)基础

我看的是廖雪峰写的python2.7教程,我记录的都是关键点,或者容易忘记的地方,还请看原版教程,

http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000

 

人生苦短,我用Python。

这话可不是说说而已,在不涉及到性能要求或者平台要求时,Python无疑是最好的编程语言,听说PHP是世界上最好的语言,没学过,不太清楚。机器学习在不在ARM架构上运行时,通常都是使用Python。

通常ubuntu都是自带Python2.7的,就不介绍如何安装了。

python hello.py

就可以执行了,如果有权限问题,直接sudo chmod a+x hello.py

name = raw_input(please enter your name: )
print hello,, name
print The quick brown fox, jumps over, the lazy dog

结果为
The quick brown fox jumps over the lazy dog
我的天哪,这个破博客的字体要把我给搞疯了,谁特么设计的这个编辑界面,赶紧把这个产品开了吧,傻子一样,
name = raw_input()
print hello,, name

这样就可以在命令行进行输入字符串了。

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用‘‘‘...‘‘‘的格式表示多行内容,可以自己试试:
>>> print ‘‘‘line1
... line2
... line3‘‘‘
line1
line2
line3

可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,

python对于字符串的处理也和其他语言一样是非常令人头疼的,以前汉化游戏时,涉及到偏移量就更是头大,

由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;

第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

>>> classmates.append(Adam)
>>> classmates
[Michael, Bob, Tracy, Adam]
>>> classmates.insert(1, Jack)
>>> classmates
[Michael, Jack, Bob, Tracy, Adam]

 要删除list末尾的元素,用pop()方法:

>>> classmates.pop()
Adam
>>> classmates
[Michael, Jack, Bob, Tracy]

要删除指定位置的元素,用pop(i)方法,其中i是索引位置:

>>> classmates.pop(1)
Jack
>>> classmates
[Michael, Bob, Tracy]

 list里面的元素的数据类型也可以不同,比如:

>>> s = [python, java, [asp, php], scheme]
>>> len(s)
4

另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字。

elif是else if 的缩写,注意缩进。

age = 3
if age >= 18:
    print adult
elif age >= 6:
    print teenager
else:
    print kid

 

 dict

names = [Michael, Bob, Tracy]
scores = [95, 75, 85]
>>> d = {Michael: 95, Bob: 75, Tracy: 85}
>>> d[Michael]
95

dict的查找速度更快,这个在自然语言处理中有应用,研究这方面的可以深入了解。

由于一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉:

 判断key是否存在

>>> Thomas in d
False

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

 set需要list作为输入。

>>> s = set([1, 2, 3])
>>> s
set([1, 2, 3])

方法add 、 remove

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:

>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
set([2, 3])
>>> s1 | s2
set([1, 2, 3, 4])

abs取绝对值,cmp比较两个数的大小

>>> int(‘123‘)
123
>>> int(12.34)
12
>>> float(‘12.34‘)
12.34
>>> str(1.23)
‘1.23‘
>>> unicode(100)
u‘100‘
>>> bool(1)
True
>>> bool(‘‘)
False


 使用while 循环判断list内的数值为奇数还是偶数

#!usr/bin/python
#coding:utf-8

numbers = [12,5,8,7,3,10]
even = []
odd = []

while len(numbers) > 0:
    number = numbers.pop()
    if(number%2 == 0):
        even.append(number)
    else:
        odd.append(number)

print even
print odd

for循环遍历

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
for letter in Python:     # 第一个实例
   print 当前字母 :, letter
 
fruits = [banana, apple,  mango]
for fruit in fruits:        # 第二个实例
   print 当前水果 :, fruit
 
print "Good bye!"

索引遍历

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
fruits = [banana, apple,  mango]
for index in range(len(fruits)):
   print 当前水果 :, fruits[index]
 
print "Good bye!"

 

 判断是否为质数

#!usr/bin/python

#coding:utf-8

for num in range(10,20):
    for i in range(2,num):
        if num%i ==0:
            j = num/i
            print %d equal %d * %d % (num,i,j)
            break
    else:
        print num,is a prime number

 

 break跳出循环

#!usr/bin/python
#coding:utf-8
for letter in python:
    if letter == h:
        break
    print char:,letter
var = 10
while var > 0:
    print now:,var
    var = var -1
    if var == 5:
        break
print "Good bye"

 

 

 

 

 










pyhton (一)基础