目前学习的Python基础的一次总结
一.列表,元组,集合,字典,字符
1.Python中最常见的序列类型为:列表,元组,字符类型
特点:
①所有序列都支持迭代
注意:generator也是可迭代对象,generator是生成器,后面博主会讲。
②序列表示索引为非负整数的有序对象集合
③字符和元组属于不可变序列,列表为可变序列
2.python中常见的容器类型为:列表,元祖Tuple,字典,和集合
容器:
是可以存放数据项集合的数据结构
3.Python中的可变与不可变类型
可变类型:
列表、字典是可变的
举个例子说明:往列表list里增添数据,list = [1,2,3],list.append(4),实则就是在原有的列表对象上添加了数值,内存地址不变。
不可变类型:
主要的核心类型中,数字、字符串、元组是不可变的
举个例子说明:以数字类型中的整数类型为例,i = 5, i += 1 实际上并不是真的在原有的整数对象上+1,而是重新创建一个value为6的int对象,i引用自这个新的对象。
4.Python列表、元组、集合、字典的区别和相互转换
区别:
相互转换:
1.列表元组转其他
# 列表转集合(去重)
list1 = [6, 7, 7, 8, 8, 9]
print(set(list1))
>>>{6, 7, 8, 9}
#两个列表转字典
list1 = ['key1','key2','key3']
list2 = ['1','2','3']
print(dict(zip(list1,list2)))
>>>{'key1': '1', 'key2': '2', 'key3': '3'}
#嵌套列表转字典
list3 = [['key1','value1'],['key2','value2'],['key3','value3']]
print(dict(list3))
{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
# 列表、元组转字符串
list2 = ['a', 'a', 'b']
print(''.join(list2))
>>>'aab'
tup1 = ('a', 'a', 'b')
print(''.join(tup1))
>>>'aab'
2.字典转其他
# 字典转换为字符串
dic1 = {'a':1,'b':2}
print(str(dic1))
>>>"{'a': 1, 'b': 2}"
# 字典key和value互转
dic2 = {'a': 1, 'b': 2, 'c': 3}
print({value:key for key, value in a_dict.items()})
>>>{1: 'a', 2: 'b', 3: 'c'}
3.字符串转其他
# 字符串转列表
s = 'aabbcc'
print(list(s))
>>>['a', 'a', 'b', 'b', 'c', 'c']
# 字符串转元组
print(tuple(s))
>>>('a', 'a', 'b', 'b', 'c', 'c')
# 字符串转集合
print(set(s))
>>>{'a', 'b', 'c'}
# 字符串转字典
print(dic2 = eval("{'name':'ljq', 'age':24}"))
# 切分字符串
a = 'a b c'
print(a.split(' '))
>>>['a', 'b', 'c']
4.给大家看个全的
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
二.for循环与while循环的使用情况
前情概要:
for循环是一种遍历列表的有效方式,但在for循环中不应修改列表,否则将导致Python难以跟踪其中的元素。要在遍历列表的同时对其进行修改,可使用while循环。通过将while循环同列表和字典结合起来使用,可收集、存储并组织大量输入。如果说for循环用于针对集合中的每个元素都一个代码块,而while循环则不断地运行,直到指定的条件不满足为止。
1.使用for的情况
for循环可以遍历可迭代类型,如列表,元组,字符类型。使⽤for...in...的循环语法从其中依次拿到数据进⾏使⽤。
2.使用while的情况
用于在循环列表等序列类型的同时进行序列类型的操作。
三.给大家几个小程序,基本涵盖了现在所学知识,看看大家利用目前所学的知识能不能敲出来
题目1:判断闰年
year = int(input("输入一个年份: "))
if (year % 4) == 0:
if (year % 100) == 0:
if (year % 400) == 0:
print("{0} 是闰年".format(year)) # 整百年能被400整除的是闰年
else:
print("{0} 不是闰年".format(year))
else:
print("{0} 是闰年".format(year)) # 非整百年能被4整除的为闰年
else:
print("{0} 不是闰年".format(year))
题目2:质数判断
# 用户输入数字
num = int(input("请输入一个数字: "))
# 质数大于 1
if num > 1:
# 查看因子
for i in range(2,num):
if (num % i) == 0:
print(num,"不是质数")
print(i,"乘于",num//i,"是",num)
break
else:
print(num,"是质数")
# 如果输入的数字小于或等于 1,不是质数
else:
print(num,"不是质数")
题目3:摄氏温度转华氏温度
# 接收用户输入
celsius = float(input('输入摄氏温度: '))
# 计算华氏温度
fahrenheit = (celsius * 1.8) + 32
print('%0.1f 摄氏温度转为华氏温度为 %0.1f ' %(celsius,fahrenheit))
PS(博主已经写的头疼。。。先更这么多,待会儿再来总结。总的来说,使用现在的知识就能敲很多小程序了,接下来要讲的无非就是简化程序的方法已经如何使程序像工厂一般加工很多数据等,大家打起精神!)