python学习之旅开始了。。。
python版本为3.7.4,开发工具使用的是PyCharm。
1 数据类型和变量
Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
1.1 Number(数字)
a = 123
print(type(a))
输出结果为:
<class 'int'>
1.2 String(字符串)
a = '字符串'
print(type(a))
输出结果为:
<class 'str'>
- 字符串中可能会包含一些特殊字符,可以用转义字符
\
来标识:
a = 'I\'m a boy'
print(a)
print(type(a))
输出结果为:
I'm a boy
<class 'str'>
-
\n
表示换行,\t
表示制表符
print('1\n2')
print('3\t4')
输出结果为:
1
2
3 4
-
r''
表示''
内部的字符串默认不转义
print(r'不\t转\\义\n了')
输出结果为:
不\t转\\义\n了
-
'''...'''
的表示多行内容
print('''
床前明月光,
疑是地上霜,
举杯邀明月,
低头思故乡。
''')
输出结果为:
床前明月光,
疑是地上霜,
举杯邀明月,
低头思故乡。
- 字符串的截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
str = 'hello'
print(str[0: 2]) #从第一个字符到第二个字符
print (str[0:-2]) # 输出第一个到倒数第三个的所有字符
输出结果为:
he
hel
- 格式化,用
%
实现
print('你好, %s, 你现在%d岁了。' % ('小强', 18))
输出结果为:
'你好, 小强, 你现在18岁了'
1.3 List(列表)
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
list = ['abc', 'def', 'ghi', 'gkl']
print(type(list))
输出结果为:
<class 'list'>
- 列表截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
list = ['abc', 'def', 'ghi', 'gkl']
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print(list[1:-1]) # 从第二个开始输出到倒数第二个元素
输出结果为:
['abc', 'def', 'ghi', 'gkl']
abc
['def', 'ghi']
['def', 'ghi']
- 列表修改元素:
list = ['abc', 'def', 'ghi', 'gkl']
print(list)
list[0] = 'qqq'
print(list)
输出结果为:
['abc', 'def', 'ghi', 'gkl']
['qqq', 'def', 'ghi', 'gkl']
1.4 元组(Tuple)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
tuple = ('abc', 'def', 'ghi', 'gkl')
print(type(tuple))
输出结果为:
<class 'tuple'>
- 元组截取的语法格式如下:
变量[头下标:尾下标]
索引值以 0 为开始值,-1 为从末尾的开始位置。
tuple = ('abc', 'def', 'ghi', 'gkl')
print(tuple) # 输出完整元组
print(tuple[0]) # 输出元组第一个元素
print(tuple[1:3]) # 从第二个开始输出到第三个元素
print(tuple[1:-1]) # 从第二个开始输出到倒数第二个元素
输出结果为:
('abc', 'def', 'ghi', 'gkl')
abc
('def', 'ghi')
('def', 'ghi')
- 元组里面的元素
不可修改
tuple = ('abc', 'def', 'ghi', 'gkl')
print(tuple)
tuple[0] = 'qqq'
print(tuple)
输出结果为:
Traceback (most recent call last):
File "D:/WorkSpace/Study/pythonTest/dataType.py", line 3, in <module>
tuple[0] = 'qqq'
TypeError: 'tuple' object does not support item assignment
('abc', 'def', 'ghi', 'gkl')
1.5 Set(集合)
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(type(student))
输出结果为:
<class 'set'>
- set集合不允许有重复元素
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'} print(student) # 输出集合,重复的元素被自动去掉
输出结果为:
{'Rose', 'Jim', 'Tom', 'Mary', 'Jack'}
- set集合可以直接判断某个元素是否在里面
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
if 'Mary' in student:
print('集合中包含Mary')
else:
print('集合中不包含Mary')
输出结果为:
集合中包含Mary
- set集合可以进行集合运算
a = {'a', 'b', 'c', 'd'}
b = {'a', 'f', 'e', 'h'}
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
输出结果为:
{'b', 'c', 'd'}
{'d', 'b', 'a', 'h', 'e', 'f', 'c'}
{'a'}
{'d', 'h', 'b', 'e', 'f', 'c'}
1.6 Dictionary(字典)
字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
在同一个字典中,键(key)必须是唯一的。
dict = {}
dict['a'] = 'one'
dict['b'] = 'two'
print(type(dict))
输出结果为:
<class 'dict'>
- 基本操作
dict = {}
dict['a'] = 'one'
dict['b'] = 'two'
print(dict) # 输出完整的字典
print(dict['a']) # 输出键为a的值
print(dict.keys()) # 输出所有键
print(dict.values()) # 输出所有值
输出结果为:
{'a': 'one', 'b': 'two'}
one
dict_keys(['a', 'b'])
dict_values(['one', 'two'])
- 构造函数 dict() 可以直接从键值对序列中构建字典如下:
d1 = dict([('Baidu', 1), ('Google', 2), ('Taobao', 3)])
print(d1)
d2 = dict(Baidu=1, Google=2, Taobao=3)
print(d2)
输出结果为:
{'Baidu': 1, 'Google': 2, 'Taobao': 3}
{'Baidu': 1, 'Google': 2, 'Taobao': 3}
2 条件判断
2.1 if
如果if
语句判断是True
,就执行缩进print语句,否则,什么也不做。
a = 25
if a > 18:
print('你已经成年了')
输出结果为:
你已经成年了
2.2 if...else
如果if
判断是True
,就执行if
的内容,不去执行else
了
如果if
判断是False
,不执行if
的内容,去执行else
了
a = 16
if a > 18:
print('你已经成年了')
else:
print('你还没有成年')
输出结果为:
你还没有成年
2.3 if...elif...else
elif
就是一个if
判断,从开始进行判断,条件为True就执行,都没有就执行else
a = 25
if 0 <= a < 60:
print('不及格')
elif 60 <= a < 80:
print('及格')
elif 80 <= a < 90:
print('优秀')
elif 100 == a:
print('满分')
else:
print('输入的分数不合法')
输出结果为:
及格
3 循环
3.1 for...in循环
依次把list或tuple中的每个元素迭代出来
name = \['小红', '小强', '小黑', '小黄'\]
for value in name:
print(value)
输出结果为:
小红
小强
小黑
小黄
3.2 while循环
只要条件满足,就不断循环,条件不满足时退出循环
# 计算100以内所有奇数之和
a = 99
sum = 0
while a > 0:
sum = sum + a
a = a - 2
print(sum)
输出结果为:
2500
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。