python笔记-基础-数据类型-运算符

2012-12-18 4,166次浏览 发表评论

Python区分大小写,用#开头注释,坚持4个空格缩进。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
多行字符串用三个引号
包裹,也常被用来做多
行注释。
"""

# 输入
name = input()

# 输出
print('hello', name)

# 输入赋值给变量name,打印输入变量name
name = input('please enter your name: ')
print('hello,', name)

# 多行输出
print('''line1
line2
line3''')

# 计算
print('100 + 200 =', 100 + 200)

# 除法会自动转换成浮点数
print(35 / 5)  # 结果 7.0
print(5 / 3)   # 结果 1.6666666666666667

# 获取单个字符的编码
ord('中')

# 根据编码获取字符
chr(25991)

# 以Unicode表示字符串通过encode()方法可以编码为指定的bytes
print('孙凯'.encode('utf-8'))
print('ABC'.encode('ascii'))

# 用decode()方法把bytes转为字符串
print(b'ABC'.decode('ascii'))
print(b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8'))

# 用len()函数计算字符串有多少字符
print(len('中文'))

# 三元运算表达式
a = 3
b = 2
h = ''

h = 'str1' if a > b else 'str2'
h2 = a > b and 'str1' or 'str2'
print(h)
print(h2)

Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。

Python 3中有六个标准的数据类型:

数据类型 描述 举例
Numbers(数字) 支持 int、float、bool、complex(复数) a, b, c, d = 20, 5.5, True, 4+3j
String(字符串) 用单引号 ' ' 或双引号 " " 括起来,使用反斜杠 \ 转义特殊字符 pirnt('Yes,he doesn\'t')
List(列表) 写在方括号之间、用逗号分隔开的元素列表,元素的类型可以不相同 a = ['him', 25, 100, 'her']
Tuple(元组) 写在小括号里,元素之间用逗号隔开,元素不可修改 a = (1991, 2014, 'physics', 'math')
Sets(集合) 无序不重复元素的集,可以使用大括号(非空集合)或者set()函数创建 print({'E', 'A', 'C', 'A', 'B', 'B'})
Dictionaries(字典) 无序的 键:值 对集合,关键字必须为不可变类型,且不能重复 tel = {'Jack':1557, 'Tom':1320, 'Rose':1886}

运算符

Python语言支持以下类型的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符
  • 运算符优先级

算数运算符:

运算符 描述 实例
+ a + b 输出结果 31
- a - b 输出结果 -11
* a * b 输出结果 210
/ b / a 输出结果 2.1
% 取模(除法余数) b % a 输出结果 1
** 幂(多少次方) a**b 为10的21次方
// 取整除 (商的整数部分) 9//2 输出结果

比较运算符

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

运算符 描述 实例
== 等于 (a == b) 返回 False
!= 不等于 (a != b) 返回 True
> 大于 (a > b) 返回 False
< 小于 (a < b) 返回 True
>= 大于等于 (a >= b) 返回 False。
<= 小于等于 (a <= b) 返回 True。

所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。

赋值运算符

以下假设变量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

位运算符

按位运算符是把数字看作二进制来进行计算的。

下表中变量 a 为 60,b 为 13。

运算符 描述 实例
& 按位与:参与运算的两个值,如果两个相应位都为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

逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运算符 逻辑表达式 描述 实例
and(与) x and y 如果x为false,返回false,否则返回y的值 (a and b) 返回 20。
or(或) x or y 如果x为true,返回true,否则返回y的值 (a or b) 返回 10。
not(非) not x 如果x为true返回false,如果x为false返回true not(a and b) 返回 False

成员运算符

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

身份运算符

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

运算符 描述 实例
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

运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

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

5条评论

  • kay 2012年12月20日 20:56 回复

    看完天书~~~~ 😥 其实我想说,咱俩同名~~~你的链接已经放到首页 哈,握手~~~

    • 奔跑 2012年12月20日 23:31 回复

      这么巧啊,这简直太巧合了

  • zhui 2012年12月19日 09:22 回复

    Python现在几乎是“大牛”必懂的语言之一。
    大标题 python基本概念 那部分,python拼写错误了。。。
    我也是1987年的呢。
    嘿嘿 欢迎回访。

    • 奔跑 2012年12月19日 10:56 回复

      呵呵,多谢提醒!!

      • zhui 2012年12月19日 22:59 回复

        今天还看了一条新闻,特地来告诉你,Python的作者去Google面试的时候,告诉面试官说 I Wrote Python,结果Google在面试第十轮才知道原来他是Python的作者!其实我们作为读者应该能理解Google肯定知道这个,只是可能在和Python Writer 在做一个高深的游戏 哈哈

随便说点,聊聊天~