基本语法
# if
num = input()
if num > 3 and "" == '':
print("num > 3")
elif num < 3:
print("num < 3")
else:
print("num == 3")
# while
a = 1;
while a != 0:
print("please input a")
a = int(input())
# for,输出 1~100
for i in range(1, 101):
print(i, end=" ")
# output 0 ~ 99
for i in range(100):
print(i, end=" ")
# 下面这条语句可以说明,在 for 中的 i 并没有被回收
print(i+1) # output 100
# 字符串格式化
print("hello" + " world")
print('My age is' + 18) # Error, 不能直接加整数
print('My age is' + str(18)) # 要将整数进行转换
print('My age is %d' % 18) # 使用 % 对字符串进行格式化
print("%s's score is %d" % ('Mike', 87)) # ('Mike', 87) 为一个元组(tuple)
模块
# 引入模块
from 模块名 import 方法名
# 如,引入一个产生随机整数函数
from random import randint
# 取 5~10 这个区间中的数字
randint(5, 10)
Python 的基本数据类型
- 字符串 -> str
- 整数 -> int
- 小数 (浮点数)-> float
- bool 类型 -> bool() ->
True
False
列表 list
变长的线性数据结构,用中括号包围,逗号隔开: ``` print(list(range(1, 10))) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
l = range(1, 10) for i in l: print(i, end=” “)
定义一个 list
l = [1, 1, 2, 3, 5, 8, 13] l = [365, ‘everyday’, 0.618, True]
操作 list
l[0] = 132 l[-1] # 访问倒数第一个元素 l.append(1024) # 将 1024 添加到 list 最后 del l[0] # 删除 index 为 0 的元素
list 切片
l[1:3] # 获取 [l[1], l[2]] l[:3] # 不指定第一个数,切片从第一个数开始 l[1:] # 不指定第二个数,切片直到最后一个数结束 l[:] # 都不指定,返回整个列表 l[1:-1] # 与 l[1:3] 效果相同
## 元组 tuple
元组与 list 类似,各种操作也与 list 相同,只不过元组在创建之后就不能被修改了。
postion = (1, 2) # 元组用括号建立 geeks = (‘Sheldon’, ‘Leonard’, ‘Rajesh’, ‘Howard’)
在函数中的应用
def get_pos(n): return (n/2, n*2)
x, y = get_pos(50) print(x, y)
pos = get_pos(50) print (pos[0], pos[1])
## 异常
try: f = open(‘non-exist.txt’) print (‘File opened!’) f.close() except: print (‘File not exists.’) print (‘Done’)
## 字典
score = { # 注意,这里为大括号 ‘萧峰’: 95, ‘段誉’: 97, ‘虚竹’: 89 }
score[‘段誉’] score.get(‘慕容复’) # 如果值不存在,则返回 None
字段循环
for name in score: print (score[name])
score[‘虚竹’] = 91 # 修改 score[‘慕容复’] = 88 # 增加 del score[‘萧峰’] # 删除
## 模块
import random # 导入模块
调用导入模块中的方法
random.randint(1, 10) random.choice([1, 3, 5])
查看模块中的函数和变量
dir(random)
只是导入模块中的某一函数或变量
from math import pi
将引入的函数或变量重命名
from math import pi as math_pi
## 函数
定义一个函数
def func(a):
定义一个函数,并指定默认参数
def func(a, b=5): def func(a=5, b): # Error, 默认参数
## and-or 技巧
python 中没有条件表达式,但是可以用 and 和 or 做出条件表达式的效果:
if a > 0: print (“big”) else: print (“small”)
and-or
print ((a > 0) and “big” or “small”)
但是这样非常容易踩坑,and 和 or 是运用的 python 中的逻辑运算。如果 a 本身为 False(0, '') 就出现问题了:
a = “” b = “hell” c = True and a or b print (c) # ‘hell’
所以使用的过程中要小心这样的错误,可以使用 list 来解决这个问题:
a = “” b = “hell” c = (True and [a] or [b])[0] print (c) # ‘’
```