【学神-RHEL7】 P1-Python基础

本节所讲内容

 

python基础

公开发布时间1991年

是一种面向对象、解释型计算机程序设计语言由Guido van Rossum于1989年发明第一个公开发行版发行于1991年。

 

优点

简单                                        Python是一种代表简单主义思想的语言。

易学                                        Python极其容易上手因为Python有极其简单的说明文档

速度快                                     Python的底层是用 C 语言写的很多标准库和第三方库也都是用                                           C 写的运行速度非常快。

免费开源                                  Python是FLOSS自由/开放源码软件之一

轻松拿高薪

 

Python用来做什么

软件开发游戏、搜索、嵌入式、网站、C/S软件

系统管理脚本、运维自动化工具

 

编程要求

缩进统一

python中的语法格式没有结束符统一通过缩进进行确定不同的执行流程和语句同一流程和语句应保持缩进统一

 

在Linux系统中使用python首先确定python软件已经安装

[[email protected] ~]# rpm -qf`which python`
python-2.7.5-16.el7.x86_64

 

如果没有安装可执行以下命令进行安装

[[email protected] ~]# yum -yinstall python

 

win7x64位 python 2.7.10

链接http://pan.baidu.com/s/1sjuv5rn密码i5su

 

python源码包下载地址

https://www.python.org/

 

1、交互式解释器

[[email protected] ~]# python
Python 2.7.5 (default, Feb 112014, 07:46:25)
[GCC 4.8.2 20140120 (Red Hat4.8.2-13)] on linux2
Type "help","copyright", "credits" or "license" for moreinformation.
>>> print"Hello,world!"
Hello,world!

 

 

退出方法
>>> exit()
或者
>>> quit()
或者
Ctrl+D

 

2、算法的使用

基本运算符 +  - *  /

特殊运算符

//取整运算

%取余运算

**幂值运算

 

>>> 2 + 2
4
>>> 7 // 3                          #7整除3得2
2
>>> 7 % 3                          #7除以3余数为1
1
>>> 7 ** 3                          #7的3次幂343
343

 

注乘法运算的特例

>>> 1 * 10
10
>>> ‘1‘ * 10
‘1111111111‘

 

小数运算

如果参与运算的两个数中有一个为小数那么结果也是小数

>>> 3.0 * 2.0
6.0
>>> 3.0 / 2
1.5
>>> 3.0 - 2.0
1.0

 

3、变量的赋值

变量名可以包括字母数字和下划线变量不能以数字开头

与shell脚本不同python在引用变量时不需要加上$符号便可以直接引用

>>> x = 2
>>> x * 2
4

 

对于字符串的赋值需要加上引号

>>> rm =ZhaoXiangJie
Traceback (most recentcall last):
  File "<stdin>", line 1, in<module>
NameError: name‘ZhaoXiangJie‘ is not defined
>>> rm =‘ZhaoXiangJie‘
>>> rm
‘ZhaoXiangJie‘
>>> RM=rm
>>> RM
‘ZhaoXiangJie‘
>>> RM=‘rm‘
>>> RM
‘rm‘

 

4、语句操作

>>> print 2 * 2
4

 

5、获取用户输入

>>> x =input("x: ")
x: 33
>>> y =input("y: ")
y: 44
>>> print x * y
1452

 

6、函数

函数就像小程序一样可以用来实现特定的功能。Python中有很多函数用户也可以自定义函数

常见函数

pow       幂值运算

abs       绝对值运算

round   四舍五入

floor    返回值下舍整数

ceil         返回值上入整数

sqrt        平方根运算

int          取整运算

 

>>> pow(7,3)
343
>>> abs(-10)
10

 

对于不能直接调用的函数可以插入对应的模块进行调用

>>> import math                                    #插入math模块
>>> math.floor(32.9)                               #使用floor函数
32.0
>>> int(math.floor(32.9))
32

 

如果不希望每次调用函数的时候都写上模块的名称可以结合from进行实现

>>> from mathimport sqrt
>>> sqrt(9)
3.0

 

也可以通过变量来引用函数

>>> foo = math.sqrt
>>> foo(9)
3.0

 

如果模块的名称比较长使用起来不方便也可以通过以下方法进行设置

>>> from math importsqrt as a
>>> a(9)
3.0

 

同时导入多个模块

>>> import sys,os

 

7、字符串的引用

单引号和双引号都可以引用字符串使用时应避免出现混乱

>>>"Hello,world!"
‘Hello,world!‘
>>> ‘Hello,world!‘
‘Hello,world!‘
>>>‘"Hello,world!" she said‘
‘"Hello,world!" shesaid‘

 

针对以下这种情况显然使用单引号是不行的

>>> ‘I‘m a boy‘
  File "<stdin>", line 1
    ‘I‘m a boy‘
       ^
SyntaxError: invalid syntax
>>> "I‘m aboy"
"I‘m a boy"
 
或者通过 \ 对单引号进行转义
>>> ‘Let\‘s go‘
"Let‘s go"

 

如果要引用数值可以通过函数str 和 repr来实现

repr      返回值的字符串表示形式

str        将值转换为字符串

 

>>> police = 110
>>> print "报警请拨" + police                          #直接引用会报错
Traceback (most recent calllast):
  File"<stdin>", line 1, in <module>
TypeError: cannot concatenate‘str‘ and ‘int‘ objects
 
>>> print "报警请拨" + repr(police)
报警请拨110
 
>>> print "报警请拨" + str(police)
报警请拨110

 

长字符串的引用

如果需要写一个非常非常长的字符串它需要跨多行可以使用三个引号代替普通引号

>>> print ‘‘‘This isa very long string.
... It continues there
... And it‘s not over yet
... "Hello,world!"
... Still here.‘‘‘
This is a very long string.
It continues there
And it‘s not over yet
"Hello,world!"
Still here.

 

原始字符串的使用

原始字符串对于反斜线并不会特殊对待。原始字符串以r开头

例打印windows系统的C:\nowhere这样的路径

>>> print‘C:\nowhere‘
C:
owhere

当然可以通过转义符 “\”进行转义

>>> print‘C:\\nowhere‘
C:\nowhere

但是相对于一个更长的目录这个时候就很不方便

>>> print‘C:\\Program Files\\fonrd\\foo\\bar\\baz\\frozz\bozz‘
C:\ProgramFiles\fonrd\foo\bar\baz\frozozz

通过原始字符串的方式可以很轻松的实现

>>> print r‘C:\ProgramFiles\fonrd\foo\bar\baz\frozz\bozz‘
C:\ProgramFiles\fonrd\foo\bar\baz\frozz\bozz

 

8、input和raw_input 的比较

input会默认用户输入的是合法的Python表达式而raw_input会把所有的输入当做原始数据进行处理

例一使用input进行输入时输入的代码内容需加上引号才能进行执行

>>> name =input("What is your name? ")
What is your name? zxj
Traceback (most recent calllast):
  File "<stdin>", line 1, in<module>
  File "<string>", line 1, in<module>
NameError: name ‘zxj‘ is notdefined
>>> name =input("What is your name? ")
What is your name? ‘zxj‘
>>> print name
zxj

 

例二使用raw_input进行输入时输入的代码内容不需要加引号

>>> name =raw_input("What is your name? ")
What is your name? zxj
>>> print"Hello, "  +  name + "!"
Hello, zxj!

 

用Python编写脚本

首行加上python命令的执行路径可以使python脚本直接就能执行不需要通过python  脚本名这种方式也能执行当然前提是脚本要有x权限脚本的后缀名为 .py

脚本中#开头为注释行

 

[[email protected] ~]# vimhello.py
#!/usr/bin/python
name = raw_input ("Whatis your name ?")
print ‘Hello,‘ + name + ‘!‘

 

执行脚本文件

方法一python  + 脚本名

[[email protected] ~]# pythonhello.py
What is your name?RM
Hello, RM!

 

方法二给脚本加上x权限直接执行

[[email protected] ~]# chmod u+xhello.py
[[email protected]ost ~]# ./hello.py
What is your name?MK
Hello, MK!

 

在脚本中如果需要同时引用很多变量时可以通过%s 和%d 来实现

%s 用来引用字符串

%d 用来引用数字

 

实战

1、写一个统计人员信息的python脚本

#!/usr/bin/env python
name = raw_input(‘your name:‘)
age = raw_input(‘your age: ‘)
job = raw_input(‘your job: ‘)
 
print"***********************"
print "*****  your info *****"
print"***********************"
 
#print ‘\t‘"Name: "+ name
#print ‘\t‘"Age: " +age
#print ‘\t‘"Job: " +job
print ‘‘‘\tName: %s
\tAge: %s
\tJob: %s‘‘‘ % (name,age,job)

 

2、python中插入tab模块实现tab自动补全

脚本内容

[[email protected] ~]# vim tab.py
#!/usr/bin/python
# python startup file
import sys
import readline
import rlcompleter
import atexit
import os
# tab completion 
readline.parse_and_bind(‘tab:complete‘)
# history file 
histfile = os.path.join(os.environ[‘HOME‘],‘.pythonhistory‘)
try:
    readline.read_history_file(histfile)
except IOError:
    pass
atexit.register(readline.write_history_file,histfile)
del os, histfile, readline,rlcompleter

 

插入tab模块

>>> import tab
>>> import sys
>>> sys.
sys.__class__(              sys.builtin_module_names    sys.last_type(
sys.__delattr__(            sys.byteorder               sys.last_value

 

查询python版本

>>> sys.version_info
sys.version_info(major=2,minor=7, micro=5, releaselevel=‘final‘, serial=0)

扩展

插入模块时出现以下报错信息原因tab模块的路径不正确

>>> import tab
Traceback (most recent calllast):
  File "<stdin>", line 1, in<module>
ImportError: No module namedtab
 
解决方法
>>>sys.path.append(‘/etc/sysconfig/network-scripts/‘)
Traceback (most recent calllast):
  File "<stdin>", line 1, in<module>
NameError: name ‘sys‘ is notdefined
>>> import sys
>>>sys.path.append(‘/etc/sysconfig/network-scripts/‘)

 

>>> sys.path
[‘‘,‘/usr/lib64/python27.zip‘, ‘/usr/lib64/python2.7‘,‘/usr/lib64/python2.7/plat-linux2‘, ‘/usr/lib64/python2.7/lib-tk‘,‘/usr/lib64/python2.7/lib-old‘, ‘/usr/lib64/python2.7/lib-dynload‘,‘/usr/lib64/python2.7/site-packages‘,‘/usr/lib64/python2.7/site-packages/gtk-2.0‘,‘/usr/lib/python2.7/site-packages‘, ‘/etc/sysconfig/network-script/‘,‘/etc/sysconfig/network-scripts/‘]

 

>>> import tab
>>> sys.
sys.__class__(              sys.builtin_module_names    sys.last_type(
sys.__delattr__(            sys.byteorder               sys.last_value

 

os.system可以直接调用shell中的命令

>>> import os
>>> os.system(‘uname-r‘)
3.10.0-229.el7.x86_64

 

学习过程中如果问题请留言。更多内容请加
学神IT-linux讲师-RM老师QQ2805537762
学神IT-戚老师QQ3341251313
学神IT-旭斌QQ:372469347
学神IT教育RHEL7交流群468845589

 

 

 

时间: 2024-10-12 20:03:58

【学神-RHEL7】 P1-Python基础的相关文章

【学神-RHEL7】1-16-RAID5和RAID10创建&LVM管理

本节所讲内容: RAID5.RAID10配置 RAID删除   建立RAID5 1)     创建RAID5 2)     停止阵列,重新激活阵列 3)     再添加新的1G热备盘,扩展阵列容量,从3磁盘个扩展到4个 实验环境: sde1,sde2,sde3,sde5,sde6 个主分区  每个1G   [[email protected] ~]# ll/dev/sde* brw-rw---- 1 root disk8, 64 Dec 12 20:35 /dev/sde brw-rw----

Day6 - Python基础6 面向对象编程

Python之路,Day6 - 面向对象学习 本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, 狗可以咬人,怎么描述这种不同的角色和他们的功能呢? 你搜罗了自己掌握的所有技能,写出了下面的代码来描述这两个角色 1 2 3 4 5 6 7 8 9 10 11

Python 基础语法(三)

Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)-------------------------------------------- 七.面向对象编程 python支持面向对象编程:类和对象是面向对象编程的两个主要方面,类创建一个新的类型,对象是这个类的实例. 对象可以使用普通的属于对象的变量存储数据,属于对象或类的变量被称为域:对象也可以使用属于类的函数,这样的函数称为类的方法:域和方法可

python基础总结(基于2.7版本也适用于3.4)

言语介绍: Python(英语发音:/?pa?θ?n/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议[1].Python语法简洁而清晰,具有丰富和强大的类库.它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起.常见的一种应用情形是,使用Python快速生成程序的原型(有时甚

python基础学习12(核心编程第二版)部分

# -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #==================== __author__ = 'Administrator' #python class #面向对象编程oop思想,3个特性:封装.继承.多态,在其他方面的功能,比如重载,模拟等,也可以自定义自己需要的类 #在python中,面向对象主要2个:类和类实例 #类与实例 #类与实例有关

python基础语法(三)

--------------------------------------------接 Python 基础语法(二)-------------------------------------------- 七.面向对象编程 python支持面向对象编程:类和对象是面向对象编程的两个主要方面,类创建一个新的类型,对象是这个类的实例. 对象可以使用普通的属于对象的变量存储数据,属于对象或类的变量被称为域:对象也可以使用属于类的函数,这样的函数称为类的方法:域和方法可以合称为类的属性. 域有两种类

day02-计算机操作系统及python基础介绍

计算机操作系统及python基础介绍 1.什么是操作系统? 操作系统是介于计算机硬件与应用程序之间 是协调,控制,管理计算机硬件资源与软件资源的控制程序 2.为何要有操作系统? 1.控制硬件 2.把对硬件复杂的操作封装成优美简单的接口(文件),供用户或者应用程序去使用 3.一套完成的计算机系统包括哪些? 应用程序 操作系统 计算机硬件 注:我们以后开发的都是应用程序-应用程序无法直接操作硬件,但凡要操作硬件,都是调用操作系统的接口 4.机器语言:直接用二进制操作硬件, 优点:运行速度快 缺点:开

python基础之测试题

一.python基础 1. s = ' 123.33sdhf3424.34fdg323.324',计算字符串中所有数字的和. 本题结果应为:123.33+3424.34+323.32 答案: 1.1.如果结果为:123.33+3424.34+323.324,有以下几种解法: (1).使用"[\d.]+"匹配数字 import re s = ' 123.33sdhf3424.34fdg323.324' pattern = re.compile("[\d.]+") re

python基础学习 第十七天 (一)

python基础学习 第十七天 (一) 一. 类与类之间的关系 ?千世界, 万物之间皆有规则和规律. 我们的类和对象是对?千世界中的所有事物进?归类. 那事物之间存在着相对应的关系. 类与类之间也同样如此. 在?向对象的世界中. 类与类中存在以下关系:我们会使用这个关系就行,不用扣这写名词 依赖关系 组合关系 继承关系(类的三大特性之一:继承.) 1.1 依赖关系 ?先, 我们设计?个场景. 夏天到了大象很热,大象想到冰箱中. 注意. 在这个场景中, 其实是存在了两种事物的. ?个是?象, ?象