python编程基础学习(一)
文章目录
- python编程基础学习(一)
- 一、编程
- (1.) 交互式编程
- (2.) 脚本式编程
- 二、python基础知识普及
- (1.) 简介
- (2.) 特点
- (3.) 编码、注释、缩进
- (4.) 标识符
- (5.) 保留字
- (6.) 多行语句、引号
- 二、python基础变量
- 三、python基础数据类型
一、编程
以下为在linux系统上进行操作,python版本为3.6.8,编写hello word 程序
(1.) 交互式编程
在linux上直接调用python命令,即可进入交互模式,如下:
[root@kube-master opt]# python3.6 -V
Python 3.6.8
[root@kube-master opt]# python3.6
Python 3.6.8 (default, Apr 2 2020, 13:34:55)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print ("hello word")
hello word
>>>
(2.) 脚本式编程
python 已.py作为扩展名称,所以创建.py结尾的文件,并添加print (“hello word”)
[root@kube-master python]# cat hello.py
#!/usr/bin/python3.6
# -*- coding: utf8 -*-
print ("hello word")
[root@kube-master python]# python3.6 hello.py
hello word
以上已可以通过python编写了一个自己的小程序,并没有想象中的那么困难,欢迎进入python世界,那么接下来我们一起来学习python,以及打开自己的python自动化运维开发的道路
二、python基础知识普及
(1.) 简介
python是一个面向对象的解释、编译型的脚本语言,具有很强的可读性,对初级程序员来说,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。
解释型:意味着开过过程中没有编译过程,节约大量时间
可交互: 可以直接使用">>>" 进行交互式的编程
面向对象:万物皆对象,行为化
(2.) 特点
1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
2.易于阅读:Python代码定义的更清晰。
3.易于维护:Python的成功在于它的源代码是相当容易维护的。
4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
8.数据库:Python提供所有主要的商业数据库的接口。
9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。
10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。
(3.) 编码、注释、缩进
编码:
此处只说python的编码,关于编码的更对发展史,请自行查阅
python2.x: 默认ASCII格式
python3.x: 默认utf-8格式
因此基于python2.x编写的程序中涉及“中文”,需要在头部指定coding为utf8,在python3.x中不需要指定coding为utf8,但是建议无论3.x还是2.x都添加上#-- coding: utf8 --
注释:
注释(Comments)用来向用户提示或解释某些代码的作用和功能,它可以出现在代码中的任何位置。Python 解释器在执行代码时会忽略注释,不做任何处理,就好像它不存在一样,在调试(Debug)程序的过程中,注释还可以用来临时移除无用的代码。
Python 支持两种类型的注释,分别是单行注释和多行注释。
单行注释:
# 注释内容
多行注释:
使用三个连续的单引号’’'或者三个连续的双引号"""注释多行内容
#''' or """
#''' or """
缩进:
Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)
(4.) 标识符
标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称
标识符以下特征:
1.标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字,不能包含空格、@、% 以及 $ 等特殊字符
2.标识符中的字母是严格区分大小写的,也就是说,两个同样的单词,如果大小格式不一样,多代表的意义也是完全不同的
3.可以使用中文作文标识符,不能使用python的保留字
注意:
1.以单下划线开头的标识符(如 _width),表示不能直接访问的类属性,其无法通过 from…import* 的方式导入;
2.以双下划线开头的标识符(如__add)表示类的私有成员;
3.以双下划线作为开头和结尾的标识符(如 init),是专用标识符。
(5.) 保留字
(6.) 多行语句、引号
多行语句:
但是我们可以使用斜杠( \)将一行的语句分为多行显示,如下:
a = 1 + \
2 + \
3
语句中包含 [], {} 或 () 括号就不需要使用多行连接符,如下:
a = ['1',
'2',
'3']
引号:
Python 可以使用引号( ’ )、双引号( " )、三引号( ‘’’ 或 “”" ) 来表示字符串,引号的开始与结束必须是相同类型的。
二、python基础变量
变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。
基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。
因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
单变量赋值:
方法:等号(=)用来给变量赋值,等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:
a = 100
多变量赋值1:
python允许多个变量赋值,如下:
a = b = c = 1
此时a\b\c的值都是1,如下:
[root@kube-master python]# cat hello.py
#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
a = b = c = 1
print (a)
print (b)
print (c)
[root@kube-master python]# python3.6 -d hello.py
1
1
1
多变量赋值2:
a,b,c = 1,2,3
此时a=1,b=2,c=3 如下:
[root@kube-master python]# cat hello.py
#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
a,b,c = 1,2,3
print (a)
print (b)
print (c)
[root@kube-master python]# python3.6 -d hello.py
1
2
3
三、python基础数据类型
数据类型有很多,此处只介绍常用的数据类型,如下:
数字:包括整数、浮点,可以使用int进行取整,例如:
[root@kube-master python]# cat hello.py
#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
str1 = 111
str2 = 11.1
print (str1)
print (str2)
print (int(str2))
[root@kube-master python]# python3.6 -d hello.py
111
11.1
11
字符串:
用单引号括起来表示字符串
用双引号括起来的于单引号的用法相同
三引号,表示多行的字符串,可以在三引号中自由的使用单引号和双引号,例如:
root@kube-master python]# cat hello.py
#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
str1 = 'hello word'
str2 = "hello word"
str3 = ''' "hello word" '''
print (str1)
print (str2)
print (str3)
[root@kube-master python]# python3.6 -d hello.py
hello word
hello word
"hello word"
列表:此处只介绍写法,后边会详细说,如下:
[root@kube-master python]# cat hello.py
#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
list = ['1','2','3']
print (list)
[root@kube-master python]# python3.6 hello.py
['1', '2', '3']
日期:之后会详细说明
元组:此处只介绍格式,后边详细说,如下:
[root@kube-master python]# cat hello.py
#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
tup = ('1','2','3','4')
print (tup)
[root@kube-master python]# python3.6 hello.py
('1', '2', '3', '4')
字典:只介绍格式,后边详细说明,如下:
[root@kube-master python]# cat hello.py
#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
dict1 = {'a':'1','b':'2','c':'3'}
print (dict1)
[root@kube-master python]# python3.6 -d hello.py
{'a': '1', 'b': '2', 'c': '3'}
数据类型转换:
仔细看,每一个的用法将不一一举例子了。
int(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) 将一个整数转换为一个八进制字符串
数学函数:
仔细看,每一个的用法将不一一举例子了。
abs(x) 返回数字的绝对值,如abs(-10) 返回 10
ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x) 返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,…) 返回给定参数的最大值,参数可以为序列。
min(x1, x2,…) 返回给定参数的最小值,参数可以为序列。
modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y) x**y 运算后的值。
round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x) 返回数字x的平方根,数字可以为负数,返回类型为实数,如math.sqrt(4)返回 2+0j