Python培训(1)

公司目前主要开发Android相关的产品,因此应用程序主要用Android,底层开发主要用C/C++;对于Python,则很少涉及。

目前在做的项目,需要Python+UiAutomator做Android自动化测试,才与Python结缘,相见恨晚呀。

所以,准备和部门同事一起学习Python这么语言。


在准备推广一门语言的时候,大家第一反应就是为什么要学Python?

对,一定要说服大伙要好好学习Python,忽悠点什么好呢?还真是不知道怎么讲呢吐舌头

好吧,我把我知道的Python好处都告诉大家,

第一,很多人都在用Python, 2017年Github上在最受欢迎的15门语言中,跃升第二名。第二名,OH, MY God, 用的人多吧?大家都喜欢它,事实胜于雄辩。

第二,Python简单易学习,甚至是儿童学习编程的入门语言。所以,市面上出了一些书,类似“跟孩子一些学Python”,简单吧,小孩子都学得会。

上面两点,充分说明了Python的优点:使用者众多(或者 应用场合众多),最关键的是,小屁孩也学得会 (难道还不如“小屁孩”?加油啊,叔叔阿姨偷笑)。

从专业角度而言,Python有很多类库,分为标准类库和第三方类库,仅仅标准类库(https://docs.python.org/3/library/index.html)就已经丰富的不得了,不用想,第三方的类库更丰富,毕竟“劳动人民的创造力是无穷的”;所以,从基础的数学运算/字符操作,到AI语音/图像识别,无一不能;不管是农业/工业/军事,都可以看到Python的身影。

相较于C语言,Python足够简单,但拥有C/C++语言的一样强大的编程能力(虽然速度不及C),什么函数/面向对象/数据类型,等等,Python都有。

相较于脚本语言(如batch,shell),虽然大家都叫“脚本语言”,但是其他脚本语言只是各种工具的粘合剂,不能呼叫类库,更没有类的概念,所以,Python真的真的不屑于和脚本语言为伍(Python高傲地想)。


好了,废话这么多,大家知道Python的好了吗?简而言之,好学,易用,功能强大。


正文开始,第一讲大概1个小时(作演讲报告),主要内容包括,

1. 环境搭建;

2. 基础语法;

3. 基本变量类型。


一、环境搭建

Ubuntu已经内置Python, 所以Ubuntu用户无需操心;

Windows用户只需要从Python官网(https://www.python.org/)下载对应的安装程序,即可直接安装,推荐大家使用Python 3.x,毕竟是未来趋势。安装完成后,设置环境变量,就可以在CMD中直接输入python来进行操作了。

另外,关于编辑器,推荐Geany, 大家也可以使用PyCharm. PyCharm更像程序员使用的IDE环境,


二、基础语法

首先强调的是 缩进。其他很多语言的代码块,比如C使用{}来标识代码块,但是Python使用缩进标识代码块,很多刚接触Python的新人,都会遇到一些“IndentationError”的错误,这就是代码块的缩进不一致造成的。

第二,Python单行注释使用“#”,多行注释使用三个单引号(''')或者三个双引号(""")。

第三,交互式编程,可以在命令行窗口输入指令,一行一行执行,如下,

$ python
Python 2.7.6 (default, Sep  9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print "Hello, Python!";
Hello, Python!
第四,脚本式编程, 通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕
$ python test.py
第五,标识符由字母、数字、下划线组成;所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头;标识符是区分大小写的;也不能使用关键字作为标识符。

这个规则和大多数编程语言规则类似。下面的稍微特殊,需要注意,

以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入;
以双下划线开头的 __foo 代表类的私有成员;
以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数

第六,Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须的相同类型的。

第七,多行语句
Python语句中一般以新行作为为语句的结束符。
但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下所示:

total = item_one + \
        item_two + \
        item_three
语句中包含 [], {} 或 () 括号就不需要使用多行连接符。如下实例:

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']
第八,同一行显示多条语句
Python可以在同一行中使用多条语句,语句之间使用分号(;)分割,以下是一个简单的实例

#!/usr/bin/python 

import sys; x = 'runoob'; sys.stdout.write(x + '\n')

三、基本变量类型

和大多数语言不一样,Python在声明变量的时候不需要指明数据类型,系统会自动判断,好处是简单,当然也需要额外小心,后文会再述。

Python有五个标准的数据类型:
1. Numbers(数字)
2. String(字符串)
3. List(列表)
4. Tuple(元组)
5. Dictionary(字典)


先看看数字类型,数字类型又可以分为,在声明变量的时候,由于不需要指定数据类型,所以不同的数据有不同的表示方法,参考如下示例,

int(有符号整型)
long(长整型[也可以代表八进制和十六进制])
float(浮点型)
complex(复数)

var1 = 10    # 整数类型
var2 = 10L   # 长整数类型
var3 = 10.0  # 浮点数类型
var4 = 3.14j # 复数类型

再看看 String(字符串

字符串或串(String)是由数字、字母、下划线组成的一串字符。
python的字串列表有2种取值顺序:
1. 从左到右索引默认0开始的,最大范围是字符串长度少1
2. 从右到左索引默认-1开始的,最大范围是字符串开头
可以使用变量 [头下标:尾下标],就可以截取相应的字符串
加号(+)是字符串连接运算符,星号(*)是重复操作。如下实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = 'Hello World!'
print str # 输出完整字符串
print str[0] # 输出字符串中的第一个字符
print str[2:5] # 输出字符串中第三个至第五个之间的字符串
print str[2:] # 输出从第三个字符开始的字符串
print str * 2 # 输出字符串两次
print str + "TEST" # 输出连接的字符串

输出结果如下,

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

下面再看看 列表

列表( List ) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 标识,是 python 最通用的复合数据类型。
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
加号 + 是列表连接运算符,星号 * 是重复操作。如下实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # 输出完整列表
print list[0] # 输出列表的第一个元素
print list[1:3] # 输出第二个至第三个的元素 
print list[2:] # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2 # 输出列表两次
print list + tinylist # 打印组合的列表
输出结果如下,

'runoob', 786, 2.23, 'john', 70.2]
runoob
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['runoob', 786, 2.23, 'john', 70.2, 123, 'john']


再来看看元组

元组(Tuple)是另一个数据类型,类似于List(列表)。元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print tuple # 输出完整元组
print tuple[0] # 输出元组的第一个元素
print tuple[1:3] # 输出第二个至第三个的元素 
print tuple[2:] # 输出从第三个开始至列表末尾的所有元素
print tinytuple * 2 # 输出元组两次
print tuple + tinytuple # 打印组合的元组
输出结果如下,

('runoob', 786, 2.23, 'john', 70.2)
runoob
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('runoob', 786, 2.23, 'john', 70.2, 123, 'john')

最后再看看 字典

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print dict['one'] # 输出键为'one' 的值
print dict[2] # 输出键为 2 的值
print tinydict # 输出完整的字典
print tinydict.keys() # 输出所有键
print tinydict.values() # 输出所有值
输出结果如下,

This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']

今天就讲怎么多,收工!


参考:

1. 菜鸟教程Python基础教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值