python基础
发布于 2017-07-28 · 本文总共 5414 字 · 阅读大约需要
16 分钟
数据类型
数值
print(True+False) # 输出1,True默认为1,False为0
print(True or False) # 输出True,关键字or执行“或”操作
print(5//2) # 输出2,//为取整运算符
print(5%2) # 输出1,%为取余运算符
print(3**2) # 输出9,**表示乘方操作
print(5+1.6) # 输出6.6,不同精度的类型的数字相加默认取高精度类型作为结果
字符串
字符串基本操作
S = 'python' # 给变量S赋值 python
# len(obj): 返回对象的长度
print(len(S)) # 输出6
print(S[0],S[1],S[-1]) # 输出pyn ,按照索引获取元素
print(S+'1',S*2) # 输出python1 pythonpython:合并和重复
字符串不可变性
S = 'python' # 变量赋值
S[0] = 'Z' # 程序异常
S1 ='Z'+S[1:] # 生成了新的字符串 zython,并赋值给S1
print("S:%s,S1:%s"%(S,S1)) # 输出S:python,S1:zython
字符串常用操作
S = "python" # 变量赋值
# str.split(str="", num=-1):通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串,-1表示分割所有。
print(S.split('h')) # 输出[‘pyt’,‘on’],根据h对字符串切割
# str.replace(old, new[, max]):返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。
print(S.replace('py','PY')) # Python,将字符串中的py替换为PY
# str.upper():返回小写字符转化为大写后的值。
print(S.upper()) # PYTHON
# str.lower():返回大写字符转化为小写后的值。
print('PYTHON'.lower()) # python,字符串转小写
line='aa,bb,ccc,dd\n' # \n 为换行
# str.join(sequence):sequence:要连接的序列,返回指定字符连接序列中元素后生成的新字符串。
print(''.join(['life', 'is' ,'short'])) # 输出life is short,join拼接字符串
hw12='%s %s %d' % ('hello','world',12) # 格式化字符串
print(hw12) # 输出hello world 12
列表
列表常见操作
animals = ['cat', 'dog', 'monkey']
# list.append(obj):在列表末尾添加新的对象。
animals.append('fish') # 追加元素
print(animals) # 输出 ['cat', 'dog', 'monkey', ‘fish’]
# list.remove(obj):移除列表中某个值的第一个匹配项。
animals.remove('fish') # 删除元素fish
print(animals) # 输出 ['cat', 'dog', 'monkey']
# list.insert(index, obj):用于将指定对象插入列表的指定位置。index:插入位置
animals.insert(1,'fish') # 在下标1的地方插入元素fish
print(animals) # 输出 ['cat', 'fish', 'dog', 'monkey']
# list.pop([index=-1]):要移除列表中对下标对应的元素(默认是最后一个)。Index:下标
animals.pop(1) # 删除下标为1的元素
print(animals) # 输出 ['cat', 'dog', 'monkey']
#遍历并获取元素和对应索引
# enumerate(sequence) :将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
for i in enumerate(animals):
print(i) # 元素下标和元素所组成的索引
#输出:(0, cat)
# (1, dog)
# (2, monkey)
#列表推导式
squares = [x*2 for x in animals] # 批量生成符合规则的元素组成的列表
print(squares) #['catcat ', 'dogdog ', 'monkeymonkey ']
list1 = [12,45,32,55]
# list.sort(cmp=None, key=None, reverse=False):cmp为可选参数, 如果指定了该参数,会使用该参数的方法进行排序。key是用来进行比较的元素。reverse为排序规则,False为升序。
list1.sort() # 对列表进行排序
print(list1) # 输出[12,32,45,55]
# list.reverse():反向列表中元素。
list1.reverse() # 对列表进行逆置
print(list1) # 输出[55,45,32,12]
元组
T=(1,2,3) #创建元组
print(T+(4,5)) #元组合并,输出:(1, 2, 3, 4, 5)
t=(42,) #只有一个元素的元组,区别于数字
tuple1 = (12,45,32,55,[1,0,3]) # 创建元祖
tuple1[0] = "good" # 程序异常,元组的不可变性
tuple1[4][0] = 2 # 元组中可变的元素是可以变得
print(tuple1) # (12,45,32,55,[2,0,3])
字典
# 字典的三种赋值操作
x = {'food':'Spam','quantity':4,'color':'pink'}
X =dict(food='Spam',quantity=4, color='pink')
x = dict([("food", "Spam"),("b", "2"),("color","pink")])
# dict.copy():拷贝数据
d =x.copy()
d['color'] = 'red'
print(x) # {'food':'Spam','quantity':4,'color':'pink'}
print(d) # {'food':'Spam','quantity':4,'color':'red'}
#元素访问
print(d['name']) # 得到错误信息
print(d.get('name')) # 输出None
print(d.get('name','键值不存在!')) # 输出 键值不存在
print(d.keys()) # 输出dict_keys(['food', 'quantity', 'color'])
print(d.values()) # 输出dict_values(['Spam', 4, 'pink'])
print(d.items())
# 输出 dict_items([('food', 'Spam'), ('quantity', 4), ('color', 'pink')])
d.clear() # 清空字典中的所有数据
print(d) # 输出 {}
del(d) # 删除字典
print(d) # 程序异常,提示"d"未定义
集合
sample_set = {'Prince', 'Techs'}
print('Data' in sample_set) # 输出False,in的作用是检查集合中是否存在某一元素
# set.add(obj):给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作
sample_set.add('Data') # 向集合中增加元素Data
print(sample_set) # 输出 {'Prince', 'Techs', 'Data'}
print(len(sample_set)) # 输出3
# set.remove(obj):移除集合中的指定元素
sample_set.remove('Data') # 删除元素Data
print(sample_set) # {'Prince', 'Techs'}
list2 = [1,3,1,5,3]
print(list(set(list2))) # 输出 [1,3,5],利用集合元素的唯一性进行列表去重
sample_set = frozenset(sample_set)# 不可变集合
深拷贝和浅拷贝
import copy
Dict1 = { 'name': 'lee', 'age':89, 'num':[1,2,8]} # 新建字典
Dict_copy = Dict1.copy() # 浅拷贝
Dict_dcopy = copy.deepcopy(Dict1) # 深拷贝
Dict1['num'][1] = 6 # 修改原数据中嵌套列表的值
print('Dict1:'+str(Dict1),' Dict_copy:'+ str(Dict_copy),' Dict_dcopy:'+ str(Dict_dcopy))
if语句
#根据输入的分数判断
# input():用于接收输入。
score = input("请输入你的分数") # input函数接收输入,为字符串类型
score = float(score) # 将分数转化为数字类型
# try:...except Exception:.... 是Python中用于捕获异常的语句,如果try中的语句出现错误,则会执行except中的语句。
try:
if 100>=score>=90: # 判断输入的值是否大于等级分数
print("优") # 满足条件后输出等级
elif 90 > score >= 80:
print("良")
elif 80>score>0:
print("中")
else:
print("差")
except Exception:
print("请输入正确的分数")
循环语句
#while循环
i = 0 # 新建i变量
while i<9: # 设置循环条件
i+=1 # 每次循环i增加1
if i == 3: # 判断条件是否满足
print("跳出此次循环")
continue # continue跳出当前的这一次循环
if i == 5:
print("跳出当前大的循环")
break # 跳出当前的大的循环
print(i)
自定义函数
def fibs(num): # 位置参数
result = [0,1] # 新建列表存储数列的值
for i in range(2,num): # 循环num-2次
a = result[i-1] + result[i-2]
result.append(a) # 将值追加至列表
return result # 返回列表
fibs(5)
# 输出:[0, 1, 1, 2, 3]
参数
def hello(greeting='hello',name='world'): # 默认参数
print('%s, %s!' % (greeting, name)) # 格式化输出
hello() # hello,world 默认参数
hello('Greetings') # Greetings,world 位置参数
hello('Greetings','universe') # Greetings,universe 位置参数
hello(name='Gumby') # hello,Gumby 关键字参数
类
class Greeter(object): # 新建类,继承object
def __init__(self, name): # 初始化类
self.name = name # 创建一个实例变量
# 实例方法
def greet(self, loud=False):
if loud:
print('HELLO, %s!' % self.name.upper())
else:
print('Hello, %s' % self.name)
g = Greeter('Fred') # 创建Greeter类的一个实例
g.greet() # Hello,Fred 调用实例方法,使用默认参数
g.greet(loud=True) # HELLO, FRED 调用实例方法,自定义参数
文件操作
# 使用write方法写文件
with open("f.txt", "w") as f:
f.write( "www.huawei.com")
# 使用read方法读取
with open("f.txt", "r") as f:
print(f.read())