一、作用域

对于变量的作用域,执行声明并在内存中存在,该变量就可以在后续的代码中使用;

外层变量,可以被内层变量使用;内层变量,也可以被外层变量使用;

如下示例:

 #!/usr/bin/env python

# -*- coding: UTF-8 -*-

if 1==1:
name1 = 'user1' name2 = name1 print name2

执行结果如下:

二、各种进制的表示方法

  • 二进制,01
  • 八进制,01234567
  • 十进制,0123456789
  • 十六进制,0123456789ABCDEF
bin()    #把变量转换为2进制
oct()    #把变量转换为8进制
int()    #把变量转换为10进制
hex()    #把变量转换为16进制

三、Python基础

对于Python,一切事物都是对象,对象基于类创建(或者说对象是由类来创建);

在Python中任何一个对象都是有自己的类,任何一个对象属性都是由自己的类的方法引用而来;

如字符串类:

如数字类:

四、运算符

1、算数运算符

假设变量a为10,变量b为20:

运算符 描述 实例
+ 加,两个对象相加 a + b 输出结果 30
- 减,得到负数或是一个数减去另一个数 a - b 输出结果 -10
* 乘,两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
/ 除,x除以y b / a 输出结果 2
% 取模,返回除法的余数 b % a 输出结果 0
** 幂,返回x的y次幂 a**b 为10的20次方,输出结果 100000000000000000000
// 取整除,返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0

算术运算符示例:

#!/usr/bin/env python
# -*- coding: UTF-8 -*- a = 21
b = 10
c = 0 c = a + b
print '1 - c 的值为:', c c = a - b
print '2 - c 的值为:', c c = a * b
print '3 - c 的值为:', c c = a / b
print '4 - c 的值为:', c c = a % b
print '5 - c 的值为:', c # 修改变量 a 、b 、c
a = 2
b = 3
c = a**b
print '6 - c 的值为:', c a = 10
b = 5
c = a//b
print '7 - c 的值为:', c

执行结果如下:

2、比较运算符

假设变量a为10,变量b为20:

运算符 描述 实例
== 等于,比较对象是否相等 (a == b) 返回 False
!= 不等于,比较两个对象是否不相等 (a != b) 返回 true
<> 不等于,比较两个对象是否不相等 (a <> b) 返回 true这个运算符类似 != 
> 大于,返回x是否大于y (a > b) 返回 False
< 小于,返回x是否小于y所有比较运算符返回1表示真,返回0表示假这分别与特殊的变量True和False等价注意,这些变量名的大写 (a < b) 返回 true
>= 大于等于,返回x是否大于等于y (a >= b) 返回 False
<= 小于等于,返回x是否小于等于y (a <= b) 返回 true

比较运算符示例:

#!/usr/bin/env python
# -*- coding: UTF-8 -*- a = 21
b = 10
c = 0 if ( a == b ):
print '1 - a 等于 b'
else:
print '1 - a 不等于 b' if ( a != b ):
print '2 - a 不等于 b'
else:
print '2 - a 等于 b' if ( a <> b ):
print '3 - a 不等于 b'
else:
print '3 - a 等于 b' if ( a < b ):
print '4 - a 小于 b'
else:
print '4 - a 大于等于 b' if ( a > b ):
print '5 - a 大于 b'
else:
print '5 - a 小于等于 b' #修改变量 a 和 b 的值
a = 5
b = 20 if ( a <= b ):
print '6 - a 小于等于 b'
else:
print '6 - a 大于 b' if ( b >= a ):
print '7 - b 大于等于 a'
else:
print '7 - b 小于 a'

执行结果如下:

3、赋值运算符

假设变量a为10,变量b为20:

运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

赋值运算符示例:

#!/usr/bin/env python
# -*- coding: UTF-8 -*- a = 21
b = 10
c = 0 c = a + b
print '1 - c 的值为:', c c += a
print '2 - c 的值为:', c c *= a
print '3 - c 的值为:', c c /= a
print '4 - c 的值为:', c c = 2
c %= a
print '5 - c 的值为:', c c **= a
print '6 - c 的值为:', c c //= a
print '7 - c 的值为:', c

执行结果如下:

4、位运算符

按位运算符是把数字看作二进制来进行计算的;在Python中的按位运算法则如下:

假如变量a为60,b为13,二进制格式如下:

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011
运算符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 (a | b) 输出结果 61 ,二进制解释: 0011 1101
^ 按位异或运算符:当两对应的二进位相异时,结果为1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111

位运算符示例:

#!/usr/bin/env python
# -*- coding: UTF-8 -*- #60二进制:0011 1100
a = 60 #13二进制:0000 1101
b = 13 c = 0 #12二进制:0000 1100
c = a & b;
print '1 - c 的值为:', c #61二进制:0011 1101
c = a | b;
print '2 - c 的值为:', c #49二进制:0011 0001
c = a ^ b;
print '3 - c 的值为:', c #-61二进制:1100 0011
c = ~a;
print '4 - c 的值为:', c #240二进制:1111 0000
c = a << 2;
print '5 - c 的值为:', c #15二进制:0000 1111
c = a >> 2;
print '6 - c 的值为:', c

执行结果如下:

5、逻辑运算符

假设变量a为10,b为20:

运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值 (a and b) 返回 20
or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值 (a or b) 返回 10
not not x 布尔"非" - 如果 x 为 True,返回 False 如果 x 为 False,它返回 True not(a and b) 返回 False

逻辑运算符示例:

#!/usr/bin/env python
# -*- coding: UTF-8 -*- a = 10
b = 20 if ( a and b ):
print '1 - 变量 a 和 b 都为 true'
else:
print '1 - 变量 a 和 b 有一个不为 true' if ( a or b ):
print '2 - 变量 a 和 b 都为 true,或其中一个变量为 true'
else:
print '2 - 变量 a 和 b 都不为 true' #修改变量a的值
a = 0 if ( a and b ):
print '3 - 变量 a 和 b 都为 true'
else:
print '3 - 变量 a 和 b 有一个不为 true' if ( a or b ):
print '4 - 变量 a 和 b 都为 true,或其中一个变量为 true'
else:
print '4 - 变量 a 和 b 都不为 true' if not( a and b ):
print '5 - 变量 a 和 b 都为 false,或其中一个变量为 false'
else:
print '5 - 变量 a 和 b 都为 true'

执行结果如下:

6、成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组;

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False x 在 y 序列中 , 如果 x 在 y 序列中返回 True
not in 如果在指定的序列中没有找到值返回 True,否则返回 False x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True

成员运算符示例:

#!/usr/bin/env python
# -*- coding: UTF-8 -*- a = 10
b = 20
list = [1, 2, 3, 4, 5 ] if ( a in list ):
print '1 - 变量 a 在给定的列表中 list 中'
else:
print '1 - 变量 a 不在给定的列表中 list 中' if ( b not in list ):
print '2 - 变量 b 不在给定的列表中 list 中'
else:
print '2 - 变量 b 在给定的列表中 list 中' #修改变量a的值
a = 2 if ( a in list ):
print '3 - 变量 a 在给定的列表中 list 中'
else:
print '3 - 变量 a 不在给定的列表中 list 中'

执行结果如下:

7、身份运算符

身份运算符用于比较两个对象的存储单元;

运算符 描述 实例
is is是判断两个标识符是不是引用自一个对象 x is y, 如果 id(x) 等于 id(y) , is 返回结果 1
is not is not是判断两个标识符是不是引用自不同对象 x is not y, 如果 id(x) 不等于 id(y). is  not 返回结果 1

身份运算符示例:

#!/usr/bin/env python
# -*- coding: UTF-8 -*- a = 20
b = 20 if ( a is b ):
print '1 - a 和 b 有相同的标识'
else:
print '1 - a 和 b 没有相同的标识' if ( id(a) is not id(b) ):
print '2 - a 和 b 有相同的标识'
else:
print '2 - a 和 b 没有相同的标识' #修改变量b的值
b = 30 if ( a is b ):
print '3 - a 和 b 有相同的标识'
else:
print '3 - a 和 b 没有相同的标识' if ( a is not b ):
print '4 - a 和 b 没有相同的标识'
else:
print '4 - a 和 b 有相同的标识'

执行结果如下:

8、运算符优先级

python所有运算符,从最高到最低优先级如下:

运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符

运算符优先级示例:

#!/usr/bin/env python
# -*- coding: UTF-8 -*- a = 20
b = 10
c = 15
d = 5
e = 0 #( 30 * 15 ) / 5
e = (a + b) * c / d
print '(a + b) * c / d 运算结果为:', e #(30 * 15 ) / 5
e = ((a + b) * c) / d
print '((a + b) * c) / d 运算结果为:', e # (30) * (15/5)
e = (a + b) * (c / d);
print '(a + b) * (c / d) 运算结果为:', e #20 + (150/5)
e = a + (b * c) / d;
print 'a + (b * c) / d 运算结果为:', e

执行结果如下:

初识Python(三)的更多相关文章

  1. 孤荷凌寒自学python第三十八天初识python的线程控制

     孤荷凌寒自学python第三十八天初识python的线程控制 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.线程 在操作系统中存在着很多的可执行的应用程序,每个应用程序启动后,就可以看 ...

  2. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  3. Python开发【第一篇】:初识Python

    初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...

  4. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python   Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

  5. 初识python面向对象

    一.初识python面向对象: class Person: #使用class关键字定义一个类 age=0 #类变量(静态变量) def eat(self,food): #定义一个方法 self.age ...

  6. 2017-06-22初识python

    初识python #!/usr/bin/env python (python解释器的文件路径)# -*- coding:utf-8 -*- (使用的编码内型)# python 2.7 <需要加第 ...

  7. @1-2初识Python爬虫

    初识Python爬虫 Python爬虫(入门+进阶)     DC学院 环境搭建: Python2与Python3的差异:python2与python3整体差异不大,大多是一些语法上的区别,考虑到py ...

  8. 孤荷凌寒自学python第二十一天初识python的类

    孤荷凌寒自学python第二十一天初识python的类 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 类是面向对象的编程语言非常重要的概念. 编程语言的进化史中从顺序编程到结构化编程,最后才 ...

  9. 孤荷凌寒自学python第十七天初识Python的函数

    孤荷凌寒自学python第十七天初识Python的函数 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 函数是能够完成指定运算并返回运算结果的代码块.是结构化编程重要的结构. 我首先发现pyt ...

  10. 孤荷凌寒自学python第十一天初识Python的字典类

    孤荷凌寒自学python第十一天初识Python的字典类 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) Python的字典其实是一张二维对照表 下面举例说明: 键名Key 姓名 性别 身高 ...

随机推荐

  1. Helvetic Coding Contest 2016 online mirror A1

    Description Tonight is brain dinner night and all zombies will gather together to scarf down some de ...

  2. JS匿名函数以及arguments.callee的调用

    var res = (function (n) {    if( n>1 ) {        return n + arguments.callee( n-1 );    } else {   ...

  3. logback error 分开存日志

    <?xml version="1.0" encoding="UTF-8"?> <configuration> <property ...

  4. WAF攻防实战

    摘要 本文主要分为四个部分,一.首先对WAF做了简单的介绍,让读者对WAF这类产品有一个大概的了解:二.这部分通过一个实例演示了如何利用WAF为其后端的Web应用提供安全防护功能:三.安全是相对的,世 ...

  5. jq得到总价

    <html><head> <title></title> {load href="/static/js/jquery-1.9.1.min.js ...

  6. 3.Servlet(二)

    1.Servlet应用开发接口 对Servlet应用开发接口及功能的掌握,决定了是否能做好Servlet开发工作. GenericServlet抽象类 HttpServlet抽象类 2.Servlet ...

  7. css预处理器 sass和stylus对比以及常用功能

    在众多的css预处理器语言中,sass和stylus算是十分优秀的两个.本文主要针对两者的常用功能做个简单的对比分析.在对比中了解二者的差异,同时帮助大家更好的掌握这两种预处理语言. 本文涉及到的sa ...

  8. IDEA修改git账号及密码的方法

    IDEA修改git账号及密码的方法: 1.file->settings->passwords 2.重启IDEA 3.执行一次提交或更新 当执行提交或更新之后,idea会自动提示输入账号.密 ...

  9. free -m命令输出详解

    free -m输出有3行: Mem:表示物理内存 -/+ buffers/cached:表示物理内存缓存 Swap:表示硬盘交换分区 其中Mem中的total.used.free.shared.buf ...

  10. https Android 5.0 以下TLS 版本过低造成的问题

    异常如下 javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ...