python第一天学习笔记

Python编程

本实验使用Ubuntu系统

Python官网下载 www.python.org

Ubuntu官网下载 www.ubuntu.org.cn

[email protected]:~$ python–V         //查看python版本

Python 2.7.6

本实验适用python版本为2.6、2.7

编程风格:

语法要求:统一缩进

变量:标识符第一个字符必须是字母表中的字母或下划线,标识符由下划线、字母、数字组成,标识符对大小写敏感

[email protected]:~$ python

>>> a= ‘hello,everybody,my name iswang‘

>>> a

‘hello,everybody,my name is wang‘

>>> a="hello,everybody,I‘m  wang"

>>> a

"hello,everybody,I‘m  wang"

>>> a=‘‘‘hello, everybody,I‘m wang\n

... 1

... 2

... 3

... A

... ‘‘‘

>>> print a

hello, everybody,I‘m wang

1

2

3

A

//单引号、双引号、三引号使用。

赋值例子:

>>> user_name=‘wang‘

>>> age=22

>>> next_year_age=age+1

运算例子

>>> 3+5

8

>>> 2*3

6

>>> a=4

>>> b=5

>>> a>b

False

>>> a<b

True

导入模块:

Import modulename          //导入模块

From module import aaa    //当模块太大时,只想导入某一功能

Import modulename as newname    //设置别名

[email protected]:~$ python

>>> import sys                    //导入sys模块

>>> sys.path                    //使用sys.path功能sys.path列出python列表路径

[‘‘, ‘/usr/lib/python2.7‘,‘/usr/lib/python2.7/plat-i386-linux-gnu‘, ‘/usr/lib/python2.7/lib-tk‘,‘/usr/lib/python2.7/lib-old‘, ‘/usr/lib/python2.7/lib-dynload‘, ‘/usr/local/lib/python2.7/dist-packages‘,‘/usr/lib/python2.7/dist-packages‘,‘/usr/lib/python2.7/dist-packages/PILcompat‘,‘/usr/lib/python2.7/dist-packages/gtk-2.0‘,‘/usr/lib/python2.7/dist-packages/ubuntu-sso-client‘]

>>> help(sys)

在python中使用tab键可补全命令配置

[email protected]:~$ cd/usr/lib/python2.7/

[email protected]:/usr/lib/python2.7$vim tab.py

#!/usr/bin/python2.7

# 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

[email protected]:/usr/lib/python2.7$python

>>> import tab                        //导入tab模块·,可使用tab键补全

>>> import sys

>>> sys.version_info                  //可使用TAB键补全命令

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

>>> sys.path.append(‘/pathon‘)         //将一路径加入系统路径

[email protected]:/usr/lib/python2.7$python

>>> from sys import path

>>> path

[‘‘, ‘/usr/lib/python2.7‘,‘/usr/lib/python2.7/plat-i386-linux-gnu‘, ‘/usr/lib/python2.7/lib-tk‘,‘/usr/lib/python2.7/lib-old‘, ‘/usr/lib/python2.7/lib-dynload‘,‘/usr/local/lib/python2.7/dist-packages‘, ‘/usr/lib/python2.7/dist-packages‘,‘/usr/lib/python2.7/dist-packages/PILcompat‘,‘/usr/lib/python2.7/dist-packages/gtk-2.0‘,‘/usr/lib/python2.7/dist-packages/ubuntu-sso-client‘]

>>> sys.version_info

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

NameError: name ‘sys‘ is not defined

//只导入sys中path,path可以用了,sys.version_info不可以用

>>> from sys importpath,version_info

>>> version_info

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

//导入两个version_info可使用了

>>> import sys,os         //同时导入多个模块,os可调用shell的命令

>>> os.system(‘pwd‘)         //使用pwd命令

/usr/lib/python2.7

0

>>> os.system(‘uname -a‘)

Linux wangchao-virtual-machine3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:45:15 UTC 2015 i686 i686i686 GNU/Linux

0

>>> from sys import version_infoas v         //当名字过长时可设置别名

>>> v                                  //v使用别名(sys.version_info)

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

>>> os.system(‘df -h‘)

Filesystem      Size Used Avail Use% Mounted on

/dev/sda1        19G 3.5G   15G  20% /

none            4.0K     0 4.0K   0% /sys/fs/cgroup

udev            493M  4.0K 493M   1% /dev

tmpfs           101M 1.3M  100M   2% /run

none            5.0M     0 5.0M   0% /run/lock

none            502M  152K 502M   1% /run/shm

none            100M   44K 100M   1% /run/user

/dev/sr0       1003M 1003M     0 100% /media/wangchao/Ubuntu 14.04.2 LTSi386

0

//最后一个值为0,表示命令执行成功。非0表示执行失败,可用于判断命令执行是否成功

>>> os.system(‘aaa‘)

sh: 1: aaa: not found

32512

>>> if os.system(‘aaa‘)!=0:print‘command excution failed!‘

...

sh: 1: aaa: not found

command excution failed!

用户交互

Raw_input()

小程序:1.询问用户姓名,年龄,性别,工作,工资;2.以格式化方式输出:

Information of company staff

Name:xx

Age:XX

Sex:xx

Job:xx

[email protected]:~/python$vim ask_name.py

#!/usr/bin/env python

name = raw_input(‘name:‘)

age =int( raw_input(‘age:‘))

sex = raw_input(‘sex:‘)

job = raw_input(‘job:‘)

#print‘\tname:‘,name,‘\n\tage:‘,age,‘\n\tsex‘,sex,‘\n\tjob‘,job

print(‘---------------------------\n‘)

#if age < 28:

#       print"1"

#elif name ==‘wang‘:

print"good"

#else:

#       print"2"

print ‘‘‘\tname:%s

\tage:%d

\tsex:%s

\tjob:%s ‘‘‘%(name,age,sex,job)

程序结果:

[email protected]:~/python$python ask_name.py

name:wang

age:22

sex:nang

job:IT

---------------------------

name:wang

age:22

sex:nang

job:IT

Python流程控制

If………else…..

[email protected]:~/python$vim ask_name.py

#!/usr/bin/env python

name = raw_input(‘name:‘)

age =int( raw_input(‘age:‘))

sex = raw_input(‘sex:‘)

job = raw_input(‘job:‘)

#print‘\tname:‘,name,‘\n\tage:‘,age,‘\n\tsex‘,sex,‘\n\tjob‘,job

print(‘---------------------------\n‘)

if age < 28:

print"1"

elif name ==‘wang‘:

print"good"

else:

print"2"

print ‘‘‘\tname:%s

\tage:%d

\tsex:%s

\tjob:%s ‘‘‘%(name,age,sex,job)

//如果年龄小于28,打印1;年龄大于28,姓名为wang打印good;否则打印2

程序运行结果

[email protected]:~/python$python ask_name.py

name:aaa

age:22

sex:nang

job:IT

---------------------------

1

name:aaa

age:22

sex:nang

job:IT

[email protected]:~/python$python ask_name.py

name:wang

age:30

sex:nang

job:IT

---------------------------

good

name:wang

age:30

sex:nang

job:IT

[email protected]:~/python$python ask_name.py

name:aaa

age:40

sex:nang

job:IT

---------------------------

2

name:aaa

age:40

sex:nang

job:IT

python流程控制2

>>> range(1,10)           //输出1-9

[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> for i in range(1,9):       //输出1-8

...  print ‘The number is: %d‘ % i

...

The number is: 1

The number is: 2

The number is: 3

The number is: 4

The number is: 5

The number is: 6

The number is: 7

The number is: 8

再加个判断

>>> for i in range(1,9):

...  if i ==3:

...    print "good", i

...  print ‘The number is: %d‘ % i

...

The number is: 1

The number is: 2

good 3

The number is: 3

The number is: 4

The number is: 5

The number is: 6

The number is: 7

The number is: 8

在以上程序上,输出good,了下一行3不输出。

[email protected]:~$ vimfor.py

for i in range(1,9):

if i == 3:

print "good", i

else:

print ‘The number is :‘, i

[email protected]:~$ pythonfor.py

The number is : 1

The number is : 2

good 3

The number is : 4

The number is : 5

The number is : 6

The number is : 7

The number is : 8

流程控制3

While Ture:

Break    跳出循环

Continue 跳出本次循环

编写程序:

程序功能:判断用户名,密码是否正确,不正确无限循环

参考方法:

[email protected]:~/python$vim while.py

while True:

input = raw_input("please input your username:")

if input ==‘wang‘:

password =raw_input("please input your passwd:")

p = ‘123‘

while password != p:

password =raw_input("please input your passwd again:")

else:

print "welcometo"

break

else:

print "Sorry,user %s notfound" % input

程序运行结果

[email protected]:~/python$python while.py

please input your username:aaa

Sorry,user aaa not found

please input your username:rrr

Sorry,user rrr not found

please input your username:wang

please input your passwd:eee

please input your passwd again:123

welcome to

[email protected]:~/python$vim continue.py

[email protected]:~/python$python continue.py

while True:

input = raw_input("please input your username:")

if input ==‘wang‘:

password =raw_input("please input your passwd:")

p = ‘123‘

while password != p:

password =raw_input("please input your passwd again:")

else:

print "welcometo"

continue

else:

print "Sorry,user %s notfound" % input

程序运行结果

please input your username:qqq

Sorry,user qqq not found

please input your username:wang

please input your passwd:ddd

please input your passwd again:ccc

please input your passwd again:123

welcome to

please input your username:aaa

Sorry,user aaa not found

please input your username:

两个程序不同处为break、continue。Break为输入用户密码正确后,跳出循环;continue输对后,跳出本次循环,继续输入。

Python练习程序

编写可供用户查询的员工信息表

  1. 需用户认证
  2. ID    name    department phone
  3. 查询关键字:姓名

参考代码

[email protected]:~/python$vim contact_list.txt   //将内容写入文件

1 cai  chengxnew    1885

2  ru  gongchengshi 1886

3 chao gongchengshi  1887

4 yao  chengxuyuan  1888

[email protected]:~/python$vim chaxun.py

#!/usr/bin/python

while True:

input=raw_input(‘input uname:\n‘)

if input == ‘admin‘:

upasswd = raw_input(‘inputpasswd:\n‘)

p=‘123‘

while upasswd != p:

upasswd =raw_input(‘input passwd again\n‘)

else:

print ‘Welcome login\n‘

while True:

match_yes=0

input=raw_input("\033[32mPlease input name forsearch:\033[0m")

contact_file =file(‘contact_list.txt‘)

while True:

line =contact_file.readline()

if len(line)==0:break

ifinput in line:

print ‘Match item \033 %s\033‘ % line

match_yes = 1

else:

pass

if match_yes ==0 :print ‘NO match item found‘

else:

print "sorry,user %s notfound" % input

程序结果:

[email protected]:~/python$python chaxun.py

input uname:

admin

input passwd:

123

Welcome login

Please input name for search:cai

Match item  cai  chengxnew    1885

Please input name for search:wang

NO match item found

Please input name for search:chao

Match item  chao       gongchengshi  1887

部分语法使用讲解

[email protected]:~/python$python

>>> file(‘contact_list.txt‘)                           //导入文件

<open file ‘contact_list.txt‘, mode ‘r‘at 0xb7443180>

>>>file(‘contact_list.txt‘).read()                     //读取该文件

‘1 cai  chengxnew    1885\n2 ru  gongchengshi  1886\n3 chao\tgongchengshi  1887\n4  yao chengxuyuan  1888\n‘

>>> c=file(‘contact_list.txt‘)                        //赋值

>>> c.readline()                                 //读取每一行

‘1 cai  chengxnew    1885\n‘

>>> c.readline()

‘2 ru  gongchengshi  1886\n‘

>>> c.readline()

‘3 chao\tgongchengshi  1887\n‘

>>> c.readline()

‘4 yao  chengxuyuan  1888\n‘

>>> c.readline()

‘‘

>>> len(c.readline())                    //读取该行有多少字符

0

>>> c = file(‘contact_list.txt‘)

>>> c.readline()

‘1 cai  chengxnew    1885\n‘

>>> len(c.readline())

26

>>> while True:

...  line=c.readline()

...  if len(line)==0:break

...  print line

...

3 chao gongchengshi  1887

4 yao  chengxuyuan  1888

>>> c.close()              //关闭文件

>>> f=file(‘new.txt‘,‘w‘)          //打开新文件

>>> f.write(‘hello,world‘)         //写入内容

>>> f.close()                   //关闭文件

>>>

[email protected]:~/python$ls         //文件已创建

new.txt

[email protected]:~/python$cat new.txt

hello,world

[email protected]:~/python$python

>>> f=file(‘new.txt‘,‘w‘)               //重新打开文件

>>> f.write(‘hehe‘)

>>> f.flush()                  //将内存中数据写入硬盘

>>> f.write(‘yyy!\n‘)             //未重新打开不会被覆盖

>>> f.flush()

>>> f.close()                 //关闭

[email protected]:~/python$cat new.txt

heheyyy!

>>> f=file(‘new.txt‘,‘a‘)                 //文件进入追加模式,不覆盖原文件

>>> f.write(‘\n ddd‘)

>>> f.flush()

>>>

[email protected]:~/python$cat new.txt

heheyyy!

ddd

时间: 2024-10-08 02:06:55

python第一天学习笔记的相关文章

Python 第一周学习笔记

1.Python 解释器 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Tian Ba Python3 字符集默认支持中文 2.变量定义的规则: .变量名只能是字母.数字或下划线的任意组合 .变量名的第一个字符不能是数字 3.字符串 所有带引号的都是字符串,包含(单引号,双引号,三引号) 4.注释 当行注释:#被注释内容 多行注释:"""被注释内容"""  (可以是单引号或者是双引号)

Python第一周 学习笔记_待补充(3)

Python内置数据结构 一.数值型 1.数据类型分类: int:整数 python3的int就是长整型,且没有大小限制,受限于内存区域的大小int(x) 返回一个整数 float:浮点数 有整数部分和小数部分组成.支持十进制和科学计数法表示.只有双精度型.float(x) 返回一个浮点数 complex:复数 有实数和虚数部分组成,实数和虚数部分都是浮点数,3+4.2Jcomplex(x).complex(x,y) 返回一个复数 bool:布尔 int的子类,仅有2个实例True.False对

Python第一周 学习笔记(2)

习题解析 0.打印10以内偶数:位运算 for i in range(10): if not i & 0x01: print(i) 1.给定一个不超过5位的正整数,判断其有几位(使用input函数) 方法一:正常逻辑处理 a = int(input("Please enter a numer: ")) if a < 0: print('Error') if a < 10: print(1) elif a < 100: print(2) elif a <

python网络爬虫学习笔记

python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章目录 1. 介绍: 2. 从简单语句中开始: 3. 传送数据给服务器 4. HTTP头-描述数据的数据 5. 异常 5.0.1. URLError 5.0.2. HTTPError 5.0.3. 处理异常 5.0.4. info和geturl 6. Opener和Handler 7. Basic Authentication 8. 代理 9. Timeout 设置 10. Cookie 11. Deb

【tapestry3笔记】--tapestry 初探,《 tapestry in action 》第一章学习笔记

由于要维护一个项目,要用到tapestry3这个老框架,虽然这个框架很老,但是在我看来ta的思想还是很先进的---面向组件编程. 由于网上资料少的可怜,辛苦找了很久终于找到一本名为<tapestry in action>的工具书,以下学习笔记均以此书为参考. 正文---tapestry初探 tapestry in action 第一章学习笔记 tapestry是一款以组件为核心的开发框架,组件就向一个黑盒子,我们无需关系组件是如何实现的,只需合理使用即可.这有点像jquery的插件,我们无需关

机电传动控制课程第一周学习笔记

机电传动课程第一周学习笔记 本周的学习内容主要是第一章绪论和第二章机电传动系统的动力学基础,结合课程学习和预习复习回顾内容如下: 1.绪论:学习了机电传动控制目的与任务.发展历程和我们该如何学习这门课程. 2.机电传动系统的动力学基础: a.运动方程式:对于单一拖动系统或者多拖动系统,在分析时一般都折算到一根轴(电动机轴)上,折算的基本原则是,折算前的多轴系统同折算后的单轴系统在能量关系上或功率关系上保持不变.而对于单 走拖动系统的运动方程式如下. b.判断TM/TL的符号:主要概括为三条:规定

linux入门-第一周学习笔记

Linux新手入门-第一周学习笔记 一.安装系统注意的问题 1.磁盘分区: 以分配给系统200G内存大小为例: (1)给 /boot 200M大小即可,由于/boot 仅存放内核相关启动文件.不需要给太大的分区. (2)给 / 50G大小,根用户下要存放很多的文件. (3)给/testdir 50G大小,这是我们做实验用到的文件. (4)给swap 4G大小,由于swap是交换分区,其大小推荐是内存的1.5倍~2.0倍 注意:CentOS6.8的文件系统为ext4,而CentOS7.2的文件系统

SHELL第一课学习笔记

SHELL第一课学习笔记 什么叫Shell shell是一个命令解释器,它在操作系统最外层,负责直接与用户对话,把用户输入的命令解释给 操作系统并处理各种各样的操作的输出结果,输出到屏幕返回用户(交互式或者非交互式). 案例1.简单清除/var/log下的messages日志脚本: #!bin/bash cd /var/log cat /dev/null > messages echo "Logs cleaned up" 案例2.包含变量.命令.流程控制语句清除/var/log下

0807&mdash;MapReduce的第一篇学习笔记

http://blog.csdn.net/v_july_v/article/details/6637014 1 2 3 4 0807—MapReduce的第一篇学习笔记