1.字符串拼接可以不使用+号

name = "this " "is " "a " "string"

2.使用''' ‘’‘ / “”“ ”“”可以实现多行字符串

name = """da's'd'sa'da

adsasda

a'd's'da'da    “”“

3.可以同时赋值多变量

a,b = 0,1

4.数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符

5.如果你不想让反斜杠发生转义,可以在字符串前面添加一个r,表示原始字符串:

>>> print('C:\some\name')
C:\some
ame
>>> print(r'C:\some\name')
C:\some\name

6.在每行最后一个字符后使用反斜线来说明下一行是上一行逻辑上的延续

aa = '123'\
'456'
print(aa)

7.若局部变量与全局变量同名,则在函数内中优先使用局部变量,并且局部变量的值改变不会影响全局变量,除非局部变量增加global关键字,则直接使用的是全局变量

8.字典的遍历

for k,v in dic.items():

  print(k,v)

9.重写父类的方法,不需要其他标识,只需在子类中定义与父类同名的方法即可

多重继承:class Dog(Animal,AA)  同时继承Animal和AA类

10.python获取本机ip(Linux)

import psutil
def get_netcard():
netcard_info = []
info = psutil.net_if_addrs()
for k,v in info.items():
for item in v:
if item[0] == 2 and not item[1]=='127.0.0.1' and item[1].startswith('192'):
netcard_info.append(item[1])
return netcard_info
11.出现模块未找到的解决办法
p = os.path.dirname(os.path.dirname((os.path.abspath(__file__))))
if p not in sys.path:
sys.path.append(p) 12.python判断字符串、集合、数组、字典是否为空
  if not variable_name:
    #如果不为空
    print('不为空') 13.列表推导式
for循环的简写,一个for循环,然后前面定义一个变量进行变量的保存
my_list = [value for value in range(0,5)] 14.global的使用
当需要改变内存地址的时候,使用global,当不需要改变内存地址的时候,不需要使用global
例如:
s1 = [1,2,3]
def change():
  #引用类型修改不需要改变内存地址
  s1.append(4)
  print(s1)
# 1,2,3,4
s1 = 1
def change():
  #基本数据类型修改需要改变内存地址
  global s1
  s1 = 2
  print(s1)
#2
15.语法糖的使用
定义一个记录日志的语法糖函数         解释:先定义一个装饰器的函数log,当编译器发现函数有装饰器后,将该函数传入装饰器函数中,获得装饰器函数返回的新函数,然后执行新函数,将参数传入,若要获得返回值,则在
                          inner函数里写return值
def log(func):
  def inner():
    print('调用函数的时间')
    func()
  return inner 用法
@log
def sum(a,b):
  result = a+b
  print(result)
sum(1,2)
#调用函数的时间
#3 16.python 单例设计模式
class Animal(object):

    __instance = None

    def __new__(cls, *args, **kwargs):
if cls.__instance:
return cls.__instance
else:
cls.__instance = object.__new__(cls)
return cls.__instance a1 = Animal()
a2 = Animal() print(id(a1))
print(id(a2))

17.python 指定特定属性,不允许动态新增属性

class Animal(object):

  # 定义该类型只有这2个属性

  __slots__ = ('name','age')

18. __all__的使用

__all__ 一般用于当使用 from 包/模块 import * 的时候产生作用

如果在模块中A顶部定义了__all__=['function_name']

则其他模块中from A import *,则只会导入__all__中定义的function_name

如果是包,则__all__需要定义在__init__.py文件中

项目结构

model
--__init__.py
--first_model.py
--second_model.py

outside_model.py

如果outside_model.py中使用from包名,import *不会导入包里所有的模块
需要使用__all__指定导入的模块,在__init__.py中定义
__all__ = ['first_model','second_model']

19.可迭代对象

for循环可以直接遍历取值的对象:列表、元祖、字符串、集合、range

判断对象是否是可迭代对象

from collections import Iterable

result = isinstance([1,2],Iterable)

返回True,就是可迭代对象

20.python获取各个目录的办法

import os, sys

print('__file__:', __file__)
print('realpath of __file__:', os.path.realpath(__file__))
print('sys.executable:', sys.executable)
print('realpath of sys.executable:', os.path.realpath(sys.executable))
print('sys.argv[0]:', sys.argv[0])
print('realpath of sys.argv[0]:', os.path.realpath(sys.argv[0]))
print('sys.path[0]:', sys.path[0])
print('realpath of sys.path[0]:', os.path.realpath(sys.path[0]))
  

												

Python的基础知识,不同于其他编程语言的更多相关文章

  1. Python数据挖掘——基础知识

    Python数据挖掘——基础知识 数据挖掘又称从数据中 挖掘知识.知识提取.数据/模式分析 即为:从数据中发现知识的过程 1.数据清理 (消除噪声,删除不一致数据) 2.数据集成 (多种数据源 组合在 ...

  2. Python 面向对象基础知识

    面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...

  3. python 爬虫基础知识一

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 网络爬虫必备知识点 1. Python基础知识2. P ...

  4. Python:基础知识

    python是一种解释型.面向对象的.带有动态语义的高级程序语言. 一.下载安装 官网下载地址:https://www.python.org/downloads 下载后执行安装文件,按照默认安装顺序安 ...

  5. Python学习-基础知识-2

    目录 Python基础知识2 一.二进制 二.文字编码-基础 为什么要有文字编码? 有哪些编码格式? 如何解决不同国家不兼容的编码格式? unicode编码格式的缺点 如何既能全球通用还可以规避uni ...

  6. 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出

    第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...

  7. 10分钟学会Python函数基础知识

    看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运 ...

  8. Python入门 ---基础知识

    Python入门不知道这些你还是承早放弃吧!真的 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言 ...

  9. 关于python的基础知识

    一,编程语言的类型: 1.编译型 2.解释型 3.静态语言 4.动态语言 5.强类型定义语言 6.弱类型定义语言 编译型vs解释型 编译型: 优点:编译器一般会有预编译的过程对代码进行优化.因为编译只 ...

随机推荐

  1. 为什么html表单用post提交后,提交页面是空白

    为什么html表单用post提交后,提交页面是空白? 因为post提交就应该用doPost()方法处理数据

  2. 一些关于网页标题的动态js特效

    1.当转换页面时,标题改变 <script> document.addEventListener('visibilitychange',function(){ if(document.vi ...

  3. HTML5学习(5)实体字符

    HTML   Entity 实体字符通常用于在页面中显示一些特殊符号. 书写方式: 1. &单词; 2. &#数字; 常用实体字符: <  < litter than &g ...

  4. MySQL对大小写敏感吗

    见字如面,见标题知内容.你有遇到过因为MYSQL对大小写敏感而被坑的体验吗? 之前看过阿里巴巴Java开发手册,在MySql建表规约里有看到: [强制]表名.字段名必须使用小写字母或数字 , 禁止出现 ...

  5. shiro 配置参数的含义

    anon 任何用户发送的请求都能够访问 authc 经过认证的请求可访问,否则将会将请求重定向到 ini 配置文件配置的 authc.loginUrl 资源,进行认证操作 authc.loginUrl ...

  6. 【转载】在windows下使用gcc编译jni的简单教程

    转自:http://veikr.com/201207/windows_gcc_jni.html 1.安装MinGW,这个可以为windows提供gcc编译环境. 到http://sourceforge ...

  7. thinkphp的模型操作

    先开个坑 WHERE篇 1, 模糊查询    where['keyword'] = [ 'like' , '%test%'] 2,   不等于,大于 ,小于 EQ 等于(=)NEQ 不等于(<& ...

  8. 排查 k8s 集群 master 节点无法正常工作的问题

    搭建的是 k8s 高可用集群,用了 3 台 master 节点,2 台 master 节点宕机后,仅剩的 1 台无法正常工作. 运行 kubectl get nodes 命令出现下面的错误 The c ...

  9. Codeforces Round #599 (Div. 2) C. Tile Painting

    Ujan has been lazy lately, but now has decided to bring his yard to good shape. First, he decided to ...

  10. ISE-Backup Data Type

    Cisco ISE allows you to back up data from the Primary PAN and from the Monitoring node. Back up can ...