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

Python初体验之基础语法(三)

时间:2015-08-10 17:37:41      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

所有测试语句基于Python 2.7.1

自学Python,如果哪里说的不恰当,还请指正。谢谢。

示例绝大部分来自博客园vamei的python教程

 

1.函数参数  关键字传递

#! /usr/bin/env python
# coding=UTF-8

# 函数参数关键字传递 根据每个参数的名字传递参数-->无需遵照位置对应关系
# 可以与位置传递混用,但是直接的值传递的参数要出现在关键字参数之前
def sum(a, b, c):
    return a + b + c

print "sum(1,b=2,c=3) = ", sum(1, b=2, c=3)
print "sum(c=3,b=4,a=5) = ", sum(c=3, b=4, a=5)

技术分享

 

2.函数参数默认值

# 赋予参数默认值  如果调用函数时没有传递对应位置上的值,将使用默认值
def squre_sum(a, b, c=1):
    return a ** a + b ** b + c ** c
print "squre_sum(2,3)=", squre_sum(2, 3)
print "squre_sum(2,3,4)=", squre_sum(2, 3, 4)

技术分享

 

3.函数参数 包裹传递

# 函数参数包裹传递 不确定调用时会传递几个参数
# 包裹位置传递
def func(*name):
    print type(name)
    print name
print func(1, 2, 3)
print func(1, 2, 3, 4, 5)

技术分享

这里为什么每次都输出有None,还请知道的园友告知一下,谢谢。

 

# 包裹关键字传递 dic是一个字典 收集所有的关键字传递给函数func_t
def func_t(**dic):
    print type(dic)
    print dic

print func_t(a=1, b=2)
print func_t(a=3, b=4, c=5)

技术分享

 

4.解包裹

# 解包裹 *和** 也可以在调用的时候使用 ,即解包裹 unpacking
def func_m(a, b, c):
    print a, b, c

args = (1, 2, 3)
# 在传递tuple时,让tuple的每一个元素对应一个位置参数,*提示Python去拆分
func_m(*args)

# 词典解包裹
dic = {a: 11, b: 22, c: 33}
func_m(**dic)  # 得到value值
func_m(*dic)   # 得到key值

技术分享

 

5.循环设计

string = xiaomi vs meizu
for index in range(0, len(string), 1):
    print string[index],

技术分享

分别定义上限start,下限stop和每次循环的步长step

技术分享

在python 2.x中,要使 print 不换行 在print语句最后加逗号(英文半角符号形式)
>>> print x, 

在python 3.x中,要使 print 不换行,写成如下格式
>>> print(x, end="")

因为print函数的原型是

print(*objects, sep= , end=\n, file=sys.stdout, flush=False)

默认是以 \n 结尾,即换行。把 \n 替换为空字符串就行。

 

string = xiaomi vs meizu
print \n, 字符串长度:, len(string)
for (index, char) in enumerate(string):
    print index,
    print char,

技术分享

利用enumerate()函数,可以在每次循环中同时得到下标和元素,enumerate()在每次循环中,

返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予index和char。

 

a = [1, 2, 3]
b = [4, 5, 6]
c = [7, 8, 9]
for (x, y, z) in zip(a, b, c):
    print (x, y, z)

技术分享

如果你多个等长的序列,然后想要每次循环时从各个序列分别取出一个元素,可以利用zip()函数

zip()函数的功能,就是从多个列表中,依次各取出一个元素。每次取出的(来自不同列表的)元素合成一个元组,

合并成的元组放入zip()返回的列表中。zip()函数起到了聚合列表的功能。

 

a = [1, 2, 3]
b = [4, 5, 6]

# cluster 聚合
zipped = zip(a, b)
print 聚合列表:, zipped

# decompose 分解
ma, mb = zip(*zipped)
print 分解列表:, ma, mb

技术分享

 

首次安装PyCharm IDE会发现,在调试的输出窗口中文显示为乱码;

这是因为工程默认的编码是GBk,而IDE的默认编码是UTF-8,

打开File --> settings--> Editor -->File Encodings 选项卡

将他们的编码统一一下,设置为支持中文的编码即可,如UTF-8。

技术分享

Python初体验之基础语法(三)

标签:

原文地址:http://www.cnblogs.com/sphere/p/4718459.html

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