zoukankan      html  css  js  c++  java
  • Python学习笔记 capture 1

      最近开始学习Python3.x,真的感觉Python的语法与C++,Java有很大的不同,Python从某些方面来说语法更简单。Python作为一种解释性语言和编译型语言如C++来说,还是各有千秋的。不过本质来说,编译型语言,是一次编译,生成一个电脑可识别的机器码,到处运行,而解释型语言是解释一行,运行一行,或许从这方面来说,Python的运行时间要久于C++,但相对于人眼感知的时间来说,可忽略。事无绝对。Python作为一种高级编程语言,正在世界范围内变得越来越流行。

    目前Python主要应用领域:

    • 云计算: 云计算最火的语言, 典型应用OpenStack
    • WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
    • 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
    • 系统运维: 运维人员必备语言
    • 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
    • 图形GUI: PyQT, WxPython,TkInter

    Python在一些公司的应用: 

    • 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
    • CIA: 美国中情局网站就是用Python开发的
    • NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
    • YouTube:世界上最大的视频网站YouTube就是用Python开发的
    • Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
    • Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
    • Facebook:大量的基础库均通过Python实现的
    • Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
    • 豆瓣: 公司几乎所有的业务均是通过Python开发的
    • 知乎: 国内最大的问答社区,通过Python开发(国外Quora)
    • 春雨医生:国内知名的在线医疗网站是用Python开发的
    • 除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。Python

      Python相对于C++来说,Python是强类型动态语言,C++是强类型静态语言(弱类型语言:一个变量可以被赋予不同类型的值),C++在编译时,各变量的类型已经设定好。不可更改,Python一个变量若需要改变可以通过强制类型转换,同时,类型变为转换后的类型。

    PYTHON的优缺点

    优点:

      1.Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂。

      2.开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持。

      3.高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节

      4.可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。

      5.可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。

      6.可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。

    缺点:

      1.速度慢

      2.代码不能加密

      3.不能利用多线程CPU

    好了,正题开始:

    一个简单的Hello world!程序

    print("Hello world!")

    然后通过运行命令

    python Hello.py

    也可以在交互器中运行

    D:ACM>python
    Python 3.6.2 (v3.6.2:5fd33b5, Jul  8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> print("Hello world!")
    Hello world!
    >>>

    变量

      变量命名规则

      1.必须由数字,字母,下划线的任意组合去,且不能数字开头

      2.不能是python的关键字

      3.变量的定义要具有可描述性

     推荐的两种命名方式:驼峰体,下划线

    name="Ocean_Star"
    print(name)
    name_name=name
    name="Ocean"
    print(name,name_name)

    常量

     python中没有常量的概念,单位了增加常量的概念,程序员约定俗成变量名全部大写代表常量

    Python3.x最直观的感觉可以直接支持中文

    print("你好,世界")

    相对于C++,Python的注释是不一样的

    #注释单行
    '''注释多行'''

    用户交互

    username=input("username:")
    password=input("password:")
    print(username,password)

    同时,可以对输入密码进行加密,通过调用getpass模块

    import getpass
    username=input("username:")
    password=getpass.getpass("password:")
    print(username,password)

    在C++注释中,多行注释不能被打印,但在Python中,多行注释可以被打印

    #!/usr/bin/env python
    #-*-coding:utf-8-*-
    name=input("name:")
    age=int(input("age:"))
    #print(type(age))
    job=input("job:")
    salary=int(input("salary:"))
    info='''
    -----information of %s-----
    Name:%s
    Age:%d
    Job:%s
    Salary:%d
    '''%(name,name,age,job,salary)
    print(info)
    info2='''
    ----- info of {_name} -----
    Name:{_name}
    Age:{_age}
    Job:{_job}
    Salary:{_salary}
    '''.format(_name=name,_age=age,_job=job,_salary=salary)
    print(info2)
    info3='''
    ----- info of {0} -----
    Name:{0}
    Age:{1}
    Job:{2}
    Salary:{3}
    '''.format(name,age,job,salary)
    print(info3)

    基本语法,if,else,elif,while,for

    import getpass
    _username='Ocean_Star' 
    _password='abc123'
    username=input("username:")
    password=getpass.getpass("password:")
    if _username==username and _password==password :
        print("Welcome user {name} login...".format(name=username))
    else :
        print("Invalid username or password!")
    guess_number=56
    count=0
    while count<3:#while循环+else if判断
        print("count:",count)
        count+=1 #累加器
        guess_number_run=int(input("guess_number_run:"))
        if guess_number_run==guess_number :
            print("yes,you got it.")
            break
        elif guess_number_run>guess_number :
            print("think smaller...")
        else :
            print("think bigger...")
    else :print("The chance is over.")
    guess_number=56
    count=0
    guess_number_run=56
    for i in range(3):
        guess_number_run=int(input("guess_number_run:"))
        if guess_number_run==guess_number :
            print("yes,you got it.")
            break
        elif guess_number_run>guess_number :
            print("think smaller...")
        else :
            print("think bigger...")
    else :print("The chance is over")
    for i in range(10):#0-9 步长为1
    for i in range(1,10):#1-9 步长为1
    for i in range(1,10,2):#1-9 步长为2
    '''
    注意,if elif else while for 后面都有":"
    '''

     Python的强大之处在于他有非常丰富和强大的标准库和第三方库,举个例子,os和sys

    import sys
    import os
    print(sys.argv[2])
    cmd_res=os.system("dir")#执行命令,不保存
    cmd_res=os.popen("dir").read()
    print(cmd_res)
    os.mkdir("new_dir")
    cmd_res=os.popen("dir").read()
    print(cmd_res)

    数据运算

    bytes类型

    bytes类型与string类型之间的转化

    msg="你好,世界"#注意是byts与string的转化,不能整型之间的转化
    print(msg)
    print(msg.encode(encoding='utf-8'))
    print(msg.encode(encoding='utf-8').decode(encoding="utf-8"))

     三元运算符

    '''
    result = 值1 if 条件 else 值2
    '''
    a,b,c=1,3,5
    d=a if a<b else c
    f=a if a>b else c
    print(d,f)
  • 相关阅读:
    python中获取当前位置所在的行号和函数名(转)
    Scrapy 轻松定制网络爬虫(转)
    XPath教程
    Scrapy入门教程(转)
    django safe 过滤器--不对字符串进行转义(转)
    WinDbg-如何抓取dump文件
    Windows系统默认调试器设置
    javascript(js)自动刷新页面的实现方法总结
    [HTML]不让TD中的文本撑开表格(转)
    apache 与 iis共存
  • 原文地址:https://www.cnblogs.com/shinianhuanniyijuhaojiubujian/p/8316223.html
Copyright © 2011-2022 走看看