python基础篇【第一篇】

python介绍:

python由Guido van Rossum(英文不知道叫什么,大陆名字叫“龟叔”)于1989年发明,第一个公开发行版发行于1991年。

python能做什么:

Python是一门综合性的语言,你几乎能在计算机上通过Python做任何事情,以下是Python应该最广泛的几个方面

  1. 网络应用:包括web网站 、服务器后台服务等
  2. 科学运算:随着NumPy、SciPy、matplotlib、ETS等众多程序库的开发,Python越来越适合于做科学计算。与科学计算领域最流行的商业软件MATLAB相比,Python是一门真正的通用程序设计语言,比MATLAB所采用的脚本语言的应用范围更广泛,有更多程序库的支持,适用于Windows和Linux等多种平台,完全免费并且开放源码。虽然MATLAB中的某些高级功能目前还无法替代,但是对于基础性、前瞻性的科研工作和应用系统的开发,完全可以用Python来完成。
  3. GUI程序:python提供了多个图形开发界面的库,包括PyQt,WxPython,自带的有Tkinter,这些库允许Python程序员很方便的创建完整的、功能健全的GUI用户界面。
  4. 系统管理工具:Python可以是做运维人员最喜欢用的语言了,可以用它来轻松的开发自动化管理工具、监控程序等,事实上现在很多开源软件也都是用Python开发的,如用于IT配置管理的SaltStack\Ansible, 做虚拟化的OpenStack,
  5. 其它程序:你知道吗?Python 用来写爬虫也是很拿手的,

python特点:

  1,Python“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,而且相比较其他语言较容易入门。

  2,免费开源,开发效率非常高,可移植性,开发高效有丰富的库,可嵌入性,高级语言你无需考虑诸如如何管理你的程序使用的内存一类的底层细节

  3,python具有丰富和强大的库。他常常被称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松的联结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有的时候甚至是程序的最终页面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,然后封装为python可以调用的扩展类库。

python 安装

  Linux:    

Linux的yum依赖自带Python,为防止错误,此处更新其实就是再安装一个Python

查看默认Python版本
python -V

1、安装gcc,用于编译Python源码
    yum install gcc
2、下载源码包,https://www.python.org/downloads/python/
3、解压并进入源码文件
4、编译安装
    ./configure
    make all
    make install
5、查看版本
    /usr/local/bin/python2.7 -V
6、修改默认Python版本
    mv /usr/bin/python /usr/bin/python2.6
    ln -s /usr/local/bin/python2.7 /usr/bin/python
7、防止yum执行异常,修改yum使用的Python版本
    vi /usr/bin/yum
    将头部 #!/usr/bin/python 修改为 #!/usr/bin/python2.6

  Windows版:

  1. 下载安装包:http://www.python.org/download/
  2. 双击安装包按提示“下一步”就OK了
  3. 然后设置环境变量:安装python3.5时把下面的勾 勾上就可以了
  4. 推荐使用Pycharm,可以从官方站点下载对应的版本安装即可,Pycharm有社区版(免费)和专业版,官方站点:https://www.jetbrains.com/pycharm/

python运行

Linux中

新建一个hello.py文件,内容如下:

1 print("Hello,world")

执行python hello.py即可,这是明确指定用python解释器执行的;

如果想要与shell一样 ./hello.py 来执行,就需要在hello.py文件头部来指定解释器,如下:

#!/usr/bin/env python

print "hello,world"

注:需给文件加上执行权限; chmod +x hello.py ,如此就可以用./hello.py来执行

 

Python解释器/种类

CPython,原始、标准官方的实现方式,用C语言开发,
Jython,用于和Java语言集成的实现,把Python代码直接编译成java字节码执行;
IPython,基于CPython之上的一个交互解释器,交互上非常直观,但是执行代码功能和CPython完全一样;
IronPython,用于和.NET框架集成的实现,可以直接把python代码编译成.Net的字节码
PyPy,使用python语言实现的Python解释器,是动态编译器,是Psyco的后继项目;可运行在Linux的32、64位、MacOSX和Windows的32位平台上

变量:

先声明变量:

>>> name = "tianjie"
>>> print(name)
tianjie

变量的作用:昵称(name),其代指内存里某个地址中保存的内容(tianjie)

变量定义的规则:

  5name=数字不能开头,可以当中间或结尾

  !name=特殊字符不能

  name of tianjie = 不能有空格

较长的变量名有两种写法:

  nums_of_tianjie_gf =5

  NumsOfTianjieGf=5

还有不能用一下关键字声明变量:

  [‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

输入:

# 将用户输入的内容赋值给 name 变量(python3写法)
name = input("pless your name:")

#python2写法
name= raw_input("please your name:")

#然后打印这个输入的内容
print(name)

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

1 import getpass
2
3 # 将用户输入的内容赋值给 pwds 变量
4 pwds = getpass.getpass("请输入密码:")
5
6 # 打印输入的内容
7 print pwds
8
9 注意:此方法在pycharm中不能使用

流程控制:

一、if...else:

1、猜一下幸运数字:

 1 输入一个数字作比较,如果相等输出“相等”
 2 大了,提示小一点
 3 小了提示大一点
 4
 5
 6 number = 6
 7 cai = int(input("My Lucky Number:"))
 8 if cai > number:
 9     print("please print smaller")
10 elif cai < number:
11     print("please print bigger")
12 else:
13     print("Congratulations, you got it")

2、判断用户输入的用户名和密码是否正确,如正确就打印欢迎登陆,错误提示用户名或密码错误,结合getpass模块:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3
 4 import getpass
 5
 6
 7 user = ‘tianjie‘
 8 password = ‘buzhidao‘
 9
10 input_user = input(‘Username?‘)
11 input_pass = getpass.getpass(‘Password?‘)
12
13 if input_user == user and input_pass == password:
14     print(‘欢迎登陆,%s‘ %(input_user))
15 else:
16     print(‘用户名或者密码错误,请稍后再试‘)

二、while:

1、猜一个幸运数字直到猜对为止:

 1 number = 6
 2 cai = -1
 3 while number != cai:
 4     cai = int(input("My Lucky Number:"))
 5     if cai > number:
 6         print("please print smaller")
 7     elif cai < number:
 8         print("please print bigger")
 9     #else:
10     #   print("Congratulations, you got it")
11         #break
12 print("Congratulations, you got it")

2、循环,满足条件进入循环:

还是上面的需求,允许用户输入尝试三次,如果连续三次失败的话,退出程序,使用while循环来处理:

 1 #!/usr/bin/env python
 2 # -*- coding :utf-8 -*-
 3
 4 user="tianjie"
 5 password="qweasd"
 6
 7 count=0
 8
 9
10 while True:
11     if count<3:
12         name=input("input your user:")
13         pasw=input("password:")
14         if name==user and password == pasw:
15             print("%s欢迎登陆"%(name))
16             break
17         else:
18             print("用户或密码错误")
19             count+=1
20     else:
21         flag=input("输入次数过多是否继续,y/n:")
22         if flag == "y":
23             count=0
24         elif flag == "n":
25             break

3,for.... in....

还是上面的需求,只允许用户输错10次,如果连续三次失败的话,提示是否继续,,使用for循环来处理:

 1 #!/usr/bin/env python
 2 # -*- coding :utf-8 -*-
 3
 4 user="tianjie"
 5 password="qweasd"
 6
 7 count=0
 8 for i in range(10):
 9     if count<3:
10         name=input("input your user:")
11         pasw=input("password:")
12         if name==user and password == pasw:
13             print("%s欢迎登陆"%(name))
14             break
15         else:
16             print("用户或密码错误")
17
18     else:
19         flag=input("输入次数过多是否继续,y/n:")
20         if flag == "y":
21             count=0
22             continue
23         elif flag == "n":
24             break
25
26     count += 1

python模块:


os模块:是Python标准库中用于访问操作系统功能的模块,非常NB 可以调用操作系统的命令着实没有想到!

1 >>> import os   #先导入模块
2 >>> help(os)     #获取os帮助信息

列出可以用的模块

1 1 >>> dir(os)
2 2 [‘EX_CANTCREAT‘, ‘EX_CONFIG‘, ‘EX_DATAERR‘, ‘EX_IOERR‘, ‘EX_NOHOST‘, ‘EX_NOINPUT‘, ‘EX_NOPERM‘, ‘EX_NOUSER‘, ‘EX_OK‘, ‘EX_OSERR‘, ‘EX_OSFILE‘, ‘EX_PROTOCOL‘, ‘EX_SOFTWARE‘, ‘EX_TEMPFAIL‘, ‘EX_UNAVAILABLE‘, ‘EX_USAGE‘, ‘F_OK‘, ‘NGROUPS_MAX‘, ‘O_APPEND‘, ‘O_ASYNC‘, ‘O_CREAT‘, ‘O_DIRECT‘, ‘O_DIRECTORY‘, ‘O_DSYNC‘, ‘O_EXCL‘, ‘O_LARGEFILE‘, ‘O_NDELAY‘, ‘O_NOATIME‘, ‘O_NOCTTY‘, ‘O_NOFOLLOW‘, ‘O_NONBLOCK‘, ‘O_RDONLY‘, ‘O_RDWR‘, ‘O_RSYNC‘, ‘O_SYNC‘, ‘O_TRUNC‘, ‘O_WRONLY‘, ‘P_NOWAIT‘, ‘P_NOWAITO‘, ‘P_WAIT‘, ‘R_OK‘, ‘SEEK_CUR‘, ‘SEEK_END‘, ‘SEEK_SET‘, ‘ST_APPEND‘, ‘ST_MANDLOCK‘, ‘ST_NOATIME‘, ‘ST_NODEV‘, ‘ST_NODIRATIME‘, ‘ST_NOEXEC‘, ‘ST_NOSUID‘, ‘ST_RDONLY‘, ‘ST_RELATIME‘, ‘ST_SYNCHRONOUS‘, ‘ST_WRITE‘, ‘TMP_MAX‘, ‘UserDict‘, ‘WCONTINUED‘, ‘WCOREDUMP‘, ‘WEXITSTATUS‘, ‘WIFCONTINUED‘, ‘WIFEXITED‘, ‘WIFSIGNALED‘, ‘WIFSTOPPED‘, ‘WNOHANG‘, ‘WSTOPSIG‘, ‘WTERMSIG‘, ‘WUNTRACED‘, ‘W_OK‘, ‘X_OK‘, ‘_Environ‘, ‘__all__‘, ‘__builtins__‘, ‘__doc__‘, ‘__file__‘, ‘__name__‘, ‘__package__‘, ‘_copy_reg‘, ‘_execvpe‘, ‘_exists‘, ‘_exit‘, ‘_get_exports_list‘, ‘_make_stat_result‘, ‘_make_statvfs_result‘, ‘_pickle_stat_result‘, ‘_pickle_statvfs_result‘, ‘_spawnvef‘, ‘abort‘, ‘access‘, ‘altsep‘, ‘chdir‘, ‘chmod‘, ‘chown‘, ‘chroot‘, ‘close‘, ‘closerange‘, ‘confstr‘, ‘confstr_names‘, ‘ctermid‘, ‘curdir‘, ‘defpath‘, ‘devnull‘, ‘dup‘, ‘dup2‘, ‘environ‘, ‘errno‘, ‘error‘, ‘execl‘, ‘execle‘, ‘execlp‘, ‘execlpe‘, ‘execv‘, ‘execve‘, ‘execvp‘, ‘execvpe‘, ‘extsep‘, ‘fchdir‘, ‘fchmod‘, ‘fchown‘, ‘fdatasync‘, ‘fdopen‘, ‘fork‘, ‘forkpty‘, ‘fpathconf‘, ‘fstat‘, ‘fstatvfs‘, ‘fsync‘, ‘ftruncate‘, ‘getcwd‘, ‘getcwdu‘, ‘getegid‘, ‘getenv‘, ‘geteuid‘, ‘getgid‘, ‘getgroups‘, ‘getloadavg‘, ‘getlogin‘, ‘getpgid‘, ‘getpgrp‘, ‘getpid‘, ‘getppid‘, ‘getsid‘, ‘getuid‘, ‘isatty‘, ‘kill‘, ‘killpg‘, ‘lchown‘, ‘linesep‘, ‘link‘, ‘listdir‘, ‘lseek‘, ‘lstat‘, ‘major‘, ‘makedev‘, ‘makedirs‘, ‘minor‘, ‘mkdir‘, ‘mkfifo‘, ‘mknod‘, ‘name‘, ‘nice‘, ‘open‘, ‘openpty‘, ‘pardir‘, ‘path‘, ‘pathconf‘, ‘pathconf_names‘, ‘pathsep‘, ‘pipe‘, ‘popen‘, ‘popen2‘, ‘popen3‘, ‘popen4‘, ‘putenv‘, ‘read‘, ‘readlink‘, ‘remove‘, ‘removedirs‘, ‘rename‘, ‘renames‘, ‘rmdir‘, ‘sep‘, ‘setegid‘, ‘seteuid‘, ‘setgid‘, ‘setgroups‘, ‘setpgid‘, ‘setpgrp‘, ‘setregid‘, ‘setreuid‘, ‘setsid‘, ‘setuid‘, ‘spawnl‘, ‘spawnle‘, ‘spawnlp‘, ‘spawnlpe‘, ‘spawnv‘, ‘spawnve‘, ‘spawnvp‘, ‘spawnvpe‘, ‘stat‘, ‘stat_float_times‘, ‘stat_result‘, ‘statvfs‘, ‘statvfs_result‘, ‘strerror‘, ‘symlink‘, ‘sys‘, ‘sysconf‘, ‘sysconf_names‘, ‘system‘, ‘tcgetpgrp‘, ‘tcsetpgrp‘, ‘tempnam‘, ‘times‘, ‘tmpfile‘, ‘tmpnam‘, ‘ttyname‘, ‘umask‘, ‘uname‘, ‘unlink‘, ‘unsetenv‘, ‘urandom‘, ‘utime‘, ‘wait‘, ‘wait3‘, ‘wait4‘, ‘waitpid‘, ‘walk‘, ‘write‘]

os.system():调用本地命令:

 1 如查看系统分区使用:
 2 >>> os.system("fdisk -l")
 3
 4 Disk /dev/sda: 500.1 GB, 500107862016 bytes
 5 255 heads, 63 sectors/track, 60801 cylinders
 6 Units = cylinders of 16065 * 512 = 8225280 bytes
 7 Sector size (logical/physical): 512 bytes / 4096 bytes
 8 I/O size (minimum/optimal): 4096 bytes / 4096 bytes
 9 Disk identifier: 0x148bf7a4
10
11    Device Boot      Start         End      Blocks   Id  System
12 /dev/sda1   *           1          77      614400   83  Linux
13 Partition 1 does not end on cylinder boundary.
14 /dev/sda2              77        6451    51200000   83  Linux
15 /dev/sda3            6451        7471     8192000   82  Linux swap / Solaris
16 /dev/sda4            7471       60802   428379160    5  Extended
17 /dev/sda5            7471       60802   428378112   83  Linux
18 0
19 >>> 

#如果赋予变量的话 ,只是把执行命令的状态返回值赋予了变量,并没有把执行结果打印出来

>>> a=os.system("fdisk -l")

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          77      614400   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              77        6451    51200000   83  Linux
/dev/sda3            6451        7471     8192000   82  Linux swap / Solaris
/dev/sda4            7471       60802   428379160    5  Extended
/dev/sda5            7471       60802   428378112   83  Linux

>>> print(a)
0

popen 是把执行结果给保存,然后用read()打开 :

 1 >>> a=os.popen
 2 >>> a=os.popen("df -lh")
 3 >>> print(a)
 4 <open file ‘df -lh‘, mode ‘r‘ at 0x1f93270>
 5 >>> print(a.read())
 6 Filesystem      Size  Used Avail Use% Mounted on
 7 /dev/sda2        48G   11G   36G  23% /
 8 tmpfs           934M  300K  934M   1% /dev/shm
 9 /dev/sda1       575M   31M  514M   6% /boot
10 /dev/sda5       402G  6.1G  376G   2% /home
11
12 >>> 

 

时间: 2024-11-05 17:24:27

python基础篇【第一篇】的相关文章

python基础巩固第一篇

---恢复内容开始--- 对于基础不是特别好的我最近开始学习python,想重新认识python这门语言,也算对自己的以后的路,做个台阶和总结记录. (一)学一门语言开始都是从计算机基础开始学起,自己一开始就想,学语言为什么要学计算机基础,都后面自己也明白了,(一)语言是在哪里运行的---计算机.(二)比如中国人和外国人说话要沟通是不是要通过一个介质去翻译双方的意思从而理解,其实目的都是一样的,学习一门语言开始之前就是就要通过计算机去翻译python所表达的意思,计算机则只能识别0和1这两个语言

Python 基础【第一篇】环境部署

一.Windows基础环境配置部署 1.1.下载python安装程序 下载地址:https://www.python.org/ftp/python/3.4.1/python-3.4.1.msi 1.2.运行 python-3.4.1.msi 1.3.这里可以选择安装路径(默认即可) 1.4.一路默认下一步 直到安装完毕 1.5.设置环境变量 1.5.1.我的电脑---->右键“属性”---->高级系统设置 1.5.2.环境变量 1.5.3找到系统变量中的“Path” 值 如果没有就添加,名称为

Python学习基础篇第一篇——快速入门(适合初学者)

一.Python学习基础篇第一篇--(快速入门) 建议从Python2.7开始学习,Python2.7可以支持扩展大量的第三方类库,是目前比较成熟的版本 编写代码的软件推荐将python自带的IDLE和PyCharm集成IDE结合起来使用 1.1 Python命令行 Python命令行将以 >>> 开始,比如 >>>print 'Hello World!' 对于验证简单的命令可以在python自带的IDLE中完成  1.2 在Python自带的IDLE写一段小程序 在所

Python自动化基础【第一篇】:目录

本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! Python自动化基础[第一篇]:目录 Python自动化基础[第二篇]:初识Python Python自动化基础[第三篇]:Python基本数据类型 Python自动化基础[第四篇]:Python基础之函数 Python自动化基础[第五篇]:Python基础之杂货铺 Python自动化基础[第六篇]:模块 Python自动化基础[第七篇]:面向对象 Python自动化基础[第

Python开发【第一篇】:目录

本系列博文改编自武沛齐老师的原创博文,主要包含  Python基础.前端开发.Web框架.缓存以及队列等内容 ,用于学习记录成长!!! Python开发[第一篇]:目录 Python开发[第二篇]:初识Python

python基础1--小结篇

如果有别的编程语言基础,python属于极好上手的一门语言.应用上,用“自取所需”来描述,最为贴切. 首先,放上一些推荐. 安装上: 1.python3.5.1(推荐官网直接下载,自带IDLE),安装不麻烦,记得增加环境变量即可 2.编辑器:sublime 其实,并没有使用很多,但是推荐的人超多 ,破解版网上很多,按资源下载即可 3.IDE: 强推 pycharm 对JetBrains软件执着的热爱  方便又美观 网上能找到找到注册码,学生用edu邮箱可以免费使用,当然,支持正版! 熟悉上: 语

Android基础学习第一篇—Project目录结构

写在前面的话: 1. 最近在自学Android,也是边看书边写一些Demo,由于知识点越来越多,脑子越来越记不清楚,所以打算写成读书笔记,供以后查看,也算是把自己学到所理解的东西写出来,献丑,如有不对的地方,希望大家给与指正. 2. 由于类似于读书笔记,可能格式神马的会比较随(hen)意(chou),大家看着受不了,可以使劲吐槽. *************************************我只是分割线***************************************

python基础-第六篇-6.2模块

python之强大,就是因为它其提供的模块全面,模块的知识点不仅多,而且零散---一个字!错综复杂 没办法,二八原则抓重点咯!只要抓住那些以后常用开发的方法就可以了,哪些是常用的?往下看--找答案~ 模块定义 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才能完成 (函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块.

Python基础学习 总结篇

Python基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结构(概要) Python学习(四)数据结构 —— int float Python学习(四)数据结构 —— str Python学习(四)数据结构 —— bool Python学习(四)数据结构 —— list tuple range Python学习(四)数据结构 —— set frozenset

python基础知识第一节

一  计算机基本组成: CPU.内存.主板 计算机最底层是电子电路,只能识别两个数:0和1 二  Python概述: python是解释型语言.弱类型语言 现在热度排名第4 python1.0在1994年1月发布 python2.0在2000年12月16发布,近年来一直更新到2.7版本,14年11月,官方宣布将于2020年取消python2的更新. python3.0在08年12月3日发布,自此不断更新,正渐渐取代python2版本. 三  基础知识 : 第一个程序 在notepad++中建立f