为了账号安全,请及时绑定邮箱和手机立即绑定

Python文件类型,变量及字符串

标签:
Python

1. 文件类型:

(1)源代码:

    vim test.py

    #!/usr/bin/python

    print 'hello world!'

运行方法1:

    [root@localhost python]# python test.py

    hello world!

    [root@localhost python]#

运行方法2:

    [root@localhost python]# chmod +x test.py

    [root@localhost python]# ./test.py

    hello world!

    [root@localhost python]#

(2)字节代码:

python源文件编译后为扩展名字为.pyc

删除源码,编译后的二进制文件可以独立执行。

编译方法:

    vim 2.py

    #!/usr/bin/python

    import py_compile

    py_compile.compile('test.py')

    [root@localhost python]# python 2.py

    [root@localhost python]# ls

    2.py  test.py  test.pyc

    [root@localhost python]#

    [root@localhost python]# python test.pyc

    hello world!

    [root@localhost python]#

(3)优化的代码:

    python -O -m py_compile test.py

    [root@localhost python]# python -O -m py_compile test.py

    [root@localhost python]# ls

    2.py  test.py  test.pyc  test.pyo

    [root@localhost python]# python test.pyo

    hello world!

    [root@localhost python]#

2.Python的变量

变量是计算机内存中的一块区域,变量可以存储规定范围内的值,而且值可以改变结构。

python下变量是对一个数据的引用

(1)变量的命名:

    1.  变量名的长度不受限制,但其中的字符必须是字母、数字、或者下划线(_),而不能使用空格、连字符、标点符号、引号或其他字符。

    2. 变量名的第一个字符不能是数字,而必须是字母或下划线。

    3. Python区分大小写。

    4. 不能将Python关键字用作变量名。

  例如: a   a1   _a

(2)变量的赋值:

是变量的声明和定义的过程。

    a = 123

    In [1]: a = 123

    In [2]: a

    Out[2]: 123

    In [3]: id(a)

    Out[3]: 7891024

    In [4]: a = 456

    In [5]: id(a)

    Out[5]: 19127624

    In [6]:

(3)运算符和表达式:

    赋值运算符

    算术运算符

    关系运算符

    逻辑运算符

    

表达式:

    将不同的数据(包括变量、函数)用运算符号按一定的规则连接起来的一种式子。

1)赋值运算符

    In [68]: a = 3

    In [69]: a

    Out[69]: 3

    In [70]: a+=3

    In [71]: a

    Out[71]: 6

    In [72]: a-=4

    In [73]: a

    Out[73]: 2

    In [76]: a*=3

    In [77]: a

    Out[77]: 6

    In [78]: a/=2

    In [79]: a

    Out[79]: 3

    In [80]: a%=3

    In [81]: a

    Out[81]: 0

    In [82]:

2)算术运算符

    In [82]: 1 + 2

    Out[82]: 3

    In [83]: 2 - 1

    Out[83]: 1

    In [84]: 2 * 2

    Out[84]: 4

    In [85]: 6 / 2

    Out[85]: 3

    In [86]: 6 % 2

    Out[86]: 0

    In [88]: 3.999999 / 2

    Out[88]: 1.9999995

    In [89]: 3.999999 // 2

    Out[89]: 1.0

    In [90]: 3 ** 2

    Out[90]: 9

    In [91]:

3)关系运算符:

    In [91]: 1 > 2

    Out[91]: False

    In [92]: 2 < 3

    Out[92]: True

    In [93]: 2 >= 1

    Out[93]: True

    In [94]: 3 <= 56

    Out[94]: True

    In [95]: 3 == 3

    Out[95]: True

    In [96]: 2 != 34

    Out[96]: True

    In [97]:

4)逻辑运算符:

    In [97]: 1 < 2 and 2 > 0

    Out[97]: True

    In [98]: 1 == 1 and 2 < 1

    Out[98]: False

    In [99]: 1 == 1 or 2 < 1

    Out[99]: True

    In [100]: not 1 > 2

    Out[100]: True

5)各种运算符的优先级:

往右越高   上到下越高,

lambda 匿名函数。

blob.png

练习:

写一个四则运算器:

要求从键盘读取数字。

input()与raw_input()

    查看帮助:help(input)

    raw_input()都当然成字符串处理

    %s 格式化字符串。

    [root@localhost python]# cat 4.py

    #!/usr/bin/python

    num1 = input("Please input: ")

    num2 = input("Please input: ")

    print "%s + %s = %s" % (num1,num2,num1+num2)

    print "%s -  %s = %s" % (num1,num2,num1-num2)

    print "%s * %s = %s" % (num1,num2,num1*num2)

    print "%s / %s = %s" % (num1,num2,num1/num2)

    [root@localhost python]# python 4.py

    Please input: 3

    Please input: 5

    3 + 5 = 8

    3 -  5 = -2

    3 * 5 = 15

    3 / 5 = 0

    [root@localhost python]#


3.Python的数值和字符串

数据类型:

    数值

    字符串

    列表

    元组

    字典

(1)数值类型:

    整型

        In [6]: a = 123

        In [7]: type(a)

        Out[7]: int

        In [8]:

    长整型

        In [8]: a = 199999999999999999999999999999

        In [9]: a

        Out[10]: 199999999999999999999999999999L

        In [11]: type(a)

        Out[12]: long

        In [13]:

     浮点型

        0.0, 12.0   -18.8   3e+7等

        科学计数法是浮点型

        In [11]: 3e+7

        Out[11]: 30000000.0

        In [12]: type(3e+7)

        Out[12]: float

        In [13]: 3.0/2

        Out[13]: 1.5

        In [14]: type(3.0/2)

        Out[14]: float

        In [15]:

    复数型

        python对复数提供内嵌支持,这是大部分软件没有的。

        In [8]: a = 3.14j

        In [9]: a

        Out[9]: 3.14j

        In [10]: type(a)

        Out[10]: complex

(2)字符串类型:

        In [12]: a = 'abc'

        In [13]: a

        Out[13]: 'abc'

        In [14]: type(a)

        Out[14]: str

        In [15]:

        三重引号还可以做注释:.

        In [28]: a = 'hello\nworld'

        In [29]: a

        Out[29]: 'hello\nworld'

        In [30]: a = "hello\nworld"

        In [31]: a

        Out[31]: 'hello\nworld'

        In [39]: a = '''hello\nworld'''

        In [40]: a

        Out[40]: 'hello\nworld'

        In [41]: print a

        hello

        world

        In [42]:

        In [43]: type(a)

        Out[44]: str

    序列索引:

        In [42]: a = 'abcde'

        In [43]: a[0]

        Out[43]: 'a'

        In [44]: a[1]

        Out[44]: 'b'

        In [45]: a[-1]

        Out[45]: 'e'

        In [46]: a[-2]

        Out[46]: 'd'

    序列切片:

        In [42]: a = 'abcde'

        In [43]: a[0]

        Out[43]: 'a'

        In [44]: a[1]

        Out[44]: 'b'

        In [45]: a[-1]

        Out[45]: 'e'

        In [46]: a[-2]

        Out[46]: 'd'

        In [47]: a[0:2]

        Out[47]: 'ab'

        In [48]: a[0:4]

        Out[48]: 'abcd'

        In [49]: a[0:3]

        Out[49]: 'abc'

        In [50]: a[1:3]

        Out[50]: 'bc'

        In [56]: a[0] + a[1]

        Out[56]: 'ab'

        In [57]: a[:2]

        Out[57]: 'ab'

        In [58]: a[:]

        Out[58]: 'abcde'

        In [59]: a[:-1]

        Out[59]: 'abcd'

        In [60]: a[::-1]

        Out[60]: 'edcba'

        In [61]: a[::1]

        Out[61]: 'abcde'

        In [62]: a[:3:1]

        Out[62]: 'abc'

        In [63]: a[::2]

        Out[63]: 'ace'

        In [64]: a

        Out[64]: 'abcde'

        In [65]: a[-4::-2]

        Out[65]: 'b'

        In [66]: a[-4:-2]

        Out[66]: 'bc'

        In [67]: a[-2:-4:-1]

        Out[67]: 'dc'

        In [68]:

练习:

1.将 “123” 转换成整数

    In [10]: a = int(123)

    In [11]: print a

    123

    In [12]:

2.将 “9999999999999999999” 转换成长整数

    In [18]:  a = long(9999999999999999999)

    In [19]: print a

    9999999999999999999

    In [20]: a

    Out[20]: 9999999999999999999L

    In [21]:

3.将 “3.1415926” 转换成一个浮点数

    In [21]:  a = float(3.1415926)

    In [22]: print a

    3.1415926

    In [23]:

4.将 123 转换成一个字符串

    In [23]:  a = str(123)

    In [24]: print a

    123

    In [25]:

5.现有以下字符串

字符串1:" abc deFGh&*ijkl opq mnrst((uvwxyz "

字符串2:" ABC#DEF GH%IJ MNOPQ KLRS&&TUVWX(*&YZ "

使用字符串的各种方法转换成如下方式

ABCDEFGHIJKLMNOPQRSTUVWXYZzyxwvutsrqponmlkjihgfedcba

    In [25]: str1 = " abc deFGh&*ijkl opq mnrst((uvwxyz "

    In [26]: str2 = " ABC#DEF GH%IJ MNOPQ KLRS&&TUVWX(*&YZ "

    In [27]: print filter(lambda x:x.isalpha(),str2+str1[::-1].lower())

    ABCDEFGHIJMNOPQKLRSTUVWXYZzyxwvutsrnmqpolkjihgfedcba

    In [28]:



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消