zoukankan      html  css  js  c++  java
  • Python之路(一)-python简介

    一、python简介,python2.x与python3.x的区别

    Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

    Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维自动化测试大数据分析、爬虫、Web 等。

    python的执行过程, 代码编译得到字节码,字节码由虚拟机转换成机器码执行。相当于python,则c语言则是直接编译成机器码而交给cpu执行,所以在执行时间上来说,python的执行速度要略低于C语言。 

    python的执行过程如下:

    python 2 和python3的区别:

    python2.7作为python2和python3的过度版本在2010年发布后再没有特别大的更新,python3废弃了python2中一些重复的方法,使得在用法上有些差异。在日后的开发中将逐渐像3.x转移。

    最重要的是python3.x默认的字符集就是unicode,所以在代码中可以直接用中文而不会出现乱码了

    python2.x&python3.x区别示例:

    1 #python2.x--print
    2 print 'hello,world‘
    3 
    4 #python3.x--print
    5 print('hello,world')

     除法示例:

    1 a = 3/2
    2 
    3 #python3.x的值为1.5
    4 #python2.x的值为1
    除法区别

    二、变量声明

     变量的作用:在内存中保存的内容,用来代指某个地址的内容。

    变量的赋值:

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    name1 = 'Leifeng'
    name2 = 'Liudehua'
    print name1
    print name2

    问题:

    1 a = 123
    2 b  = a
    3 a = 456
    4 
    5 
    6 问题:此时 a和b的值是多少?
    7 答案:此时a = 456,b = 123
    View Code

    三、用户交互

    python3.x中 没有raw_injput() 取代的是input()

    示例:

    1 #python3.x写法
    2 name = input('Please input your name:')
    3 
    4 #python2.x写法
    5 name = raw_input('Please input your name:')
    6 
    7 
    8 print('my name is %s!'%(name))
    python3.x用户交互

    四、if条件判断

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 n = 30
     4 times = 0
     5 while times < 3:
     6     luck_num = int(input('请输入你的幸运数字:'))
     7     times+=1
     8     if luck_num > n:
     9         print('你输入的数字太大!!!')
    10     elif luck_num < n:
    11         print('你输入的数字太小!!!')
    12     else:
    13         print('Bingo!!!')
    14         break
    15 else:
    16     print('你尝试的次数太多!!')

    五、while循环

     1 lucky_num = -1
     2 num = 10
     3 times = 3
     4 while lucky_num != num:
     5     if times > 0:
     6         lucky_num = int(input('请输入你的幸运数字:'))
     7         times-=1
     8         if lucky_num > num:
     9             print('你输入的数字太大!!!你还有%s次机会' %times)
    10         elif lucky_num < num:
    11             print('你输入的数字太小!!!你还有%s次机会' %times)
    12     else:
    13         print('你的输入次数超过三次,程序退出!')
    14         break
    15 else:
    16     print ('Bingo!!!')

    六、for循环

     1 nu = 19
     2 for times in range(3):
     3     lucky_nu = int(input('输入您的幸运数字:'))
     4 
     5     if lucky_nu > nu:
     6         print('too big')
     7     elif lucky_nu < nu:
     8         print('too small')
     9     else:
    10         print('binggo')
    11         break
    12 else:
    13     print('too many times ')
    for循环示例

    七、初识数据类型

    • 数字

      整型(INT),长整型(LONG),浮点型(FLOAT)

      

    a = -9889
    #求绝对值
    print(a.__abs__())
    print(abs(a))
    
    #求二进制
    print(bin(a))
    
    #占用的字节数
    print(a.bit_length())
    
    #求加法
    print(a.__add__(100))
    print(a+100)
    
    
    #布尔值
    print(a.__bool__())
    
    
    total = 90
    per = 10
    #求商和余数
    c = total.__divmod__(per)
    #除数换位
    c = total.__rdivmod__(per)
    print(c)
    
    #比较是否相等
    d = a.__eq__(-9889)
    print(d)
    
    
    
    #转换成float类型
    e = a.__float__()
    print(e)
    
    #地板除
    f = a.__floor__()
    print(f)
    数字使用方法:
    • 字符串

      字符串功能: 移除空白,分割,长度,索引,切片

      字符串使用:

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 
     4 name = 'Eric'
     5 age = 20
     6 weight = 54.6
     7 
     8 print('%s is %d years old,and his weight is %f' %(name,age,weight))
     9 
    10 其中 %s 表示字符串
    11 %d表示整数
    12 %f表示浮点

     字符串方法:

    name = str('zhaojianbo')
    #查看数据类型
    print(type(name))
    
    #查看类的所有成员
    print(dir(name))
    
    #包含等于in
    print(name.__contains__('zhao'))
    print('zhao' in name)
    
    #字符串的格式化
    #?
    
    #
    #首字母大写
    print(name.capitalize())
    
    #首字母小写
    names = 'Eric'
    print(names.casefold())
    
    #全部变小写
    name2 = 'ZHAOJIANBO'
    print(name2)
    print(name2.lower())
    
    #全部变大写
    name3 =  'hello'
    print(name3.upper())
    
    #大小写互换
    a = 'abcdeabcdZXVSDFSDFSD'
    b = a.swapcase()
    print(b)
    
    #字符串居中,并填充字符
    print(name.center(100,'*'))
    
    #统计某个字符串现的次数
    print(name.count('o',0,10))
    
    #解码
    names = '赵建波'
    names = names.encode('gbk')
    print(names)
    
    
    #以字符串开头或者结尾
    print(name.startswith('zhao',0,4))
    print(name.endswith('bo'))
    
    
    #table转换成空格,可以设置多少个空格
    names4 = 'zhao	jianbo	bo'
    result = names4.expandtabs(20)
    
    print(names4)
    print(result)
    
    
    #查找字符串是否存在,支持start,end,0为存在,-1为没找到
    print(name.find('zhaos'))
    
    #index如果不存在会报错
    print(name.index('zhao'))
    
    
    #字符串格式化
    name = '{0} is big city'
    result = name.format('Beijing')
    print(result)
    
    name = '{city} is a big city!'
    result = name.format(city='Beijing')
    print(result)
    
    
    #判断is
    i = ' '
    print(i.isspace())
    
    
    #join
    li = ['a','l','e']
    result = '*'.join(li)
    print(result)
    
    
    #去掉左右边的空格
    
    #对应表替换maketrans translate
    a = 'abcde'
    b = '12345'
    
    
    #字符串分割
    a = 'abcde'
    b = a.partition('cd')
    print(b)
    
    #替换replace,可以设置转换前几个
    a = 'abcdeabcd'
    b = a.replace('b','f',1)
    print(b)
    
    # 分割字符串split
    a = 'abcdeabcd'
    b = a.split('b')
    print(b)
    
    
    #按行分割
    a = '''abcdeabcd
    sfadsfa
    adfadsfad
    11111'''
    b = a.splitlines()
    print(b)
    字符串方法:
    • 布尔值

      1或0,True或False

    • 列表

       列表功能:

      

     1 #!/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 
     4 
     5 
     6 #创建列表
     7 name_list = ['liu','li','wang','zhang','zhao']
     8 
     9 #索引
    10 print name_list[1]
    11 
    12 #切片
    13 print name_list[0:4]
    14 print name_list[3:]
    15 
    16 #追加
    17 name_list.append('qian')
    18 print name_list
    19 
    20 #删除
    21 #默认删除最后一个元素
    22 name_list.pop()
    23 print name_list
    24 
    25 # 也可以指定元素 索引删除
    26 name_list.pop(1)
    27 print name_list
    28 
    29 #根据元素名字删除
    30 name_list.remove('wang')
    31 print name_list
    32 
    33 
    34 #循环
    35 for i in name_list:
    36     print i
    37 #包含
    38 print('liu' in name_list)  #结果为True或False
    39 
    40 
    41 
    42 #计数,计算某元素在列表里出现的次数
    43 print name_list.count('liu')
    44 
    45 
    46 
    47 #插入 在指定索引位置插入元素
    48 name_list.insert(2,'feng')
    49 print(name_list)
    50 
    51 # 查看某各元素所在下标是多少
    52 print name_list.index('zhang')
    53 
    54 #合并,将两个列表合并
    55 name_list2 = [1,23,4,5,67]
    56 name_list.extend(name_list2)
    57 print name_list
    58 
    59 #排序
    60 name_list.sort()
    61 print name_list
    62 
    63 #反转
    64 print name_list
    65 name_list.reverse()
    66 print(name_list)
    View Code
    • 元祖

      元祖跟列表唯一区别就是元祖不可修改,因此元祖只有跟列表一样读取的功能,所有列表里修改内容的功能元祖都没有。

      元祖和列表之间可以互相转换

      

    1 #创建列表
    2 name_list = ['liu','li','wang','zhang','zhao']
    3 #创建元祖
    4 name_tuple = ('liu','li','wang','zhang','zhao')
    5 
    6 #列表转元祖
    7 print tuple(name_list)
    8 #元祖转列表
    9 print list(name_tuple)
    • 字典

    八、运算符

    • 算术运算符

      

    • 比较运算符

      

    • 赋值运算符

      

    • 位运算符

      

    • 逻辑运算符

      

    • 成员运算符

      

    • 身份运算符

      

    九、字符编码

    十、打开文件

    打开文件:
      file_obj = file("文件路径","模式")
    打开文件的模式有:
    • r,以只读方式打开文件
    • w,打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    • a,打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
    • w+,打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

      

     1 f = file('day1.txt','r')
     2 
     3 #一次性加载所有内容到内存中
     4 print f.read()
     5 
     6 #一次性加载所有内容到内存,并根据行分割成字符串
     7 print f.readlines()
     8 
     9 # 每次仅读取一行数据
    10 for line in f:
    11     print line
    12     
    13 #关闭句柄
    14 f.close()
    读文件示例
     1 #/usr/bin/env python
     2 # -*- coding:utf-8 -*-
     3 
     4 f = file('day1.txt','w')
     5 
     6 #覆盖内容
     7 f.write('写入的新内容')
     8 f.close()
     9 
    10 
    11 
    12 
    13 #追加内容
    14 f.write('追加的新内容')
    15 f.close()
    写文件示例
    1 #此方法无须手动关闭句柄
    2 with open('log.txt','r') as f:
    3     print f.readline()
    另一种打开文件的方式

    十一、

  • 相关阅读:
    7503E-M-irf2配置以及bfd配置
    nltk_29_pickle保存和导入分类器
    nltk_28Twitter情感分析模型
    美国在研新药_读取单个PDF
    Python:eval的妙用和滥用
    opencv_判断两张图片是否相同
    Make 命令教程
    pdf在线处理网站
    K-Means clusternig example with Python and Scikit-learn(推荐)
    自然语言27_Converting words to Features with NLTK
  • 原文地址:https://www.cnblogs.com/zhaojianbo/p/5080083.html
Copyright © 2011-2022 走看看