Python学习笔记1
2018-08-22 本文已影响9人
MetaT1an
Python注释
Python变量
Python运算符
Python输入输出
Python注释
单行注释
# 这是一个单行注释
print("test")
多行注释
'''
这里就是python的多行注释方式
可以直接分行进行注释操作
本质上是字符串
'''
import this
print("hello world")
特殊注释
-
#!/usr/bin/python3
指定解释器的版本 -
#encoding=utf-8
python 2.x
解决中文文本乱码
Python变量
变量使用
使用之前不用声明;做参数传递时,所有的变量都是传递引用
定义变量
# arg = val
a = 1
# arg1, arg2 = 1, 2
a, b = 1, 2
# arg1 = arg2 = val
a = b = 3
使用变量的好处
节省空间,便于修改,可读性强
使用变量注意事项
- 一个变量只能引用一个数值
- 命名规范
- 数字、字母、下划线
- 见名知义
- 驼峰命名
- 只能使用非关键字
- 区分大小写
- 使用变量之前一定要赋值
Python数据类型简介
常用数据类型
- Numbers(数值类型)
- Bool(布尔类型)
- String(字符串)
- List(列表)
- Set(集合)
- Tuple(元组)
- Dictory(字典)
- NoneType(空类型)
类型转换
num = "6"
print(4 + int(num)) # 10
print(str(4) + num) # 46
Python运算符
算术运算符
# + 加法运算符
print(1 + 2) # 3
print("1" + "2") # 12
print([1, 2] + [3, 4]) # [1, 2, 3, 4]
# - 减法运算符
print(1 - 2) # -1
# * 乘法运算符
print(2 * 3) # 6
# ** 幂运算符
m, n = 2, 3
print(m ** n) # 2*2*2/8
# / 除法运算符
print(5 / 2) # 2.5
# // 整除运算
print(5 // 2) # 2
print(5.0 // 2) # 2.0
print(5.99 // 2) # 2.0
# % 求模运算
print(5 % 2) # 1
复合运算符
num = 2
num = num + 3
# 与下面这种方式等价,且效率更高
num += 3
比较运算符
# 布尔类型是一种单独的类型
res = 10 != 2
print(res) #True
# a, b指向同一块内存
a = 1
b = 1
print(a == b) #True
print(a is b) #True
#a, b指向不同的内存
a = [1, 2]
b = [1, 2]
print(a == b) #True
print(a is b) #False
#可以使用id(arg)来查看变量所在的内存区域
# 链式比较
print(1 <= 2 < 4) # True
# 逻辑运算
print(1 <= 2 and 2 < 4) #True
print(True or False) #True
print(not False) #True
# 扩展的True和False
# 0和空表示假
# bool(0), bool(""), bool([])
print(0 and True) # 0
print(1 or False) # 1
print(True and 0) # 0
print(1 and 3) # 3
in操作符
li = [1, 2, 3, 4]
print(1 in li) # True
print("x" not in li) # True
str = "aabbccd"
print("ab" in str) # True
print("aabc" not in str) # True
Python输入输出
输入函数
使用内建(不用导入其他的包)的函数input(), python2.x
和python3.x
中有些不同
-
python2.x
- raw_input(): 将用户输入的所有内容都当作字符串来处理
- input(): 将用户输入的内容当作代码进行处理(可以理解为使用了
raw_input()
和eval()
函数)
-
python3.x
- input(): 和
2.x
版本的raw_input()函数相同。
- input(): 和
输出函数
完整函数:print(values, sep, end, file, flush)
-
values:需要输出的值,有多个值使用
,
进行分隔 - sep:分隔符,默认使用空格进行分隔
-
end:输出完毕后添加的字符,默认是
\n
- file:默认是显示器,也可以指定文件
-
flush:刷新缓冲区,进行立刻输出,默认
false
#输出一个值
print(123)
#输出一个变量
val = 123
print(val)
#输出多个变量
name, year = rity, 1997
print(name, year) #rity 1997
#格式化输出
print("my name is %s, age is %d" % (name, age))
print("my name is {0}, age is {1}".format(name, age))
#输出到文件中
f = open("test.txt", "w")
print("xxxxxx", file = f)
#输出不自动换行
print("123", end="-") # 123-
#使用分隔符
print(1, 2, 3, sep="+") # 1+2+3
格式化输出
%[(name)][flags][width][.precision]typecode
- [ ]:可以省略
-
(name):根据指定的名称(key),找到对应的值
name, age = "rity", 18 print("name is %(name)s, age is %(age)d"%({"name": name, "age": age})
-
width:输出内容占用的宽度,默认右对齐
num = 123 print("%10d" % num) # 123
-
flags:填充或对齐方式
#为空表示右对齐(同上) #-表示左对齐 print("%10d" % num) #123 #0表示使用0填充 min, sec = 5, 8 print("%02d:%02d" % (min, sec)) # 05:08
-
.precision:精度设置,用于
%f
price = 1.239 print("%.2f" % price) # 1.24(四舍五入)
Python分支判断
# 单分支判断
age = 17
if age >= 18:
print("You are an adult")
print("end")
# 双分支判断
if age >= 18:
print("You are an adult")
else:
print("You are not an adult")
print("end")
# 多分支判断
score = 59
if 90 <= score <= 100:
print("A")
elif 80 <= score:
print("B")
elif 60 <= score:
print("C")
else:
print("D")
# 常用的三目运算
a, b = 1, 3
x = 2 if a > 2 else 4 # x=4
y = 3 if b < 5 else 2 # y=3
Python循环
# while循环,看重循环的条件
num = 0
while num < 4:
print(num)
num += 1
#for循环,多用于遍历
li = [1, 2, 3, 4]
for x in li:
print(x) # 1 2 3 4
# 使用range()函数进行计数迭代
for i in range(1, 10): #[1, 10)
if i % 2: #奇数
print("%d: 奇数" % i)
else:
print("%d: 偶数" % i)
# pass语句,用来占位,没有实际逻辑
if True:
# todo
else:
pass