点击上方蓝字关注我们吧
Python是著名的工程师Guido van Rossum在1989年为了打发无聊的圣诞节而开发的一个编程语言。相较于晦涩难懂的C, C++语言,Python简洁易懂的代码和众多优秀的基础代码库,让它迅速跃迁为全世界最流行的语言之一。我们用它来开发应用软件无须从零开始,调用已有的库即可实现相应的功能
3.1 Python简介
对于刚刚从事编程工作或者学习的读者来说,Python简直是一种除了不能生孩子,干啥都行的工具。它就像是一把枪,只要装上子弹,扣扳机发射就可以了,而C,C++这些语言更像是倚天剑和屠龙刀,需要深厚的内力才能把它用起来。
当然,Python还是有它所不能企及的领域,例如编写操作系统,这个必须由C语言去完成,因为C语言是最贴近硬件的一门语言,用它编写的操作系统运行速度非常快。因此, Python这种被高度封装的语言,由于运行速度较慢,一般适合去编写高级应用程序,相对底层的程序还是需要别的语言去完成。
运行速度慢只是它其中一个缺点,不能加密能算得上它另外一个大缺点了,不过本着互联网开源免费的精神,代码不能加密在笔者看来也算不上啥缺点,兴许你的代码并没有人去看呢?那加不加密又有啥用。
最后一个缺点就是版本了,目前Python有两个版本,2.X和3.X,他们有些不兼容,至于如何不兼容,笔者在此就不赘述了,因为Python的2.X版将在2020年就被官方停止维护了。因此,刚刚入门Python这门语言的读者直接上手Python 3.X版本即可。
3.2 Python初阶学习
3.2.1 变量赋值
1. # /chapter3/3_2_Basis.ipynb
2. a = 1 # 单变量赋值
3. c = b = 2 # 多变量赋值
4. print(a)
5. print(b, c)
1
2 2
1. # 变量类型
2. name = 'Chile' # 字符串
3. miles = 1000.0 # 浮点型
4. num = 100 # 整形
5. # 打印变量类型
6. print(type(name))
7. print(type(miles))
8. print(type(num))
<class 'str'>
<class 'float'>
<class 'int'>
3.2.2 标准数据类型
1. Python有6个标准的数据类型
(1) Numbers(数字)
(2) String(字符串)
(3) List(列表)
(4) Tuple(元组)
(5) Dictionary(字典)
(6) Set(集合)
其中,List,Tuple,Dictionary,Set可以放任意数据类型
2. 数字
1. # Numbers: int & float
2. a = 1 # int
3. b = 1.0 # float
3. 字符串
1. # String
2. my_name = 'Chile'
3. print(my_name[0]) # 打印第0个字符
4. print(my_name[1: 3]) # 打印第1个到第2个的字符
5. print(my_name[2:]) # 打印第2个到最后一个的字符
6. print(my_name[-1]) # 打印倒数第一个字符
C
hi
ile
e
4. 列表
1. # List 可以放任意类型的数据类型
2. num_list = [1, 2, 3, 4]
3. str_list = ['Chile', 'b', 'c']
4. mix_list = ['a', 1, 1.0, num_list, str_list]
5. print(num_list)
6. print(str_list)
7. print(mix_list)
[1, 2, 3, 4]
['Chile', 'b', 'c']
['a', 1, 1.0, [1, 2, 3, 4], ['Chile', 'b', 'c']]
5.元组
1. # Tuple 可以放任意类型的数据类型
2. mix_tuple = ('chile', 111, 2.2, 'a', num_list) # 不可赋值
3. print(mix_list[1])
4. print(mix_tuple)
5. mix_tuple[1] = 1 # 不可赋值,否则报错
6.字典
1. # Dictionary 可以放任意类型的数据类型
2. test_dict = {'name': 'Chile', 'age': 18, 'num_list': num_list, 'tuple': mix_tuple}
3. print(test_dict)
4. print(test_dict.keys()) # 打印键
5. print(test_dict.values()) # 打印值
6. print(test_dict['name'])
7. print(test_dict['num_list'])
8. print(test_dict['tuple'])
7.字典的赋值陷阱
1. # 直接字典赋值, 被赋值的字典的值改变,原字典也会改变
2. test_dict_copy = test_dict
3. test_dict_copy['name'] = 'alialili'
4. print(test_dict['name'])
5. print(test_dict_copy['name'])
alialili
alialili
1. # 使用深拷贝避免这种情况发生
2. from copy import deepcopy
3. test_dict_copy = deepcopy(test_dict)
4. test_dict_copy['name'] = 'Mary'
5. print(test_dict['name'])
6. print(test_dict_copy['name'])
alialili
Mary
8.集合
1. # 可以放任意类型的基础数据类型
2. # Set 集合:与数学意义上的集合意义一致,集合内每一个值都是唯一的
3. test_set = {'abc', 1, 1, '1', 'chile'}
4. print(test_set) # 打印出来会只有一个数字1,因为集合的去重功能
{1, 'chile', '1', 'abc'}
3.2.3 数据类型转换
1. tr_a = '1'
2. int_b = int(tr_a) # 字符串转数字
3. str_c = str(int_b) # 数字转字符串
4. float_d = float(str_c) # 字符串转浮点
5. print(type(tr_a))
6. print(type(int_b))
7. print(type(str_c))
8. print(type(float_d))
9. print('---------------')
10. tr_list = [1, 2, 3]
11. set_a = set(tr_list) # 列表转集合
12. list_b = list(set_a) # 集合转列表
13. print(type(tr_list))
14. print(type(set_a))
15. print(type(list_b))
<class 'str'>
<class 'int'>
<class 'str'>
<class 'float'>
---------------
<class 'list'>
<class 'set'>
<class 'list'>
3.2.4 算数运算符
1. # 运算符
2. a = 2
3. b = a + 2
4. c = a - 1
5. d = a * b
6. e = d / c
7. f = d % c # 取余
8. g = 3 // 2 # 整除(向下取整)
9. h = 2**3 # 求幂
10. print('c:', c)
11. print('d:', d)
12. print('e:', e)
13. print('f:', f)
14. print('g:', g)
15. print('h:', h)
c: 1
d: 8
e: 8.0
f: 0
g: 1
h: 8
3.2.5 格式化
%s 代表字符串
%d 代表整数
%f 代表浮点
%.2f 代表保留小数点后两位
1. # 格式化
2. print('abc %d, dhfjdhfhdh, %s, sjdhsjhdhs, skdjskjsk%f,sdjsdhs' % (1, 'Chile', 1.0))
3. # %.2f保留小数点
4. print('abc %d, dhfjdhfhdh, %s, sjdhsjhdhs, skdjskjsk%.2f,sdjsdhs' % (1, 'Chile', 1.0))
abc 1, dhfjdhfhdh, Chile, sjdhsjhdhs, skdjskjsk1.000000,sdjsdhs
abc 1, dhfjdhfhdh, Chile, sjdhsjhdhs, skdjskjsk1.00,sdjsdhs
下一期,我们将介绍
Python进阶学习
敬请期待~
关注我的微信公众号~不定期更新相关专业知识~
内容 |阿力阿哩哩
编辑 | 阿璃
点个“在看”,作者高产似那啥~