当前位置:  编程技术>python

python基础教程之简单入门说明(变量和控制语言使用方法)

    来源: 互联网  发布时间:2014-10-04

    本文导语:  简介有兴趣可以看看: 解释性语言+动态类型语言+强类型语言交互模式:(主要拿来试验,可以试试 ipython) 代码如下:$python>>> print 'hello world' 脚本 代码如下:#!/usr/bin/env pythonprint 'hello world' 环境: 建议python2.7 + easy_install + pip + virtuale...

简介
有兴趣可以看看: 解释性语言+动态类型语言+强类型语言

交互模式:(主要拿来试验,可以试试 ipython)

代码如下:

$python
>>> print 'hello world'

脚本

代码如下:

#!/usr/bin/env python
print 'hello world'


环境:

建议python2.7 + easy_install + pip + virtualenv + ipython

缩进
Python 函数没有明显的 begin 和 end,没有标明函数的开始和结束的花括号。唯一的分隔符是一个冒号 (:),接着代码本身是缩进的。

例子:

代码如下:

#函数
def func(value):
    print value  #缩进

    if value == 1:
        value += 1
    elif value == 2:
        pass
    else:
        value += 10

标识符
变量是标识符的例子。 标识符 是用来标识 某样东西 的名字。在命名标识符的时候,你要遵循这些规则:

1.python中的标识符是区分大小写的。

2.标示符以字母或下划线开头,可包括字母,下划线和数字,大小写敏感

3.以下划线开头的标识符是有特殊意义的。

以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;
以双下划线开头的(__foo)代表类的私有成员;
以双下划线开头和结尾的(foo)代表python里特殊方法专用的标识,如init()代表类的构造函数。

4.标识符不能是保留字

代码如下:

and            elif        global   or    yield
assert         else        if       pass
break          except      import   print
class          exec        in       raise
continue       finally     is       return
def            for         lambda   try
del            from        not      while

变量

赋值语句

1、赋值语句建立对象引用值
2、变量名在首次赋值时会被建立
3、变量名在引用前必须先赋值,不能引用未声明赋值的变量


赋值方式

简单赋值
Variable(变量)=Value(值)

代码如下:

s = ‘spam'

多变量赋值

python中原始的元组和列表赋值语句形成,最后已被通用化,以接受右侧可以是是任何类型的序列,只要长度相等即可。注意,长度一定相等
Variable1,variable2,...=Value1,Value2,...

代码如下:

s,h = ‘a','b'  元组赋值,位置性  【常用】
[s,h] =[‘a','b'] 列表赋值,位置性
a,b,c,d = ‘spam' 序列赋值,通用性
a,*b = ‘spam' 拓展序列解包(python3)

多目标赋值

代码如下:

a=b=variable

s = h = ‘spam' 多目标赋值


注意:多个变量内存中指向同一对象,对于可变类型需要,修改一个会对其他造成影响

自变赋值

代码如下:

如+=,-=,*=等。

在自变赋值中,python仅计算一次,而普通写法需计算两次;

自变赋值会修改原始对象,而不是创建一个新对象。

代码如下:

s +=42 增强赋值
x += y

优点:

代码如下:

左侧只需计算一次,优化技术自动原处修改,更快
l +=[] 原处修改
l = l+[] 复制,生成新的对象

运算符
一个表达式可以分解为运算符和操作数

运算符 的功能是完成某件事,它们由如+这样的符号或者其他特定的关键字表示

运算符需要数据来进行运算,这样的数据被称为 操作数

运算符优先顺序列表(从最高到最低)

代码如下:

运算符   描述
'expr'  字符串转换
{key:expr,...}  字典
[expr1,expr2...]    列表
(expr1,expr2,...)   元组
function(expr,...)  函数调用
x[index:index]  切片
x[index]    下标索引取值
x.attribute 属性引用
~x  按位取反
+x,-x 正,负
x**y    幂
x*y,x/y,x%y 乘,除,取模
x+y,x-y   加,减
xy 移位
x&y 按位与
x^y 按位异或
x|y 按位或
xy   比较
x is y,x is not y 等同测试
x in y,x not in y 成员判断
not x   逻辑否
x and y 逻辑与
x or y  逻辑或
lambda arg,...:expr Lambda匿名函数

结合规律

运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算

计算顺序

默认地,运算符优先级表决定了哪个运算符在别的运算符之前计算。然而,如果你想要改变它们的计算顺序,你得使用圆括号。好的做法:默认对复杂的运算加括号,而不是依赖于默认结合和计算顺序

真值
真值测试

1、任何非零数字或非空对象都为真
2、数字零,空对象以及特殊对象None都为假
3、比较和相等测试都会递归地运用到数据结构中
4、比较和相等测试会返回True或False


真值表

代码如下:

对象/常量   值
""  假
"string"    真   
0   假
2>=1    真
-2>> print range(1, 5)
[1, 2, 3, 4]
>>> print xrange(1, 5)
xrange(1, 5)

在上面语句中,range返回了一个普通List,而xrange返回了一个特定的xrange类型的对象。由于 xrange 方法也创建整数 list(其使用相同参数),所以它与 range 方法非常相似。但是,xrange 方法仅在需要时才在 list 中创建整数。当需要迭代大量整数时,xrange 方法更适用,因为它不会创建极大的 list,那样会消耗大量计算机内存。

while

与if语句类似,含一个条件测试语句,循环,允许重复执行一个语句块。

可选else语句块,同for的else块。

格式:

代码如下:

while :
   if :
      break
   if :
      continue
  
else:
  

说明:

while循环条件变为False的时候,else块才被执行
若是使用break结束循环,while可选的else块不执行
python没有do while或do until循环语句
break & continue & pass
break,终止循环语句,停止循环,若是for/while循环中终止,其else不执行

continue,结束当前,进入下一轮循环 - 跳到最近所在循环的开头处(来到循环首行)

pass 什么事也不做,只是空占位语句,它用于那些语法上必须要有什么语句,但程序什么也不做的场合

循环else块 :只有循环正常离开时才会执行,即

如果你从for或while循环中break终止 ,任何对应的循环else块将不执行。记住,break语句也可以在for循环中使用

其他

编写循环的技巧:
在迭代过程中修改迭代序列不安全(只有在使用链表这样的可变序列时才会有这样的情况)。如果你想要修改你迭代的序列(例如,复制选择项),你可以迭代它的复本。使用切割标识就可以很方便的做到这一点

>>>

代码如下:
for x in a[:]: # make a slice copy of the entire list
...    if len(x) > 6: a.insert(0, x)

在字典中循环时,关键字和对应的值可以使用 iteritems() 方法同时解读出来
代码如下:

>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
>>> for k, v in knights.iteritems():
...     print k, v
...
gallahad the pure
robin the brave

在序列中循环时,索引位置和对应值可以使用 enumerate() 函数同时得到。
代码如下:

>>> for i, v in enumerate(['tic', 'tac', 'toe']):
...     print i, v

    
 
 

您可能感兴趣的文章:

  • Python中变量交换的例子
  • python的类变量和成员变量用法实例教程
  • Python判断变量是否已经定义的方法
  • Python交换变量
  • python 输出一个两行字符的变量
  • python共享引用(多个变量引用)示例代码
  • Python 变量类型及命名规则介绍
  • python实现跨文件全局变量的方法
  • 打印出python 当前全局变量和入口参数的所有属性
  • Python实现全局变量的两个解决方法
  • Python使用函数默认值实现函数静态变量的方法
  • HTML教程 iis7站长之家
  • python基础教程之基本数据类型和变量声明介绍
  • python动态加载变量示例分享
  • pyv8学习python和javascript变量进行交互
  • Python程序设计入门(2)变量类型简介
  • Python中使用动态变量名的方法
  • Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
  • python中的实例方法、静态方法、类方法、类变量和实例变量浅析
  • python和shell变量互相传递的几种方法
  • 使用setup.py安装python包和卸载python包的方法
  • Python开发的单词频率统计工具wordsworth使用方法
  • python回调函数的使用方法
  • Python的函数嵌套的使用方法
  • Python strip lstrip rstrip使用方法
  • python迭代器的使用方法实例
  • python中的yield使用方法
  • python sys模块sys.path使用方法示例
  • python基础教程之lambda表达式使用方法
  • 使用Python判断IP地址合法性的方法实例
  • c++生成dll使用python调用dll的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python下Html/xml解析库Beautiful Soup快速入门教程
  • Python学习笔记(一)(基础入门之环境搭建)
  • 从零学Python之入门(二)基本数据类型
  • 从零学Python之入门(四)运算
  • 从零学Python之入门(五)缩进和选择
  • Python程序设计入门(4)模块和包
  • Python程序设计入门(5)类的使用简介
  • 从零学Python之入门(三)序列
  • Python类的基础入门知识
  • Python程序设计入门(3)数组的使用
  • Python的ORM框架SQLObject入门实例
  • Python2.5/2.6实用教程 入门基础篇
  • Python入门及进阶笔记 Python 内置函数小结
  • Python的ORM框架SQLAlchemy入门教程
  • Python3 入门教程 简单但比较不错
  • Python-基础-入门 简介
  • Python中的Numpy入门教程
  • python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
  • Python程序设计入门(1)基本语法简介
  • Python Socket编程入门教程
  • Python GUI编程:tkinter实现一个窗口并居中代码
  • 让python同时兼容python2和python3的8个技巧分享
  • Python不使用print而直接输出二进制字符串
  • 不小心把linux自带的python卸载了,导致安装一个依赖原python的软件不能安装,请问该怎么办?
  • Python中实现json字符串和dict类型的互转
  • Python开发者社区整站源码 Pythoner
  • python异常信息堆栈输出到日志文件
  • python读取csv文件示例(python操作csv)
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • python基础教程之python消息摘要算法使用示例
  • Python namedtuple对象json序列化/反序列化及对象恢复


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3