Python 判断某个字符串、列表、字典是否为空

直接将字典或者其他对象作为条件判断语句的的条件

var = None
# var = ''
# var = []
# var = {}
if var:
    print('Not Null')
else:
    print('Is Null')
var = None
# var = ''
# var = []
# var = {}
if not var:
    print('Null')
else:
    print('not Null')

参考:Python 判断是否为空

python删除字典中某个键值对、字典、清空字典

del dict1['name']
python删除字典
del dict1
删除字典所有键值对
item = {'name': 'zhangsan'}
dict1.update(item)

清空字典

dict1.clear()

 

python在字典中增加键值对

1. 直接添加

dict1['name'] = 'zhangsan'

2. 使用update()方法

item = {'name': 'zhangsan'}
dict1.update(item)
参考:python字典添加元素和删除元素

 

python遍历字典的几种方式

(1)通过遍历key
for key in a:
       print(key+':'+a[key])
(2)通过遍历value
for value in a.values():
       print(value)
(3)遍历字典项
for item in a.items():
       print(item)
(4)遍历字典键值对
for key,value in a.items():
       print(key+':'+value)

 

python随机生成某个范围内的整数

import random
print(random.randint(a, b+1)

 

将当前时间转换成字符串

import datetime
now_str = datetime.strftime(datetime.now(), "%Y%m%d%H%M%S%f")   #%f表示精确到微秒

 

打印当前时间戳

import time
import datetime
 
t = time.time()
 
print (t)                       #原始时间数据
print (int(t))                  #秒级时间戳
print (int(round(t * 1000)))    #毫秒级时间戳
print (int(round(t * 1000000))) #微秒级时间戳

 

python中没有三目运算符

可用以下语法代替
h = "变量1" if a>b else "变量2"
python中整数,字符串,浮点数的之间的转换

 

字符串转换成整数

num1 = "123"
num1 = int(num1)
print(num1, type(num1))
-----------------------------
(123, <type 'int'>) 
字符串转换成浮点数
num2 = "12.3"
num2 = float(num2)
print(num2, type(num2))
------------------------------
(12.3, <type 'float'>) 
整数或者浮点数转换成字符串
# 法一
num3 = "123"
num3 = str(num3)
print(num3, type(num3))
-------------------------------
('123', <type 'str'>)
 
# 法二
num3 = 123
num3 = '%d' % num3
-------------------------------
('123', <type 'str'>)

 

python中的set

(1) 无序性
(2) 确定性
(3) 不重复性
常用函数
add(num)添加元素
pop()删除元素
discard() 删除元素
remove(num) 删除某个元素
clear() 清空set
pop() 是随机删除。remove() 和 discard() 指定删除,但是指定不存在的元素时,remove() 会报错,而 discard() 不会报错
 
intersection()取交集, 或者是 & 符号
c = a.intersection(b)
c = a & b
union()取并集, 或者是 | 符号
c = a.union(b)
c = a | b
diference()取差集, 或者是 - 符号
c = a.difference(b)
c = a - b

 

python返回对象属性的函数 __repr__()

这个方法相等于是 Java 里面的 toString() 方法,可以自定义打印一个对象时的具体展现格式
我比较喜欢这样写, 这样当答应一个Demo对象时,就会答应这个对象的所有属性和属性值
# 打印对象的所有属性,类似于Java里面的toString()方法
def __repr__(self):
    return "Demo{" +  ', '.join(['%s:%s' % item for item in self.__dict__.items()]) + "}"

 

python获取字典、列表、元祖的元素个数

len()

 

比价两个无序list是否相等

from collections import Counter
 
list1 = [3,2, 4,5]
list2 = [4, 5, 3, 2]
print("Counter(list1)=",Counter(list1))
print("Counter(list2)=",Counter(list2))
print(Counter(list1) == Counter(list2))
 
('Counter(list1)=', Counter({2: 1, 3: 1, 4: 1, 5: 1}))
('Counter(list2)=', Counter({2: 1, 3: 1, 4: 1, 5: 1}))
True

 

python获取某个变量或者对象的数据类型

type(xxx)

 

pycharm替换快捷键

ctrl + r默认情况下(ctrl + shift + r代替所有文件)

 

json.dumps()和json.loads()

json.dumps()用于将字典形式的数据转化为字符串,json.loads()用于将字符串形式的数据转化为字典,如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到json.dump(),

 

pip下载安装速度过慢问题及解决方案

可以在使用pip的时候加参数-i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy==1.16.0
如果下载速度太慢,可以更换为清华的源, 也可以换成其他的源, 比如公司的内部源等
 
打包安装同理
pip install -i https://pypi.douban.com/simple -r requirements.txt

 

python标识符命名规范

一个专业的程序员首先有一个专业的标识符命名素养,不管编出来的代码性能怎么样,但是起码要好看,让人一看就觉得这个代码的作者是一个大牛
可以参考这篇:Python命名规范
 

timedalte()

timedalte 是datetime中的一个对象,该对象表示两个时间的差值
构造函数:datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
其中参数都是可选,默认值为0,如果只有一个参数,则表示天数
 

运行python程序遇到的问题

问题一
解决办法:
sudo apt-get install libatlas-base-dev
 
问题二
Import numpy时,会报下面的错误
/home/spyros/.local/lib/python2.7/site-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS2_FromObject
解决办法:
先卸载原有的numpy, pip uninstall numpy,
然后在/usr/local/lib/python2.7/site-packages删掉numpy*文件夹,然后继续pip install
 

Python 获取环境变量的几种方式

  • 第一种
import osos.environ.get('key_name')
  • 第二种
import osos.getenv('key_name')
  • 第三种
import osos.getenvb('key_name')   # 返回bytes
 
随机生成一个长度为4的16进制数
"".join([random.choice("0123456789ABCDEF") for i in range(4)])
random.choice()可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。