Python的基础知识,不同于其他编程语言
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的基础知识,不同于其他编程语言的更多相关文章
- Python数据挖掘——基础知识
Python数据挖掘——基础知识 数据挖掘又称从数据中 挖掘知识.知识提取.数据/模式分析 即为:从数据中发现知识的过程 1.数据清理 (消除噪声,删除不一致数据) 2.数据集成 (多种数据源 组合在 ...
- Python 面向对象基础知识
面向对象基础知识 1.什么是面向对象编程? - 以前使用函数 - 类 + 对象 2.什么是类什么是对象,又有什么关系? class 类: def 函数1(): pass def 函数2(): pass ...
- python 爬虫基础知识一
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 网络爬虫必备知识点 1. Python基础知识2. P ...
- Python:基础知识
python是一种解释型.面向对象的.带有动态语义的高级程序语言. 一.下载安装 官网下载地址:https://www.python.org/downloads 下载后执行安装文件,按照默认安装顺序安 ...
- Python学习-基础知识-2
目录 Python基础知识2 一.二进制 二.文字编码-基础 为什么要有文字编码? 有哪些编码格式? 如何解决不同国家不兼容的编码格式? unicode编码格式的缺点 如何既能全球通用还可以规避uni ...
- 第2章 Python编程基础知识 第2.1节 简单的Python数据类型、变量赋值及输入输出
第三节 简单的Python数据类型.变量赋值及输入输出 Python是一门解释性语言,它的执行依赖于Python提供的执行环境,前面一章介绍了Python环境安装.WINDOWS系列Python编辑和 ...
- 10分钟学会Python函数基础知识
看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运 ...
- Python入门 ---基础知识
Python入门不知道这些你还是承早放弃吧!真的 Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言 ...
- 关于python的基础知识
一,编程语言的类型: 1.编译型 2.解释型 3.静态语言 4.动态语言 5.强类型定义语言 6.弱类型定义语言 编译型vs解释型 编译型: 优点:编译器一般会有预编译的过程对代码进行优化.因为编译只 ...
随机推荐
- 2019牛客多校第四场A meeting 思维
meeting 题意 一个树上有若干点上有人,找出一个集合点,使得所有人都到达这个点的时间最短(无碰撞) 思路 就是找树的直径,找直径的时候记得要找有人的点 #include<bits/stdc ...
- 安装Docker:解决container-selinux >= 2.9问题
1.安装Docker要求Centos内核版本高于3.10:通过uname -r查看当前系统的内核版本 uname -r 2.使用root登陆系统,确保yum包保持更新到最新: sudo yum ...
- php preg正则表达式的组成部分
定界符号 : 多种都可以,常用为// 原子 : 最小的一个匹配单位 (放在定界符中),在一个正则表达式中,至少要有一个原子 1,打印字符(a-z A-Z 0-9 ~!@#$%^&*()_+.. ...
- kali中网卡、ssh、apache的配置与开启
在Kali-linux中修改网卡文件,启动ssh和apache服务的方法 1.su root //取得root权限 2.shift+字母 //大小写字母切换 3.修改网卡 ...
- Saber-图集
PS:狙击手
- 无显示器安装raspberry zero w树莓派 zero w
笔者的环境 1. Macbook 电脑用于烧录树莓派系统到SD卡 2. 树莓派 zero w 把SD卡放进读卡器,插到Mac电脑上, 打开命令行工具Terminal diskutil list列出di ...
- layui+ajax+select
1.看效果 2.前端代码 <div class="layui-form-item"> <label class="layui-form-label&qu ...
- vim配置之——ctags与TagList的配置以及NERDTree && doxygentoolkit的安装
参考(2)vim插件:显示树形目录插件NERDTree安装 和 使用 本文档主要对Linux下vim的ctags,TagList,NerdTree与doxgentoolkit进行相关的配置. 以下部分 ...
- 【Python】如何处理Excel中的数据
我们平时在做自动化测试的时候,可能会涉及到从表格中去读取或者存储数据,我们除了可以使用openpyxl来操作excel,当然也可以利用pandas来完成,这篇随笔只是我在学习过程中的简单记录,其他的功 ...
- Ubuntu 16.04执行 sudo apt-get update非常慢解决方案
ubuntu在执行更新apt包索引 sudo apt-get update 可能遇到更新非常慢或者部分包都忽略或错误 我们应该进入到系统设置>软件与更新 选择其他站点 选择最佳服务器 然后点击关 ...