python笔记

python笔记

在python中实现整除

  • python实现除法,整数之间默认是整除,比如1/2=0,8/3=2.。。。。。除数和被除数有一个为浮点型,则结果为浮点数,比如1.0/2=0.5, 8/2.0=4.0…….
  • 要想实现普通的除法,即:1/2=0.5,8/3=2.66666。则需要在pyhton中执行:import future import division ,再次使用发现:1/2=0.5 …….当然如果想实现整除,可以使用//,1//2=0,就算是浮点数,也会执行整除,1.0//2.0=0.0

获取用户输入

  • input函数,input(“your age:”),x=imput(“x:”)

使用包和模块

  • 包:就是py文件所在的目录,为了让python将其作为包对待,它必须包含一个命名为init.py的文件(模块),这个文件的内容就是包的内容,如果只是想把这个包当做普通模块使用的话(并且constants/init.py文件中包含语句:PI=3.14),可以执行import constants , print constants.PI。如果想把其他模块放置在这个包内,直接将对应的py文件放在这个包文件夹中即可。
  • 包目录的结构和使用

    1. 比如想建立一个叫做drawing的包,其中包括名为shapes和colors的模块,则这个包的目录结构如下所示:

    python/drawing/ 包目录(drawing包)

    python/drawing/init.py 包代码(drawing模块)

    python/drawing/colors.py colors模块

    python/drawing/shapes.py shapes模块

    1. 要想使用这个这个包中模块,以下语句都是合法的:
      ‘import drawing 导入drawing模块’

    ‘import drawing.colors 导入colors模块’

    ‘form drawing import shapes 导入shapes模块’

在第一条语句drawing中init模块的内容是可用的,但drawing和colors模块则不可用。

执行第二条语句之后,colors模块可以使用,但是只能通过全名drawing.colors来使用

在执行第三条语句之后,shapes模块可用,可以通过短名(也就是仅使用shapes)来使用。

注意以上语句都是独立的,没有顺序和依赖之分。

在使用了“from 模块 import 函数” 这种形式的import命令之后,就可以直接使用函数,而不需要模块名作为前缀。

cmath和复数

如下命令:
from math import sqrt

‘sqrt(-1)’
‘nan’

**注:**nan是一个特殊值的简写,意思是“not a number” (非数值)

由于sqrt函数只能处理浮点数,不能处理复数,如果想处理复数,则需要cmath模块,如下所示:

`import cmath`
'cmath.sqrt(-1)'
'1j'

注意:这里没有使用from … import …语句,因为一旦使用了这个语句,就没法使用普通的sqrt函数了。这类命名冲突可能会很隐蔽,因此,除非真的需要from这个形式的模块导入语句,否则应该坚持使用普通的import函数。
这里函数的输出结果是1j,是个虚数,虚数均以j/J结尾,就像长整数使用L一样。

让python脚本像普通程序一样运行

  • linux/unix

    如果想直接运行python程序,而不需要显示的调用python解释器,unix/linux中的标准使用方法是,在脚本的首行前面加上:#!,后面加上用于解释脚本的程序的绝对路径(这里就是python),即在脚本首行加上:

    #!/usr/bin/env python

这样的话,不管python二进制文件在哪里,程序都会自动执行。
在实际运行脚本之前,必须让脚本文件具有可执行的属性:
chmod a+x hello.py

这样就可以双击脚本运行了,或者命令行中执行./hello.py

  • windows

windows中直接双击python脚本文件即可,但是程序运行之后就会关闭窗口,可以在脚本的最后加上一句:

raw_input("press<enter>")

这样运行之后就提示按下enter键之后,关闭窗口。

在windows中,如果将python文件的后缀名改为:hello.pyw,双击文件,发现没有任何事情发生,为什么这样呢?稍后您解答

  • 注释

在python中使用#来添加注释内容,这个符号右边的内容会被解释器忽略

python中字符串

  • 使用单引号”或者双引号”“来表示字符串

    1. 在字符串中包含单引号的时候,使用双引号包含字符串 “let’s go ”
    2. 在字符串中包含双引号的时候,使用单引号包含字符串 ‘“hello”,tom’
    3. 或者使用转义字符进行转义, ‘let\’s go’, “\”hello\”,tom”
  • 拼接字符串

    使用这种方式拼接字符串:”hello”+”world”

  • 将其他字符转换为字符串

    str,repr,’ ‘,这三种形式是将python值转换为字符串的3种方法,函数str把值转换为合理形式的字符串,让字符串更容易阅读,repr和反引号则会创建一个字符串,把结果字符串转换为合法的python表达式。

    例如:

    print repr("hello,world!")
    'hello,world!'
    
    print repr(1000L)
    1000L
    
    print str("hello,world!")
    hello,world!
    
    print str(1000L)
    1000
    
    temp=42
    print "the temperature is" +temp
    错误提示
    
    print "the temperature is" + 'temp'
    the temperature is 42
    
  • input和raw_input的比较

    input(“Enter a number:”)
    Enter a number:3
    3

    raw_input(“Enter a number:”)
    Enter a number:3
    ‘3’

    除非对input有特别的需要,否则应该尽量使用raw_input函数

  • 长字符串,原始字符串,Unicode

    1. 长字符串:可以使用三个引号来写长字符串,
      ”’我是三个引号
      可以
      跨行,可以加”双引号”或者’单引号’,不需要转义字符
      ”’

    2. 原始字符串:字符串前面使用r来表示原始字符串,这样输出的时候就会按照原始输出,不会对转义符号进行转义(不能在原始字符串的结尾输入\)
      print r”c:\nowhere…”
      c:\nowhere…

    3. unicode字符串
      u’hello,world’

      在python中的普通字符串在内部是以8位的ASCII码形成存储的,而Unicode字符串则存储为16位unicode字符,这样可以表示更多的字符集了。

      可以看到unicode字符串使用u前缀,就像原始字符串使用r一样。

      注意:在python3.0中,所有字符串都是unicode字符串。

第二章:列表和元组

。。。

第三章:使用字符串

3.1 基本字符串操作

所有标准的序列操作(索引,分片,乘法,判断成员资格,求长度,取最小值和最大值)对字符串都是适用的。
**但是字符串都是不可变的**,比如:
website = 'http://www.baidu.org'
website[-1:] = 'com'
错误提示。。。。

3.2-3.3 字符串格式化

>>>'price of eggs:$%d' % 42
'price of eggs:$42'

>>>'Using str:%s' % 42L
'Using str:42'

字段宽度和精度
>>>'%10f' %pi    #字段宽10
'   3.141593'

>>>'%10.2f' %pi   #字段宽10,精度2
'       3.14'

>>>'%.2f' % pi    #精度2
'3.14'

>>>'%.5s' % 'Guido van Rossum'
'Guido'

3.4 字符串方法

find()方法可以在一个较长的字符串中查找子串,它返回子串所在位置的最左端索引,如果没有找到,则返回-1
>>>'what is your name?'.find('is')
5

>>>title = 'what is your name?'
>>>title.find('what')
>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值