一、输入与输出
Python常用输入语句:
1、input():输入的内容为数值类型
In [5]: type(input())
1
Out[5]: int
2、raw_input()输入的内容为字符类型
In [6]: type(raw_input())
hello python
Out[6]: str
需要说明的是,Python3中只有input()作为输入,其规则是:
input():输入内容以字符形式输入,处理数据时需进行对应类型转换
Python常用输出语句:
1.print 后接需要输出的对象
%x hex 十六进制
%d dec 十进制
%o oct 八进制
%s str 字符型
符号 描述 %c 格式化字符及其ASCII码 %s 格式化字符串 %d 格式化整数 %u 格式化无符号整型 %o 格式化无符号八进制数 %x 格式化无符号十六进制数 %X 格式化无符号十六进制数(大写) %f 格式化浮点数字,可指定小数点后的精度 %e 用科学计数法格式化浮点数 %E 作用同%e,用科学计数法格式化浮点数 %g %f和%e的简写 %G %f 和 %E 的简写 %p 用十六进制数格式化变量的地址
符号 功能
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话
2.格式化输出:
In [49]: a = 1
In [50]: print "%.3d" %(a) #保留3位有效数字
001
In [52]: print "%10.3d" %(a) #10宽度,保留3位有效数字
001
In [59]: mem_percent = 0.3
In [60]: mem_percent = mem_percent * 100
In [61]: mem_percent
Out[61]: 30.0
In [62]: print "%.2f%%" %(mem_percent) #使用%转译%
30.00%
需要说明的是,Python3中print()作为内置函数存在,其输出的正确格式为:
print("string")
'string'
Eg:编写程序,要求实现输入三门考试成绩,打印出平均成绩
ch_course = input("please input Chinese grade: ")
math_course = input("please input math grade: ")
en_course = input("please input English grade: ")
avg = (ch_course + math_course + en_course) / 3.0
print "The average grage is %.2f " %avg #保留两位小数
执行测试:
please input Chinese grade: 90.1
please input math grade: 89.7
please input English grade: 91.2
The average grage is 90.33
二、基本数据类型
查看数据类型使用type()函数
Python中基本的数据类型有:
1、整型
In [15]: type(1)
Out[15]: int
2、长整形
In [16]: type(1L) #在数字后加L或l可转化为长整型
Out[16]: long
3、浮点型
In [17]: type(1.2)
Out[17]: float
4、字符型
In [18]: type("string")
Out[18]: str
5、复数类型
In [20]: type(1+2j) #虚数单位为j
Out[20]: complex
6、布尔类型
In [21]: type(True)
Out[21]: bool
三、变量
变量是内存中的一块区域
变量名由字母、数字和下划线组成,不可以数字开头,不可使用关键字作为变量名
In [31]: i = 1
In [32]: j = 1
In [33]: id(i)
Out[33]: 18992232
In [34]: id(j)
Out[34]: 18992232
四、运算与表达式
1.算术运算符
算术运算符:+,-,*,**, /, %, //
加、减、乘、乘方、float除、求余、整除
In [39]: 5 // 2.0 #整除
Out[39]: 2.0
In [40]: 5 / 2.0 #float除,python2中与python3不一致
Out[40]: 2.5
In [41]: 2 ** 10 #乘方
Out[41]: 1024
2.赋值运算符
赋值运算符:=, +=, -=, /=, *=, %=
赋值、加等、减等、除等、乘等、余等
In [43]: a = 5
In [44]: a *= 2
In [45]: print a
10
In [46]: a *= 2
In [47]: print a
20
3.关系运算符
关系运算符: >, >=, <, <=, !=, ==
大于、大于等于、小于、小于等于、不等于、恒等于
关系运算的结果为布尔类型
4.逻辑运算符
逻辑运算符: and, or, not
与、或、非
逻辑运算的结果为布尔类型
5.位运算副
位运算符: &, |, ^, ~, <<, >>
按位与、按位或、按位异或、按位取反、左移、右移
6.成员运算符
成员运算符: in, not in
判断成员是否在指定序列中
成员运算的结果为布尔类型
7.身份运算符
身份运算符: is, is not
判断两个标示符(变量)的是否为同一对象,类似于id()
身份运算的结果为布尔类型
8.运算符优先级
从左至右优先级依次减小
**,~ +@ -@,* / % //,+ -,>> <<,&,^ |,<= < > >=,<> == !=,= %= /= //= -= += *= **=,is is not,in not in,not or and
指数>按位翻转, 一元加号减号>乘,除,取余,整除>加法减法>右移,左移运算符>位与>位运算符>比较运算符>等于运算符>赋值运算符>身份运算符>成员运算符>逻辑运算符
更新 : is 与 == 的区别:
# 一定要在交互式环境测试
# a = 'hello'
# b = 'hello'
# print id(a),id(b)
# 字符串驻留机制;
# - 对于较小的字符串, id相同
# - 对于较长的字符串, id不相同, 因为不会驻留字符串的副本
c = 'hello java world'
d = 'hello java world'
print id(c), id(d)
print c is d
e = 'python'
f = "".join(['p', 'y', 't', 'h', 'o', 'n'])
print id(e), id(f)
# 结论:
# is表示的是对象标识符,表示两个变量的值是否在同一块内存空间,即id()是否一样
# ==表示的是值是否相等
# 总结: is返回值为True, ==返回一定是True
In [36]: True == 1
Out[36]: True
In [37]: True is 1
Out[37]: False
In [39]: False == 0
Out[39]: True
In [40]: False is 0
Out[40]: False