1. 类中的方法定义前如果有 @staticmethod 则此方法通过类名调用,如:dict.fromkeys() ; 如果没有,则此方法通过对象调用

  2. 三元运算

    1. name=值1 if 条件 else 值2      如果条件成立,则name=值1  否则  name=值2

  3. str , 一次性创建,不能被修改,只要修改,就会在内存中再创建。 对

    1. 于 数字 和 字符串 而言,赋值、浅拷贝和深拷贝无意义,因为在Python中经优化后其永远指向同一个内存地址。

    2. 浅拷贝,对于有多层结构的对象,浅拷贝只拷贝第一层,然后拷贝的第一层的指向下级的地址是不变的

    3. 深拷贝,对于有多层结构的对象,深拷贝是把层级结构都拷贝了,只有最后一级的数字和文本不拷贝

    4. id(对象)方法,可以查看指定对象的内存地址

    5. 浅拷贝

  1. import copy
  2.  
  3. n1 = {“k1”:”Li”,”k2”:123,”k3”:[“alex”,456]}
  4.  
  5. n3 = copy.copy(n1)
    1. 深拷贝

  1. import copy
  2.  
  3. n1 = {“k1”:”Li”,”k2”:123,”k3”:[“alex”,456]}
  4.  
  5. n4 = deepcopy.copy(n1)
  1. 函数

    1. 定义:

def 函数名([参数]):

……

[return …]

    1. 如果函数中没有return,则函数会返回None

    2. 动态参数

      1. 参数名称以*为前缀,这个参数的类型会是一个元组,如: def fun1(*a)

      2. 参数名称以**为前缀,参数须是一个字典类型,如: fun1(k1=123, k2=345,k3=567)

      3. 参数中同时有*为前缀 和 **为前缀的参数时,必须以*为前缀在前,**为前缀的在后,如: def fun1(*args, **kwargs)  或  def fun2(a, *args, **kwargs)

      4. 当形参以*为前缀,实参为列表如:li = [11,22,33,44,55] 时,

        1. fun1(li)   函数接收到的参数值是:([11, 22, 33, 44, 55],)

        2. fun1(*li)  函数接收到的参数值是:(11, 22, 33, 44, 55)

      5. 当形参为**为前缀,实参为字典如:dic = {“k1”:123}

        1. fun1(dic)  这样调用时会报错,要求须是 k1=123格式的传参

        2. fun1(**dic)  这样就可以正常把字典中的key和value都作为参数传过去

  1. lambda 表达式

    1. 无参数

  1. def fun1():
  2. return 123
  3.  
  4. fun2 = lambda : 123
  5.  
  6. f1 = fun1()
  7. f2 = fun2()
  8.  
  9. print(f1)
  10. print(f2)
    1. 有参数

  1. def fun1(a1, a2):
  2. return a1+a2
  3.  
  4. fun2 = lambda a1, a2 : a1+a2
  5.  
  6. f1 = fun1(8,9)
  7. f2 = fun2(18,19)
  8.  
  9. print(f1)
  10. print(f2)
  1. Python 内置函数

    1. abs()函数,取绝对值

    2. all()函数,循环参数,如果每个元素都为真,那么all的返回值为真

    3. any()函数,只要有一个元素为真,则返回真

    4. bool()函数,把元素转换为布尔类型,0、None、空字符串、空列表、空元组、空字典 都会转为False,其他都会转为True

    5. ascii()函数,在对象的类中找 __repr__,获取其返回值

    6. bin()函数,二进制

    7. oct()函数,八进制

    8. int()函数,十进制,base参数是指把几进制转换为十进制

    9. hex()函数,十六进制

    10. bytes()函数,字节转字符串,如:bytes(“xxxxx”,encoding=”utf-8”)

    11. bytearray()函数,字节列表

    12. chr()函数,返回数字对应的ascii字符

    13. ord()函数,返回字符对应的ascii码数字

    14. callable()函数,判断函数是否可以调用,如果可以,返回true

    15. filter(函数,可迭代对象),函数参数可接收一个参数并返回true或false,filter返回经函数判断为true的迭代项

    16. map(函数,可迭代对象),对可迭代对象元素都调用给定函数并返回结果

    17. eval()函数,计算字符串中的运算

    18. exec()函数,执行字符串中的程序

    19. globals()函数,获取所有全局变量

    20. locals()函数,获取所有局部变量

    21. isinstance(变量,类型),判断某个对象是否是某个类创建的

    22. iter(可迭代对象),迭代器,可创建并返回一个迭代的对象,对返回的这个对象执行next(迭代器),可获取它的下一个元素

    23. max(列表)函数,获取列表的最大值

    24. min(列表)函数,获取列表的最小值

    25. sum(列表)函数,获取列表的所有元素的和

    26. pow()函数,求幂的,如:pow(2,10)

    27. reversed(可迭代对象),对列表或字典进行反转

    28. round()函数,四舍五入

    29. zip()函数,可接收多个可迭代对象,按元素顺序合并成

  2. 文件操作

    1. open(文件名,模式,编码)

    2. 文件打开的模式有:

      1. r,只读模式【默认】

      2. w,只写模式【不可读,不存在则创建,存在测清空内容】

      3. x,只写模式【不可读,不存在则创建,存在则报错】

      4. a,追加模式【不可读,不存在则创建,存在则追加内容】

    3. “+”表示同时读写某个文件

      1. r+,读写

        1. 指针为0,起始位置;w,末尾追加,指针移动到最后

      2. w+,写读

        1. 先清空所有内容,从开始向后读,之后写的才能读,写,指针到最后

      3. x+,写读

      4. a+,写读

        1. 打开的同时,指针已经到最后

    4. “b”表示以字节的方式操作

      1. rb 或 r+b

      2. wb 或 w+b

      3. xb 或 x+b

      4. ab 或 a+b

  1. f = open("ha.log")
  2. data = f.read()
  3. f.close()
  4. print(data)
  5.  
  6. f = open("ha.log","r", encoding="utf-8")
  7. data = f.read()
  8. f.close()
  9. print(data)
    1. 常用方法

      1. close(),关闭文件

      2. fileno(),文件描述符

      3. flush(),刷新文件内容到缓存区

      4. next(),获取下一行数据,不存在,则报错

      5. read(),读取指定字节数据

      6. readline(),仅读取一行数据

      7. readlines(),读取所有数据,并根据换行保存值列表

      8. seek(),指定文件中指针位置

      9. tell(),获取当前指针位置

      10. truncate(),截取数据,仅保留指针之前数据

      11. write(),写内容

  1. f = open("ha.log",'r',encoding="utf-8")
  2. for line in f:
  3. print(line)
  4. f.close()
      1. for line in f  可以逐行读取文件所有内容

      2. 关闭文件

  1. with open("ha.log","r",encoding="utf-8") as f:
  2. data = f.read()
  3. print(data)
      1. 同时打开两个文件,可用于文件复制等

  1. with open("ha.log","r",encoding="utf-8") as f1, open("ha2.log",'w',encoding="utf-8") as f2:
  2. for line in f1:
  3. f2.write(line)
  1. 装饰器

    1. 根据 开放封闭原则 ,对类或函数体内的程序不要做改动,如果要做改动,尽量中类或函数体的外部,以免多次修改破坏原来的结构

  1. def outer(func): ---装饰器
  2. def inner():
  3. print("Hello")
  4. print("Hello")
  5. print("Hello")
  6. r = func() ---执行原函数
  7. print("End")
  8. print("End")
  9. print("End")
  10. return r ---return原函数的执行结果
  11. return inner
  12.  
  13. @outer ---给其下的方法调用自定义的装饰器;执行outer函数,并且将其下面的函数名作为参数;将outer的返回值重新赋值给fun1=outer的返回值;新fun1函数=inner
  14. def fun1():
  15. print("F1")
  16.  
  17. def fun2():
  18. print("F2")
  19.  
  20. def fun100():
  21. print("F100")
  22.  
  23. fun1()
  24.  
  25. -------装饰前输出结果-------
  26.  
  27. F1
  28.  
  29. -------装饰后输出结果-------
  30.  
  31. Hello
  32.  
  33. Hello
  34.  
  35. Hello
  36.  
  37. F1
  38.  
  39. End
  40.  
  41. End
  42.  
  43. End

    Python基础语法(二)的更多相关文章

    1. Python 基础语法(二)

      Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...

    2. python基础语法(二)

      本文主要包括以下内容 函数 切片 迭代 列表生成式 生成器 迭代器 函数 定义函数 定义函数 在Python中,定义一个函数要使用def语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块 ...

    3. 【阿K学Python系列】一Python基础语法(二)

      前言 通过上一章的学习[阿k学Python]一Python入门(一),我们已经初步了解到Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,当然也是一门脚本语言,像前端需要学习的Jav ...

    4. python基础语法二

      迭代 test = "妹子有种冲我来" #可迭代对象 == 被for进行循环获取 for item in test: print(item) break #练习题: test = ...

    5. Python 基础语法(三)

      Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...

    6. python基础语法(一)

      Python的特点 1. 简单 Python是一种代表简单思想的语言. 2. 易学 Python有极其简单的语法. 3. 免费.开源 Python是FLOSS(自由/开放源码软件)之一. 4. 高层语 ...

    7. Python基础语法(转)

      作者:Peter 出处:http://www.cnblogs.com/Peter-Zhang/   Python 基础语法(一) Python的特点 1. 简单 Python是一种代表简单思想的语言. ...

    8. web前端学习python之第一章_基础语法(二)

      web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...

    9. python之最强王者(2)——python基础语法

      背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

    10. Python 基础语法(四)

      Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

    随机推荐

    1. js 常见弹出框学习

      模拟系统的弹出框 系统自带的弹出框 总结 链接  http://blog.csdn.net/anhuidelinger/article/details/17024491 参考这个网站学习模态框的动态弹 ...

    2. java连接sql server2005

      转自:http://blog.sina.com.cn/s/blog_889b58310100zqyz.html 一:配置 第一步:在网上下载SQLServer2005的驱动包 http://www.m ...

    3. 登录phpmyadmin提示: #1045 无法登录 MySQL 服务器

      打开phpmyadmin,进行登录,出现以下问题,提示:#1045 无法登录 MySQL 服务器 或许出现以下错误情况:phpmyadmin:#1045 无法登录 MySQL 服务器.Access d ...

    4. SQL_Server_2008修改sa密码的方法

      转载自:http://blog.csdn.net/templar1000/article/details/20211191 1. 先用Window身份验证方式登陆进去,选择数据库实例,右键选择属性—— ...

    5. Eclipse “cannot be resolved to a type” 错误

      eclipse中遇到了“XX cannot be resolved to a type”的报错信息.网上找了些资料,本文将做以简单总结.     (1)jdk不匹配(或不存在) 项目指定的jdk为“j ...

    6. Less函数说明

      索引 escape(@string); // 通过 URL-encoding 编码字符串 e(@string); // 对字符串转义 %(@string, values...); // 格式化字符串 ...

    7. Sublime Text 3 简体中文汉化包

      Sublime Text 3下载 不用说是上官方下载地址:http://www.sublimetext.com/3 Sublime Text 3 简体中文汉化包使用方法 1.将上面要求下载的subli ...

    8. POJ 1014 Dividing

      Dividing Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 66032 Accepted: 17182 Descriptio ...

    9. 初步认知java的方法

      1.正确区分函数和方法: 面向对象的语言叫做方法,面向过程的语言叫做函数,两者的意义是一样的,只是叫法不同.java是面向对象的语言,所以用方法. 2.方法的定义: 就是有名字的代码段 3.方法的目的 ...

    10. CSV导入

      import java.io.FileReader; import java.io.IOException; import java.util.List; import au.com.bytecode ...