1、Python优点

简单,优雅,明确

强大的模块第三方库

易移植

面向对角

可扩展

2、缺点

代码不能加密

执行速度慢

3、变量定义

第一个字母必须是字母表中的大小写,或下划线。不能以数字为开头。

1)变量赋值举例

eg:

>>> x=123

>>> y=x

>>> id(x)

22582176

>>> id(y)

22582176

>>> x=100

>>> id(x)

22580736

>>> id(y)

22582176

>>> tast-date = 1

File "<stdin>", line 1

SyntaxError: can't assign to operator             ; 不能以非大小写下划线定义变量

>>> tast_date = 1

2)变量值类型

布尔型:true,false

eg:

If True: print ‘ddd’

ddd

整型,长整型,浮点型:

eg:

>>> type(a)

<type 'long'>

>>> a = 2**34

>>> type(a)

<type 'int'>

>>> a=1.34

>>> type(a)

<type 'float'>

>>> a=3

>>> type(a)

<type 'int'>

>>> b=2.3

>>> type(b)

<type 'float'>

字符串:

>>> name='wang'

>>> type(name)

<type 'str'>

序列类型:列表,数组……

>>> name_list=['wang','bai','gui']

>>> type(name_list)

<type 'list'>

4、运算

a) "/"  除法,默认取只为整,可跟小数点。

>>> 3/2

1

>>> 3.0/2

1.5

b)   取被除数 

>>> 10//2

5

>>> 10//4

2

>>> 10//3

3

c)   加减乘除法 

+=  “c+=a等于c=c+a”

*=   “c*=a等于c=c*a”

**=  “c**=a等于c=c**a”

d)   与运算&:

10和15的与运算

1010  1111  è10

10    20

1010  10100  è

>>> 10 & 20

0

>>> 10  & 15

10

e)   或运算:

10  20

1010 10100 è 11110  30

>>> 10 | 20

30

5、注释

单行注释:#

多行注释:三个章引号’’’  ‘’’或者三个双引号”””  “””  ,另一种也可做为格式化输出

提示:单引号和双引号无区别

6、理解字符编码

三种字符级:ASSIC(默认一个字节)  Unicode(两个字节)  UTF-8(可变字节,汉字三个字节)

概述:一个字节8位 111111  256个字,两个字节16位  65536个字

1024字节=1KB

1)(ACCIS)

一个字节举例:

>>> ord('a')

97              ;  a对应8位的某几位

>>> ord('A')

65              ;A对应8位的某几位

相当于每个对应256里个的各一位,一一对应。

2)UTF-8编码:可变的

存英文用一个字节存,汉字用三个字节存。

>>> a='wang'

>>> type(a)

<type 'str'>

>>> a=u'wang'

>>> type(a)

<type 'unicode'>

>>> a

u'wang'

>>> name=u'王小哥'

>>> type (name)

<type 'unicode'>

>>> name

u'\u738b\u67cf\u8d35'

>>> name = "王小哥"

>>> name

'\xe7\x8e\x8b\xe6\x9f\x8f\xe8\xb4\xb5'

>>> name = u"王小哥"

>>> name

u'\u738b\u67cf\u8d35'

3)unicode转换成UTF-8

>>> name = u'王小哥'

>>> name

u'\u738b\u67cf\u8d35'

>>> name.encode('utf-8')

'\xe7\x8e\x8b\xe6\x9f\x8f\xe8\xb4\xb5'

4)UTF-8转换成unicode

>>> wang="王小哥"

>>> wang

'\xe7\x8e\x8b\xe6\x9f\x8f\xe8\xb4\xb5'

>>> wang.decode('utf-8')

u'\u738b\u67cf\u8d35'  

提示:

  python系统里默认是ASSIC码编码格式,对应一个字节,所以在python里面存中文,会有问题,应该转换成UTF8编码格式

#_*_ coding:utf-8 _*_

Name = u”中文”

Print name

提示:

  系统中读到内存里默认是unicode格式,存到硬盘可以以UTF-8格式存,因为unicode默认都是以两个字节存的,占空间。

8、导入模块

三种导入方式:

1) import modulename

2) from module import sayHi

3) import moduleName as newname

eg:

  Import sys

  Print sys.argv

    或

  From sys import argv

  Print argv

    或

  From sys import *     ;不建议使用

    或

  Import multiprocessing as nulte

=========================

eg:

a) 调用系统命令

>>> import os

>>> os.system('df')

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sda3       18423556 1691736  15795936  10% /

tmpfs             405824       0    405824   0% /dev/shm

/dev/sda1         198337   29668    158429  16% /boot

0         ;默认会输出返回上一条指令的返回值

==>     将返回值存入并输出

>>> cru_dir = os.system('pwd')

/root/python/day01

>>> print cru_dir

0

b) 如何将输出结果输出?

倒入import commands模块

>>> import commands

>>> res = commands.getstatusoutput('pwd')

>>> res

(0, '/root/python/day01')

3) 倒入import sys模块

[root@localhost day01]# cat test1.py

import sys

print sys.argv

print sys.argv[2]

[root@localhost day01]# python test1.py a b c

['test1.py', 'a', 'b', 'c']

b

9、用户交互

1) raw_input

[root@localhost day01]# cat test2.py

#!/usr/bin/env ptyhon

#_*_ coding:utf-8 _*_

name = raw_input('please input your name:')

age =  raw_input('age:')

print name , age

[root@localhost day01]# cat test2.py

#!/usr/bin/env ptyhon

#_*_ coding:utf-8 _*_

name = raw_input('please input your name:')

age =  raw_input('age:')           ;raw_input无论输入任何都当字符串来解释

job = raw_input('job:')             ;可通过int(raw_input(‘age:’)) 转换成数字,或直接用input(‘age:’),注意:imput后面跟的是原生态,之前是什么,就是什么,定要指明是什么类型等,不然会有错误。

salary = raw_input('salary:')

print '''

name: %s

age : %s

job : %s         ;%s代表字符串,%d代表数字,%f代表浮点数

salary : %s

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

''' %(name,age,job,salary)

Imput举例:

[root@localhost day01]# vim test2.py

#!/usr/bin/env ptyhon

#_*_ coding:utf-8 _*_

name = raw_input('please input your name:')

age = input('age:')

job = raw_input('job:')

salary = raw_input('salary:')

print type(age)

print '''

name: %s

age : %s

job : %s

salary : %s

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

''' %(name,age,job,salary)

[root@localhost day01]# python test2.py

please input your name:wangbaigui

age:28

job:it

salary:2w

<type 'int'>

name: wangbaigui

age : 28

job : it

salary : 2w

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

[root@localhost day01]# vim test2.py

#!/usr/bin/env ptyhon

#_*_ coding:utf-8 _*_

AGE = 28

name = raw_input('please input your name:')

age = input('age:')

job = raw_input('job:')

salary = raw_input('salary:')

print type(age)

print '''

name: %s

age : %s

job : %s

salary : %s

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

''' %(name,age,job,salary)

[root@localhost day01]# python test2.py

please input your name:wangbaigui

age:AGE

job:it

salary:3w

<type 'int'>

name: wangbaigui

age : 28

job : it

salary : 3w

10、流程控制

1) if… else…举例:

#!/usr/bin/env ptyhon

#_*_ coding:utf-8 _*_

name = raw_input('please input your name:')

age = input('age:')

job = raw_input('job:')

salary = raw_input('salary:')

if age > 30:

meg = 'you are so old...'

elif age >20:

meg = ‘…’

else:

meg = 'you are so yongest...'

print '''

name: %s

age : %d

job : %s

salary : %s

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

%s

''' % (name,age,job,salary,meg)

2) for循环

[root@localhost day01]# cat test4.py

#!/usr/bin/env ptyhon

#_*_ coding:utf-8 _*_

name = raw_input('please input your name:')

job = raw_input('job:')

salary = raw_input('salary:')

relea_age = 28

for i in range(10):

age =  input('age:')

if age >30:

meg = "think small..."

elif age == 28:

meg = "good!,you are right."

break

else:

meg = "go to think"

print meg

print "you have only %s times to trye" %(9 - i)

print '''

name: %s

age : %d

job : %s

salary : %s

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

%s

''' % (name,age,job,salary,meg)

3)while循环

[root@localhost day01]# cat test5.py

slect_num = input('which num you want:')

count = 0

while count < 100:

if count == slect_num:

print 'you slect right:%s'%(slect_num)

choice = raw_input('you want go on or contine (Y/N)')

if choice == 'Y':

while True:

slect_num = input('which num you want agan:')

if slect_num <= count:

print "lookup alred past..,ples input newest num!"

else:

break

continue

else:

break

else:

print 'lookup',count

count +=1

else:

print 'Alread more then 100.. so Bye!'

python 笔记(一)的更多相关文章

  1. Python笔记之不可不练

    如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...

  2. boost.python笔记

    boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...

  3. 20.Python笔记之SqlAlchemy使用

    Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...

  4. Python笔记——类定义

    Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...

  5. 13.python笔记之pyyaml模块

    Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...

  6. 8.python笔记之面向对象基础

    title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...

  7. python笔记 - day8

    python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...

  8. python笔记 - day7-1 之面向对象编程

    python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...

  9. python笔记 - day7

    python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...

  10. python笔记 - day6

    python笔记 - day6 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 大纲: 利用递归,实现阶乘: Python反射 pyt ...

随机推荐

  1. python 使用__slots__

    正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: >>> class Studen ...

  2. hdoj 2032 杨辉三角

    杨辉三角 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...

  3. oscgit

    Gitlab PaaS项目演示 git config --global user.name "你的名字或昵称" git config --global user.email &qu ...

  4. ASP.NET- 无刷新上传使用jQuery插件之ajaxFileUpload

    灰常好,我已经使用过里面的代码了,可以用,原文地址:http://www.cnblogs.com/kissdodog/archive/2012/12/15/2819025.html 一.ajaxFil ...

  5. android飞机游戏敌机移动路径

    基础android的飞机类游戏,与前人一样,由surfaceView绘制游戏画面,另起线程控制绘制时间间隔达到动态效果.这里附上最近自己写的敌机自动飞行路径代码.请大家给点意见. 在敌机管理模块,加入 ...

  6. 使用hexdump 查看二进制文件

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...

  7. 域名的MX设置及校验方法

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  8. 今天写一些 有关iOS 多图片组合 成一张图片的问题。保持原像素不变

    1.要求:服务器给一张图片模板,要在模版上镂空,然后添加一些别的图片,然后组合成一张图,这个模版的像素 不是固定的,有可能比 当前手机屏幕大.所以,在组合截图的时候,有一定的要求. 贴代码: /** ...

  9. BBSXP最新漏洞 简单注入检測 万能password

    BBSXP最新漏洞 漏洞日期:2005年7月1日受害版本号:眼下全部BBSXP漏洞利用:查前台password注入语句:blog.asp?id=1%20union%20select%201,1,use ...

  10. Ubuntu12.10硬盘安装

    今天介绍如下如何在Win7环境下从硬盘安装Ubuntu(我使用的版本是12.10). 1.下载Ubuntu ISO镜像文件ubuntu-12.10-desktop-i386.iso. 2.使用压缩软件 ...