文档章节

Python 基础知识

gwyy
 gwyy
发布于 2016/10/12 14:40
字数 1287
阅读 2
收藏 0

变量:

     声明

            x = 3

            非常简单  不用加 var  $  后面也不用跟 ;

        

    注意 在使用变量的时候一定要为他赋值 否则会爆未定义错误

    

    print打印多个表达式 可以使用 逗号 输出  

        print 'age' , 42

 

序列解包

        x,y,z = 1,2,3

        print x,y,z

    交换变量

        x,y = y,x

 

链式赋值

    x = y = fun()

    相当于 y = fun()  x = y  

    不是  y = fun()  x = fun()

 

 

高级表达式

    x is y           x和y是一个对象吗

    x is not y     x和y不是一个对象吗

    x in y           x 是 y 的成员

    x not in y     x不是y的成员

 

断言  assert

    如果需要程序某一个条件一定为真才能让程序正常执行 那么就可以用断言

 

获取所有自定义变量

    内置函数 vars() 可以获取所有当前作用域的变量

    但是如果在函数里面有定义变量 a 再想获取外部的变量 a 可以通过 globals()['a'] 来获取外部变量

 

 

 

 

 

语句:

    for ....else

    例子

        for i in range(0):

                print i

        else

            print 'end'

    for循环会在结束后运行else语句

 

    列表式推到 ---- 轻量级循环

    [x*x for x in range(10)]

    [x*x for x in range(10) if x %3 == 0]

 

    如果有个语句块什么事情都不做 用pass 做占位符

    

    如果有些变量对象 不需要用了 可以用 del 删除

    

    有时候需要动态的执行python语句 可以用 exec 或者 eval 但是需要谨慎

        exec "print 'hello'"   

    类似求值  exec语句会执行一系列python语句 而 eval会计算python表达式 并且返回结果值

        eval 

    exec  eval 尽量用命名空间包裹

 

 

 

 

 

数学:

    1 / 2 = 0

    1/ 2.0 = 0.5 

    如果想要得到小数 必须除数和被除数之间有个事小数

 

    幂运算

      2 ** 3  = 8

 

    后面加个L 是长整形  100000000000000000000000L

 

    进制

        0xAF  十六进制 175

        010     八进制   8  

 

     数学模块自带的函数

        match.floor()   向下取整     33.9   ===》 33.0

        match.ceil()   向上取整       33.1    ===》 34.0

        match.sqrt()   计算平方根       

       (函数)round  四舍五入最近的数

       (函数)abs()  取绝对值  

       (函数)long() 转为长整数

      (函数)float()  转为浮点数

 

    nan 是一个特殊值的简写  意思是 “not number ” 非数值

 

 

基础:

    获取用户输入

        x = input("input:")

         input会根据用户的输入来做类型的转换, 比较严格必须是 合法的python类型 如果不输入会报错

 

    获取用户的输入

        x = raw_input("input:")

            raw_input 则会把用户的输入都作为一个字符串来处理  就算什么都不输入 也不报错

 

 

    linux下直接运行脚本  第一行加上

    #!/usr/bin/env  python  

 

    注释

        单行注释用   #

 

 

字符串:

  •     python单引号双引号没区别
  •     我们用  \ 来转义字符
  •     “aaa” "bbb"  两个字符串可以用空格连接
  •     “aaa” + "bbbb" 也可以用加号连接
  •       r'aaaa\t'  字符串前面加r表示输出原始字符串 不会被转义
  •      "aaaaa" + 100 这样是不对的字符串不可以和数字相加

 

  •       如果要编写一个非常长的字符串 可以用 ''' 来代替普通的引号 这样就能跨越很多行了

            也可以用三个双引号  """

 

  •      普通字符如果想实现多行输入 可以在末尾加个 \ 

      print   "aaaaaa \    

            bbbbb"     

  

  •      如果想在python字符串中输入 \  可以用两个 \ 来表示 比如 “aaaaa \\  aaaa”

               但是如果不想这样 可以使用原始字符串

                print r"sdfsdfsfsdf \  sdfsdfsd "  这样就不会转义字符串了 但是这样一来原始字符串也不支持 \                   的方式换行

    

 

    

    python 3.X 之前 python默认字符串编码是8位的ASCII码,所以默认不支持中文 也不支持 unicode  如果要输出中文 要在头部加上

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

 

   python 2.X 如果想输出unicode 字符串 使用前缀 u    u'sdfdsfsdfsdfdsf'

 

 

    str() 函数把接收的参数转换成字符串   值是给人看的   可读性很好 但是不能传给eval

    repr()  接收到的参数 放到一个新创建的字符串里并显示  值是给python看的 直接就是格式好的字符串

       

  

 

模块:

    可以把模块想象成导入到python以增强其功能的扩展,需要使用特殊的命令 import 来导入模块,

    

     例子:

            import math

            math.floor(32.9)

    注意她怎么起的作用 用import导入的模块  用 模块.函数 格式来使用这个模块的函数

    

    或者

        from somemodule import *

 

    可以给导入的模块加个别名

        import math as fuck

        fuck.floor(33.1)

 

    在确定自己不会导入多个同名函数(从不同大模块)情况下,可以只导入模块下的某个函数

       from  math  import sqrt

        sqrt(9)  这样就可以直接使用函数  而不用使用 模块.函数

    

     可以给导入的函数加个别名

        from math import ceil  as fuck

            fuck(33.1)

 

     事实上,可以使用变量引用函数 (或者python中的大多数对象)比如通过foo=math.sqrt 进行赋值 然后就可以使用foo()

 

 

__future__  魔法模块

 

 

© 著作权归作者所有

gwyy
粉丝 1
博文 2
码字总数 1287
作品 0
闸北
程序员
私信 提问
真详细,五年Python大咖花了一周归纳出来的python基础知识实例!

1、在Python 语言中,对象是通过引用传递的。 2、多元赋值,其实就是元组赋值 3、编写模块 4、时刻记住一个事实 5、动态类型 6、变量在内存中是通过引用计数来跟踪管理的 7、异常处理 8、所有...

Python新世界
2018/07/21
0
0
王者程序员整理的Python网络爬虫和web的系统学习路线图

最近很多小伙伴找小编咨询,如何系统的学习Python?相信这个论题应该困扰了许多想学习Python的人,今天小编给大家讲一下一个零根底的小白,应该如何体系化的学习Python编程语言,在学习的道路...

dcpeng
2018/09/06
0
0
从0到1的逆袭之路,Python改变你的学习方式

  随着机器学习的兴起,Python 逐步成为了「最受欢迎」的语言。它简单易用、逻辑明确并拥有海量的扩展包,因此其不仅成为机器学习与数据科学的首选语言,同时在网页、数据爬取可科学研究等...

北北北乐
2018/08/22
0
0
5个python爬虫教材,让小白也有爬虫可写,含视频教程!

认识爬虫   网络爬虫,如果互联网是一张蜘蛛网,网络爬虫既是一个在此网上爬行的蜘蛛,爬了多少路程即获取到多少数据。 python写爬虫的优势   其实以上功能很多语言和工具都能做,但是用...

柯西带你学编程
2018/06/12
0
0
转行零基础该如何学Python?这些一定要明白!

转行零基础学Python编程开发难度大吗?从哪学起?近期很多小伙伴问我,如果自己转行学习Python,完全0基础能否学会呢?Python的难度到底有多大?今天,小编就来为大家详细解读一下这个问题。...

猫咪编程
2018/07/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Jenkins基础入门-5-用户和权限管理

本篇,我们来介绍下Jenkins上如何创建用户,以及如何管理用户,和那些用户可以有ProjectA的权限。这个很好理解,一个项目,有开发和测试,和运维,每个团队都有不同的角色,例如有测试经理和...

shzwork
3分钟前
0
0
linux上解压版安装jdk,tomcat

需要的安装包 1.vmware12 2.centos7版本 3.安装完成后需要xshell来连接远程虚拟机,虚拟机保证要联网,网络畅通。 4.xftp用来向linux传输文件用,一般来说xshell和xftp配套使用 5.对应的压缩...

architect刘源源
39分钟前
23
0
使用 spring 的 IOC 解决程序耦合

工厂模式解耦 在实际开发中我们可以把三层的对象都使用配置文件配置起来,当启动服务器应用加载的时候,让一个类中的方法通过读取配置文件,把这些对象创建出来并存起来。在接下来的使用的时...

骚年锦时
今天
2
0
group by分组后获得每组中时间最大的那条记录

用途: GROUP BY 语句用于 对一个或多个列对结果集进行分组。 例子: 原表: 现在,我们希望根据USER_ID 字段进行分组,那么,可使用 GROUP BY 语句。 我们使用下列 SQL 语句: SELECT ID,US...

豆花饭烧土豆
今天
3
0
android6.0源码分析之Camera API2.0下的Preview(预览)流程分析

本文将基于android6.0的源码,对Camera API2.0下Camera的preview的流程进行分析。在文章android6.0源码分析之Camera API2.0下的初始化流程分析中,已经对Camera2内置应用的Open即初始化流程进...

天王盖地虎626
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部