目录
一,python基本特点
二,python使用说明
● 两种编程方式
① 交互式编程
② 脚本式编程
● python中文编码
● python行和缩进
● python引号
● python空行
● python等待用户输入
① 没有转换变量类型
② 转换变量类型
● python变量类型
● Python字符串
● python条件语句
● Python 循环语句
循环控制语句
一,python基本特点
作为嵌入式开发工作者,用C语言的视角学习python,了解其基本用法,不用过分深究。当然可以根据自己实际需求,来决定是否深入学习。
二,python使用说明
声明:下文内容仅梳理了python的部分知识点内容和对应的代码案例,目的也仅在于能对python有一个基本编程规则的了解。
● 两种编程方式
① 交互式编程
交互式编程(也可以认为是指令式)不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码。linux上你只需要在命令行中输入Python命令即可启动交互式编程。
>>> quit() //quit()指令,退出python命令行
② 脚本式编程
通过脚本参数调用解释器开始执行脚本,直到脚本执行完毕。当脚本执行完成后,解释器不再有效。下面写一个简单的 Python 脚本程序。所有 Python 文件将以 .py 为扩展名。
其实在linux中,并不会太多关心Python文件的后缀,因为在编译和执行Python程序时候会调用python解释器来解释文件。但为了严谨,尽量规范文件格式。
python程序的编写极大程度上与shell脚本相识
文件test02.py:
#!/usr/bin/python //Python解释器在/usr/bin目录中,添加解释器路径 print("hello python!");
● python中文编码
原因:
在上面的例子中用 Python 输出 “Hello python”,英文没有问题,但是如果你输出中文字符 "你好,世界" 就有可能会碰到中文编码问题。
Python中默认的编码格式是 ASCII 格式,在没修改编码格式时可能无法正确打印汉字,所以在读取中文时会报错。
解决方法:
只要在文件开头加入 # -*- 编码: UTF-8 -*- 或者 # 编码=utf-8 就行了
注意:# 编码=utf-8 的 = 号两边不要空格。
文件test03.py :
#!/usr/bin/python # -*- coding:UTF-8 -*- //加入编码格式 print("你好 世界!");
● python行和缩进
Python与其他语言最大的区别就是,Python 的代码块不使用大括号 { } 来控制类,函数以及其他逻辑判断。
python 最具特色的就是用缩进来写模块。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行,否者编译报错。
① 代码没有严格执行缩进相同原则,编译出现如下报错:
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 if True: 5 print ("Answer") 6 print ("True") 7 else: 8 print ("Answer") 9 # 没有严格缩进,在执行时会报错 10 print ("False")
② 代码执行缩进相同原则,编译正常执行:
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 if True: 5 print ("Answer") 6 print ("True") 7 else: 8 print ("Answer") 9 print ("False")
● python引号
Python 可以使用引号( ' )、双引号( " )、三引号( ''' 或 """ ) 来表示字符串,引号的开始与结束必须是相同类型的。
其中三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。'''xxxxxx''' 或 """xxx""" 类似c语言中注释: /*xxx*/
>>> print("hello py") //双引号
hello py
>>> print('hello py') //单引号
hello py
>>>
● python空行
函数之间或类的方法之间用空行分隔,表示一 段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。
● python等待用户输入
直接使用 input ,类似于c语言中 scanf ,但比scanf更加简单粗暴
下面的程序执行后就会等待用户输入,按回车键后就会退出:
#!/usr/bin/python # -*- coding: UTF-8 -*- input("按下 enter 键退出,其他任意键显示...\n")
以上代码中 ,\n 实现换行。
在执行test04.py后,就会等待用户输入,enter键退出;输入的hello python 就会显示出来,回车退出
注意:
在上面说明了python的有一项基本特点:Python是强类型语言,变量创建后会对应一种数据类型,出现在统一表达式中的不同类型的变量需要做类型转换;
所以在实际编程过程中一定要注意变量类型的转换,下面代码举例说明:
① 没有转换变量类型
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 a = input("请输入一个加数a:") 5 b = input("请输入一个加数b:") 6 7 ret = a + b 8 9 print(ret)
② 转换变量类型
1 #!/usr/bin/python 2 # -*- coding: UTF-8 -*- 3 4 a = input("请输入一个加数a:") 5 b = input("请输入一个加数b:") 6 7 a = int(a) //注意转换的格式,与c语言是反着写的 8 b = int(b) 9 10 ret = a + b 11 12 print(ret)
● python变量类型
Python 中的变量赋值不需要类型声明。但是在上面输入的例子中,就必须要转换变量的类型,注意区分
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号 = 用来给变量赋值。
等号 = 运算符左边是一个变量名,等号 = 运算符右边是存储在变量中的值。
#!/usr/bin/python # -*- coding: UTF-8 -*- counter = 100 # 赋值整型变量 miles = 1000.0 # 浮点型 name = "John" # 字符串 print (counter) print (miles) print (name)
输出结果:
100 1000.0 John
● Python字符串
根据下面示例代码很容易理解
加号(+)是字符串连接运算符,星号(*)是重复操作
#!/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
● python条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程:
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
Python 编程中 if 语句用于控制程序的执行,基本形式为:
if 判断条件: 执行语句…… else: 执行语句……
代码示例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例1:if 基本用法
flag = False
name = 'luren'
if name == 'python': # 判断变量是否为 python
flag = True # 条件成立时设置标志为真
print('welcome boss') # 并输出欢迎信息
else:
print(name) # 条件不成立时输出变量名称
luren # 输出结果
● Python 循环语句
Python 提供了 for 循环和 while 循环(在 Python 中没有 do..while 循环):
循环类型 | 描述 |
---|---|
while 循环 | 在给定的判断条件为 true 时执行循环体,否则退出循环体。 |
for 循环 | 重复执行语句 |
嵌套循环 | 可以在while循环体中嵌套for循环 |
循环控制语句
循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:
控制语句 | 描述 |
---|---|
break 语句 | 在语句块执行过程中终止循环,并且跳出整个循环 |
continue 语句 | 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。 |
pass 语句 | pass是空语句,是为了保持程序结构的完整性。 |