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解释型 编译型: 优点:编译器一般会有预编译的过程对代码进行优化.因为编译只 ...
随机推荐
- 2020ICPC 博弈题 纳新一百的石子游戏
https://ac.nowcoder.com/acm/contest/4010/C 这道题为尼姆博弈的其中一种裸类型: 要求求出前(1~n)堆的必胜方案. 对于这种类型,假如我们现在就前k堆,那么我 ...
- Python的深拷贝、浅拷贝
浅拷贝 定义:浅拷贝只是对另外一个变量的内存地址的拷贝,这两个变量指向同一个内存地址的变量值. 浅拷贝的特点: 公用一个值: 这两个变量的内存地址一样: 对其中一个变量的值改变,另外一个变量的值也会改 ...
- VS“无法查找或打开PDB文件”是怎么回事?如何解决
有时候,我们使用 VS(Visual Studio)编译程序时会出现“无法查找或打开PDB文件”的提示,并且此时程序会生成失败,无法运行,如下图所示: 大家不要惊慌,出现这种提示并不是代码写错了,而是 ...
- Oracle空表的分配segment
1.查询相关参数deferred_segment_creation select * from v$parameter where name='deferred_segment_creation' ...
- 执行ifconfig eth2 up命令报错eth2: unknown interface: No such device的解决思路
排查问题思路 一般出现这种状况都是网卡mac地址错误引起的!要么网卡配置文件中的mac地址不对,要么/etc/udev/rules.d/70-persistent-net.rules文件中的mac地址 ...
- MS Sqlserver删除字段最后的多余字符
存在这样一些数据 ,,,,dga bc,,aaaa,,,,,,,,dga bc,,aaaa,,,,,,,dga bc,,aaaa,,,,,,,dga bc,,aaaa,,,,,, 需要将最后多余的逗号 ...
- 同步块:synchronized(同步监视器对象){同步运行代码片段}
package seday10; import seday03.Test2; /** * @author xingsir * 同步块:synchronized(同步监视器对象){需要同步运行的代码片段 ...
- 【网易官方】极客战记(codecombat)攻略-地牢-Kithmaze 二度历险
关卡连接: https://codecombat.163.com/play/level/the-second-kithmaze 很多人试过,但只有少数人能穿过此迷宫. 简介: 记住,你只需 一个 wh ...
- POJ 3991 括号匹配问题(贪心)
I’m out of stories. For years I’ve been writing stories, some rather silly, just to make simple prob ...
- 【python】anaconda中打开IDLE(python 自带编辑器)
最近要参加蓝桥杯了,发现 python 的编辑器是使用 python 自带的 IDLE,电脑上只用 Anaconda,就来找一下 打开 .\Anaconda3\Scripts\idel.exe 打开 ...