码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习笔记之基本语法

时间:2015-06-18 01:58:16      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:python   笔记   函数   


  •     函数导入的三种方式

from math import sqrt   #import the sqrt function only
    e.g. sqrt(25)
from math import *     #import all functions from math module
    e.g. sqrt(25)
import math         #import math module,and use the function via math.*       e.g. math.sqrt(25)
  •     type函数的比较

def distance_from_zero(a):
    if(type(a)==int or type(a)==float):      #the type function return the type of the parameter,and when compare with any type,don‘t round it with quotation mark
        return abs(a)
  •     list数组

#分割数组
letters = [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]   
slice = letters[1:3]     #slice will get letters[1] and letters[2] ,but no letters[3]
print slice
print letters

#根据指定值获取索引
animals = ["aardvark", "badger", "duck", "emu", "fennec fox"]
duck_index = animals.index("duck")   

#在指定索引位置插入值
animals.insert(duck_index,"cobra")

#将指定数组值删除.remove
backpack = [‘xylophone‘, ‘dagger‘, ‘tent‘, ‘bread loaf‘]
backpack.remove(‘dagger‘)

#删除数组元素的三个函数
#1.    n.pop(index)
#n.pop(index) will remove the item at index from the list and return it to you:
n = [1, 3, 5]
n.pop(1)    # Returns 3 (the item at index 1)
print n     # prints [1, 5]
#2.    n.remove(item) will remove the actual item if it finds it:
n.remove(1)  # Removes 1 from the list,NOT the item at index 1
print n      # prints [3, 5]
#3.    del(n[1]) is like .pop in that it will remove the item at the given index, but it won‘t return it:
del(n[1])   # Doesn‘t return anything
print n     # prints [1, 5]

#list数组的for循环
start_list = [5, 3, 1, 2, 4]
square_list = []
for number in start_list:      #依次从start_list取值存入变量number中
    square_list.append( number ** 2 )         #对取出的值平方后追加给square_list
square_list.sort()                        #对square_list排序
print square_list

#数组组成的数组
n = [[1, 2, 3], [4, 5, 6, 7, 8, 9]]
#将数组lists中的所有数组的值取出形成一个新的数组
def flatten(lists):
    results=[]
    for numbers in lists:
        for number in numbers:
            results.append(number)
    return results

print flatten(n)

#数组切割,顺序、倒序
#数组切割的用法相当灵活,基本语法是[start:end:stride],缺省时,start=0,end=len-1,stride#=1。当stride为正时,切割将顺序进行,即从0开始;当stride为负时,切割将逆序进行,即从最后 #一个元素开始。下例中即是从最后一个元素开始每隔一个元素取一个字符
garbled = "!XeXgXaXsXsXeXmX XtXeXrXcXeXsX XeXhXtX XmXaX XI"
message=garbled[::-2]
print message
  •     字典

menu = {} # 新建一个空字典
menu[‘Chicken Alfredo‘] = 14.50   #添加键值对
menu[‘Tomato and Eggs‘] = 11
menu[‘Frid Apple‘] = 9.8
menu[‘Tu Dou‘] = 16.5
del menu[‘Frid Apple‘]             #删除键值对
menu[‘Tu Dou‘]=10                  #修改key对应的值
print "There are " + str(len(menu)) + " items on the menu." #取字典长度len(menu)
print menu

#字典中的键值对的数据类型可以多种多样
inventory = {
    ‘gold‘ : 500,
    ‘pouch‘ : [‘flint‘, ‘twine‘, ‘gemstone‘], # Assigned a new list to ‘pouch‘ key
    ‘backpack‘ : [‘xylophone‘,‘dagger‘, ‘bedroll‘,‘bread loaf‘]
}
# Adding a key ‘burlap bag‘ and assigning a list to it
inventory[‘burlap bag‘] = [‘apple‘, ‘small ruby‘, ‘three-toed sloth‘]

# Sorting the list found under the key ‘pouch‘
inventory[‘pouch‘].sort() 

# 添加一个键值对,该键值对的值为list
inventory[‘pocket‘] = [‘seashell‘,‘strange berry‘,‘lint‘]

# 字典中list数组的引用跟数组本身的引用基本没有区别
inventory[‘backpack‘].sort()
inventory[‘backpack‘].remove(‘dagger‘)
inventory[‘gold‘] = inventory[‘gold‘] + 50

#字典中的for循环,与list一致
webster = {
	"Aardvark" : "A star of a popular children‘s cartoon show.",
    "Baa" : "The sound a goat makes.",
    "Carpet": "Goes on the floor.",
    "Dab": "A small amount."
}
# 输出webster中所有key的值
for web in webster:
    print webster[web]
    
# 字典中for循环的应用实例
prices = {
    "banana": 4,
    "apple": 2,
    "orange": 1.5,
    "pear": 3}
    
stock = {
    "banana": 6,
    "apple": 0,
    "orange": 32,
    "pear": 15}
    
for key in prices :
    print key
    print "price: %s"%(prices[key])     #注意输出字符串的拼接
    print "stock: %s"%(stock[key])

######################################################################################
   小练习
######################################################################################  
lloyd = {                               #student lloyd
    "name": "Lloyd",
    "homework": [90.0, 97.0, 75.0, 92.0],
    "quizzes": [88.0, 40.0, 94.0],
    "tests": [75.0, 90.0]
}
alice = {                              #student alice
    "name": "Alice",
    "homework": [100.0, 92.0, 98.0, 100.0],
    "quizzes": [82.0, 83.0, 91.0],
    "tests": [89.0, 97.0]
}
tyler = {                              #student tyler
    "name": "Tyler",
    "homework": [0.0, 87.0, 75.0, 22.0],
    "quizzes": [0.0, 75.0, 78.0],
    "tests": [100.0, 100.0]
}


def average(numbers):               #get the average of a list of numbers
    total = float(sum(numbers))
    aver = total / len(numbers)
    return aver
    
def get_average(student):          #get the average grade of any student
    homework = average(student["homework"])
    quizze = average(student["quizzes"])
    test = average(student["tests"])
    return 0.1 * homework + 0.3 * quizze + 0.6 * test
    
def get_letter_grade(score):       #get letter grade,like "A"/"B"/"C"
    if(score>=90):
        return "A"
    elif(score>=80):
        return "B"
    elif(score>=70):
        return "C"
    elif(score>=60):
        return "D"
    else:
        return "F"

print get_average(lloyd)          #get the average grade of lloyd

#get the average class grade of all students in the class
def get_class_average(students):
    results=[]
    for student in students :  
        results.append(get_average(student))
    return average(results)

class_average=get_class_average([lloyd,alice,tyler])
print class_average
print get_letter_grade(class_average)

#python内置字典函数
#.items()将分别取出字典的键值对,如(“Monty Python and the Holy Grail”:“Great”)
#.keys()将分别取出字典的键
#.values()将分别取出字典的值
movies = {
	"Monty Python and the Holy Grail": "Great",
	"Monty Python‘s Life of Brian": "Good",
	"Monty Python‘s Meaning of Life": "Okay"
}
print movies.items()
  •     range()

#The range function has three different versions:
#range(stop)
#range(start, stop)
#range(start, stop, step)
#In all cases, the range() function returns a list of numbers from start up to (but not including) stop. Each item increases by step.
#If omitted, start defaults to zero andstep defaults to one.

range(6)         # => [0,1,2,3,4,5]
range(1,6)       # => [1,2,3,4,5]
range(1,6,3)     # => [1,4]
  •      filter()与lambda函数

#lambda函数与filter()组合非常有用。lambda定义一个匿名函数,下例中x:(x%3==0 or x%5==0)的意#思就是只要x可以被3或5整除,则返回x。而filter函数将num_15中的元素依次取出作为lambda函数的#输入。
num_15=range(1,16)
threes_and_fives=filter(lambda x:(x%3==0 or x%5==0),num_15)


本文出自 “DeathlessSun” 博客,请务必保留此出处http://deathlesssun.blog.51cto.com/3343691/1662932

Python学习笔记之基本语法

标签:python   笔记   函数   

原文地址:http://deathlesssun.blog.51cto.com/3343691/1662932

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!