#
进行单行注释# 这是单行注释
复制代码
''' '''
或 """ """
进行多行注释''' 这里是多行注释 这里是多行注释 '''
""" 这里是多行注释 这里是多行注释 """
复制代码
# encoding=utf-8
# coding-utf-8
# _*_coding:utf-8_*_
(推荐写法)a = 10
b, c = 5, 2
d = e = 10
复制代码
为何产生变量:bash
注意事项:函数
数据类型: 对程序处理的数据, 进行的分类, 好比整数, 浮点数, 字符串等ui
为何区分数据类型spa
数据类型的经常使用分类:3d
获取数据的类型: type(数据)
, 例如: type(6), type("6")code
静态类型: 变量类型一经定义, 就不可更改, 好比 a = 10, a的类型是Int, 不能改为Str类型, 即只能引用Int类型数据, 不能引用其余数据类型的数据orm
a = 10 # a的类型为Int
a = "10" # 静态类型不能引用其余类型的数据, 报错
复制代码
a = 10 # a的类型为Int
a = "10" # 的类型为Str
复制代码
a = "1"
b = a + 1 # 强类型, 报错
复制代码
11
a = "1"
b = a + 1 # 弱类型, 结果为 b = "11"
复制代码
Python是强类型的, 动态类型的语言对象
加: "+"
a = 1 + 2, 结果 a = 2
减: "-"
b = 5 - 3, 结果 b = 2
乘: "*"
c = 2 * 3, 结果 c = 6
幂: "**"
d = "3 ** 5", 结果 d = 243
除: "/"
e = 5 / 2, 结果: e = 2.5
整除: "//"
f = 5 // 2, 结果: f = 2
取余: "%"
g = 5 % 2, 结果: g = 1
赋值: "="
h = 3, i = 5
优先级: "()"
j = 3 + 2 / 2 + 1, j = 5。 k = 3 + 3 / (2 + 1), k = 4。
复制代码
+=:
a = 10, a += 5, 结果: a = 15 等价于 a = a + 5
-=:
a = 10, a -= 5, 结果: a = 5 等价于 a = a - 5
*=:
a = 10, a *= 5, 结果: a = 50 等价于 a = a * 5
/=:
a = 10, a /= 4, 结果: a = 2.5 等价于 a = a / 4
%=:
a = 10, a %= 4, 结果: a = 2 等价于 a = a % 4
**=:
a = 10, a **= 2, 结果: a = 100 等价于 a = a ** 2
//=:
a = 10, a //= 4, 结果: a = 2 等价于 a = a // 4
复制代码
>:
a = 10 > 2, 结果 a = True
<:
b = 10 < 2, 结果 b = False
!=:
c = 10 != 5, 结果 c = True
<>: Python2版本支持, 等价于 !=, Python3版本不支持<>
d = 5 <> 5, 结果 d = False
>=:
e = 5 >= 5, 结果 e = True
<=:
f = 5 <= 6, 结果 f = False
==:
g = 3 == 3, 结果 g = True
is: 比较惟一标识, 经过id(值), 获取惟一标识
num = 10, id(10)
h = [1]
i = [1]
result = h is i, 结果: result = False
链式比较运算符:
num = 10
j = 5 < num < 20, 结果: j = True 其余语言写做: j = num > 5 && num < 20
复制代码
not: 非, 取反, 真 -> 假, 假 -> 真, 其余语言中的 !
a = True, b = not a, 结果: b = False
c = False, d = not c, 结果: d = True
and: 与, 而且, and的两边, 必须都是真, 最终才会是真, 其余语言中的 &&
e = True and False, 结果: e = False
f = True and True, 结果: f = True
即: 一假全假, 全真才真
or: 或, 或者, or的两边, 只要有一个条件是真的, 那么最终都是真的
g = True or False, 结果: g = True
h = False or False, 结果: g = False
即: 有真即真, 全假才假
非Bool值的类型, 判断真假, 与OC同样, 非零即真, 非空即真
print(False or 1), 打印: 1
print(bool(1)), 打印: True
print(bool(0)), 打印: False
print(False or ""), 打印: False
print(3 and 1), 打印: 1
print(1 and 3), 打印: 3
复制代码
eval函数, 将一段字符串当作代码运行处理utf-8
result = eval("1+1"), 结果 result = 2 复制代码
input
至关于 raw_input + eval
的功能组合输出一个值:
print 5
复制代码
输出一个变量:
num = 5
print num
复制代码
输出多个变量:
num1 = 10
num2 = 20
num3 = 30
print num1, num2, num3
复制代码
格式化输出:
name = "张三"
age = 18
方式一: print "名字是%s, 年龄是%d"%(name, age)
结果: 名字是张三, 年龄是18
方式二: print "名字是{0}, 年龄是{1}".format(name, age)
结果: 名字是张三, 年龄是18
复制代码
输出到文件当中:
file = open("text.py", "w") 第一个参数: 文件名, 第二个参数: 权限
print >>file, "xxxxxx" 第一个参数: 输出文件, 第二个参数: 输出内容
复制代码
输出不换行: 在结尾加一个逗号"," 中间以空格分割
print 1,
print 2
打印: 1 2
复制代码
使用"-"分割多个参数输出
print "-".join(["a", "b", "c"])
打印: a-b-c
复制代码
输出一个值:
print(123)
复制代码
输出一个变量:
num = 123
print(num)
复制代码
输出多个变量
num1 = 1
num2 = 2
num3 = 3
print(num1, num2, num3)
复制代码
格式化输出:
name = "zhangsan"
age = 18
print("个人名字是%s, 年龄是%d"%(name, age))
print("个人名字是{0}, 年龄是{1}".format(name, age))
复制代码
输出到文件:
f = open("test.py", "w")
print("xxx", file=f)
复制代码
输出不换行:
print("xxx", end=""), end的值默认为\n换行符
复制代码
输出多个参数时, 使用指定分割方式分割:
print("1", "2", "3", sep="&&"), 打印:1&&2&&3
复制代码
当即输出:
print("xxx", fluse=True)
复制代码
%[(name)][flags][width][.precision]typecode
(name)
: 用于选择指定名称对应的值 (根据字典的key
, 取出对应的value
)dictionary = {"age": 18, "name": "zhangsan"}
print("个人名字是%(name)s, 年龄是%(age)d" % (dictionary))
打印: 个人名字是zhangsan, 年龄是18
复制代码
width
: 表示显示的宽度num = 5
print("%3d" % num), 打印: " 5", 这里双引号为了展现5的前面有一个空格, 实际打印不存在双引号
即: 当打印目标宽度不出3时, 在前面以空格的形式补齐3位
num1 = 3
print("%5d" % num), 打印: " 5", 双引号同上
此时打印宽度为5, 因为3的宽度只有1个位置, 因此前面有四个空格
复制代码
flags
: 主要与width
配合使用, 主要有四个做用:做用一: 不写时, 默认右对齐
num = 5
print("%3d" % num), 打印: " 5", 双引号同上
做用二: -(负号), 表示左对齐
print("%3d" % num), 打印: "5 ", 双引号同上
做用三: 空格, 主要用在数字前面加一个空格,与负数的负号对齐
num = 5
print("% d", num), 打印: " 5", 不论中间加几个空格, 最后结果只显示一个
例如:print("% d", num), 打印: " 5", 只打印一个空格
做用四: 0, 不足部分, 使用0补齐
num = 5
print("%02d"), 打印: 05
主要应用场景, 对时间进行格式化
minutes = 5
seconds = 8
print("%02d : %02d" % (minutes, seconds)), 打印: 05 : 08
复制代码
. precision
: 表示浮点数后精度保留小数点后2位:
num = 10.32131
print("%.2f" % num), 打印: 10.32
保留小数点后3位:
print("%.3f" % num), 打印: 10.321
不保留小数点
print("%.0f" % num), 打印: 10
保留小数点后7位:
print("%.7f" % num), 打印: 10.3213100
复制代码
typecode
, 必填项, 主要格式i/d
: 将证书, 浮点数转成十进制整数num = 10.321
print("%d" % num), 打印: 10
复制代码
o
: 将整数, 转成八进制num = 10
print("%o" % num), 打印: 12
复制代码
x
:将整数, 转成十六进制num = 10
print("%x" % num), 打印: a
复制代码
e
: 将整数, 浮点数转成科学计数法num = 1111111111
print("%e" % num), 打印: 1.111111e+09
复制代码
E
: 将整数, 浮点数转成科学计数法num = 1111111111
print("%e" % num), 打印: 1.111111E+09
复制代码
f
: 将整数, 浮点数格式化成浮点数, 并保留六位小数num = 5
print("%f" % num), 打印: 5.000000
num1 = 5.312231232
print("%f" % num1), 打印: 5.312231
num2 = 5.312
print("%f" % num2), 打印: 5.312000
复制代码
g
: 自动调整将整数, 浮点数转成浮点数, 超过六位数, 用科学计数法num1 = 23.321000
print("%g" % num1), 打印: 23.321
num2 = 231.32
print("%g" % num2), 打印: 231.32
num3 = 100.1111111
print("%g" % num3), 打印: 100.111
num4 = 100111111111
print("%g" % num4), 打印: 1.00111e+11
复制代码
G
: 与g
相同s
: 获取传入对象的__str__方法的返回值, 并格式化到指定位置r
: 获取传入对象的__repr__方法的返回值, 并格式化到指定位置c
: 整数, 将数字转成对应的uniode对应的值, 范围: 0<= i <= 1114111, py27之至此0-255%%
表示一个百分号num = 90
print("%d%%" % num), 打印: 90%
复制代码
注意: Python中不存在将整数转成二进制的格式符, Python中不存在
%b
这个格式符ci