变量命名:

1)必须以字符或下划线开头

2)以单下划线开头(_fo)表示不能直接訪问的类属性,须要类提供的接口进行訪问

3)以双下划线开头(__foo)的代表类的私有成员

4)以双下划线开头(__foo__)和结尾的代表python中特殊方法专用的标识,比如__init__()代表类的构造函数



全局变量

keyword global

_num = 12
def myfunction ():
global _num #引用全局变量
num = _num + 1
print 'myfunction num=' + str(num)
myfunction()

字符串的表示函数

str():把值转换为合理形式的字符串,以便用户理解

repr():创建一个字符串。以合法的python表达式的形式来表示值。

比如:

>>> print repr(123L)
123L
>>> print str(123L)
123

输入与输出

输出:print语句

输入:input()和raw_input()函数

input()将读入的用户数据默觉得python表达式

raw_input()将读入的数据转换为字符串

运算符

1)

>>> 5/6
0
>>> 5//6
0
>>> 5.0/6
0.8333333333333334
>>> 5.0//6
0.0

2)

>>> from __future__ import division
>>> 5/6
0.8333333333333334
>>> 5//6
0
>>> 5.0/6
0.8333333333333334
>>> 5.0//6
0.0

3)

>>> -3**2
-9
>>> -(3**2)
-9

幂运算符(**)比取反运算符(一元减运算符)的优先级要高,所以-3**2和-(3**2)是等价的。

运算符的优先级

算术运算符>关系运算符>逻辑运算符



True和False仅仅是对1和0的一种唯美的修饰而已,但实质是一样的。參考以下的样例:

>>> True == 1
True
>>> False == 0
True

循环语句实例:

1)while

i = 1
while i <= 5:
print('The ' + str(i) + '\'s print. ')
i += 1
else:
print('End...')

2)for

array = [(1, 2), (3, 4), (5, 6)]
for (x, y) in array:
print(x, y);

迭代器

for line in open('test.txt'):
print line

并行迭代

1)

names = ['admin', 'guest']
passwords = ['admin', 'guest']
for i in range(len(names)):
print("name: %s, password: %s" % (names[i], passwords[i]))

2)

names = ['admin', 'guest']
passwords = ['admin', 'guest']
for name, password in zip(names,passwords):
print("name: %s, password: %s" % (name, password))

zip将两个序列“压缩”到一起,然后返回一个元组的列表。

编号迭代

names = ['admin', 'guest']
for index, name in enumerate(names):
if 'admin' in name:
names[index] = 'root'
print("index: %s, name: %s" % (index, name))
print(names)

enumerate的主要作用时在提供索引的地方迭代索引值对。



一些语句

break:

在一个循环语句中出现breakkeyword。表示跳出整个循环。假设在嵌套循环中出现breakkeyword。则表示跳出此嵌套循环。

continue:

跳过此次循环。继续进行下一次循环

pass:

表示什么都不用做,类似于一个占位符

del:

能够删除不再使用的对象。

使用del语句不仅会移除对一个对象的引用,也会移除这个名字本身。

1)

name = 'admin'
del name
print name

这个程序执行结果会报错:NameError: name 'name' is not defined

2)

name = 'admin'
key = name
del name
print key

这个程序执行结果为admin。移除name后并不影响key。由于python中删除的仅仅是名称,而不是值本身。

exec:

exec "print 'hello'"

运行结果为:hello



函数和模块

python程序由包(package)、模块(module)和函数(function)组成。

包是由一系列模块组成的集合。模块是处理某一类问题的函数和类的集合。python提供了非常多实用的工具包,如字符串处理、图像处理、web应用等。

包必须至少包括一个__init__.py文件,该文件的内容能够为空。__init__.py用于标识当前目录是一个包。

函数

1)定义

def function_name(arg1,arg2,....):
statement
return value

当中。返回值不是必须的。

假设没有return语句,则python默认返回值为None。

样例:

def login(username, password):
if (username == 'admin') and (password == 'admin'):
print 'login success!'
else:
print 'login error.....'

能够使用例如以下语句调用:

login('admin', 'admin')

2)函数形參与默认參数值

參数的传递有两种方式:值传递和引用传递。參数在函数定义的圆括号内指定。用逗号隔开,当调用函数的时候,也须要以相同的方式提供值(函数中的參数名称为形參。用户提供给函数调用的值称为实參)。

2.1)默认參数值:

def login(username="guest", password="guest"):
if (username == 'admin') and (password == 'admin'):
print 'login success!'
else:
print 'login error.....'

以下来使用例如以下几种调用方式调用:

login('admin', 'admin')
login('admin')
login(password='admin')
login()

返回的结果例如以下:

login success!
login error.....
login error.....
login error.....

第一种方式提供了两个參数。将默认的两个值覆盖。

另外一种方式提供了一个,所以username被admin覆盖。但password使用默认的guest。

第三种方式指定了password为admin。但username使用默认的guest

第四中方式两个參数都使用了默认值。



2.2)列表參数值

def print_array(names=[]):
for name in names:
print(name) keys = ['admin', 'guest']
print_array(keys)

2.3)可变长度參数值

def print_names(* names):
for name in names:
print(name) print_names('root')
print_names('admin', 'guest')

由于參数使用了*标识符,因此传入的实际參数被“封装”到一个元组中。



2.4)字典类型參数值

def print_key_value(** key_value):
keys = key_value.keys()
for key in keys:
print("key: %s, value: %s" % (key, key_value[key])) print_key_value(username = 'admin', password = 'admin')

执行结果:

key: username, value: admin
key: password, value: admin

转载请注明出处:http://blog.csdn.net/iAm333

菜鸟学python-基础(2)的更多相关文章

  1. 【Python杂货铺】速学python基础

    "人生苦短,我学python"是编程届的名言.用python写小脚本的便捷性,让很多其他语言的学习者把python当作辅助语言.拥有了某一个语言的功底,再来学习另外一种语言应该是十 ...

  2. 菜鸟学python之大数据的初认识

    这次作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2639 1.这些分析所采用数据来源是什么? 国家数据库:中国铁路 ...

  3. 【菜鸟学Python】案例一:汇率换算

    汇率换算V1.0 案例描述: 设计一个汇率换算器程序,其功能是将外币换算成人民币,或者相反 案例分析: 分析问题:分析问题的计算部分: 确定问题:将问题划分为输入.处理及输出部分: 设计算法:计算部分 ...

  4. day5学python 基础+装饰器内容

    基础+装饰器内容 递归特性# 1.必须有一个明确的结束条件# 2.每次进入更深一层递归时,问题规模相比上次递归应有所减少# 3.递归效率不高 def run(n): print(n) if int(n ...

  5. 菜鸟学python之程序初体验

    作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2684 1.字符串操作: 解析身份证号:生日.性别.出生地等. def id ...

  6. 小白学 Python(24):Excel 基础操作(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  7. python基础===8道基础知识题

    本文转自微信公众号: 2018-03-12 leoxin 菜鸟学Python 原文地址:http://mp.weixin.qq.com/s/JJSDv5YJOZ9e3hn28zWIsQ NO.1 Py ...

  8. Python基础学习(四)

    菜鸟咀嚼python基础之继续. 一.返回函数 第三章已经简单操作了Python的高阶函数,目前继续练手函数作为返回值的特效:通常,高阶函数除了可以接收函数作为参数外,还可以把函数作为结果值返回. 案 ...

  9. <-0基础学python.第一课->

    初衷:我电脑里面的歌曲很久没换了,我想听一下新的歌曲,把他们下载下来听,比如某个榜单的,但是一首一首的点击下载另存为真的很恶心 所以我想有没有办法通过程序的方式来实现,结果还真的有,而且网上已经有有人 ...

  10. [零基础学python]为什么要开设本栏目

    这个栏目的名称叫做"零基础学Python". 如今网上已经有不少学习python的课程.当中也不乏精品.按理说,不缺少我这个基础类型的课程了.可是,我注意到一个问题.无论是课程还是 ...

随机推荐

  1. linux查看内核版本和发行版本号

    1.查看Linux内核版本号:1.1 uname -r #查看当前linux系统的内核版本号显示举例:2.6.21-1.3194.fc71.2 uname -a #可以查看包括内核版本号.机器硬件信息 ...

  2. C# 获取目录下文件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  3. 移动端1px线适配问题-------适配各种编译CSS工具 stylus sass styled-componet实现方法

    其实在stylus与sass中实现移动端1像素线各个手机设备的适配问题的原理是一样的, 首先我还是先介绍一下原理和所依赖的方法 原理:其实他们都是通过css3的媒体查询来实现的 步骤思路: 1.给目标 ...

  4. MySQL系列(一)--数据类型

    如何选择优化的数据类型: 1.通常更小的更好 相同级别的数据类型,选择占据空间更小的数据类型.更小的数据类型通常更快,因为占用更少的磁盘.内存和CPU缓存,处理时需要的 CPU周期也更少,但是要确保需 ...

  5. 模态对话框与非模态对话框(modeless)

    对话框有两种创建方式:DoModal和Creat. 其中DoModal创建的是模态的对话框,而Creat创建的是非模态的对话框下面总结下他们的不同. 对于模态的对话框,在该对话框被关闭前,用户将不能在 ...

  6. 01C#程序结构及编辑编译环境

    C#程序结构及编辑编译环境 程序结构 C# 中的组织结构的关键概念是程序 (program).命名空间 (namespace).类型 (type).成员 (member) 和程序集 (assembly ...

  7. oracle学习链接

    http://www.cnblogs.com/huyong/category/646939.html

  8. iOS 导航栏风格

    IOS-导航栏风格 导航控制器可以用几种不同的风格来显示自身.默认风格就是标准的灰色外观.目前支持三种不同的风格. 风    格 描    述 UIBarStyleDefault 默认风格:灰色背景, ...

  9. iOS sandbox

    iOS的沙盒机制,应用只能访问自己应用目录下的文件.iOS不像android,没有SD卡概念,不能直接访问图像.视频等内容.iOS应用产生的内容,如图像.文件.缓存内容等都必须存储在自己的沙盒内.默认 ...

  10. Spring接收web请求参数的几种方式

    1 查询参数 请求格式:url?参数1=值1&参数2=值2...同时适用于GET和POST方式spring处理查询参数的方法又有几种写法: 方法一:方法参数名即为请求参数名 // 查询参数1 ...