Python
存墨
做一个有情怀的程序员
展开
-
Python———删除字符串中的特殊字符
# Demo1: delete the space in src(' www.david@163.com ')# Demo2: delete the '\r' in string from windows file then get linux format without '\r'# Demo3: delete the hanyupinyin tones in 'wén zhāng běn tiān chéng ,miào shǒu ǒu dé zhī 'import unicodedat原创 2022-01-01 11:53:41 · 566 阅读 · 0 评论 -
Python——字符串的对齐问题
# Now we have a src dict as following:# src_dict = {# 'David':2000# 'Jony':12.3# 'Michel Jackson': 12# 'MM': 13.2# }# we need to get alignment-seted dict as following# dest_dict = {# 'David ':2000# 'Jony ':12.3# 'Michel Jackson'原创 2021-12-31 23:38:46 · 676 阅读 · 0 评论 -
Python——字符串的连接
# Demo: Now we have a big list with different base data bype(str,int,float)# we need to contact them into a fianl stringsrc = ['abc', 123, 'defg', 49.8, '2021-01-21', '21:23:25']# solution 1:[not recommended as it cost a lot of memory]dest = ''for原创 2021-12-31 23:18:13 · 315 阅读 · 0 评论 -
Python——将日期格式yyyy-mm-dd转换为mm/dd/yyyy
import relog = open('time.log', 'r').read()print(==========before translating============)print(log)new_log = re.sub('(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})', r'\g<month>/\g<day>/\g<year>', log, 10)print(==原创 2021-12-31 23:04:24 · 2551 阅读 · 0 评论 -
Python——找到特定目录下的特定格式文件并修改权限
#Demo: find files ends with '.py' or '.sh' and change its mode executiveimport os, statfile_list = os.listdir('./files') # find all files in dest dirprint(file_list)dest_files = [x for x in file_list if x.endswith(('.sh', '.py'))]print(dest_files)原创 2021-12-31 22:41:32 · 1575 阅读 · 0 评论 -
Python——拆分包含多种分隔符的字符串
程序功能:现有一个如下的字符串:s = ‘ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz’根据‘,;|\t’四种不同分隔符将字符串拆分import res = 'ab;cd|efg|hi,jkl|mn\topq;rst,uvw\txyz'res = re.split(r'[,;|\t]+', s)print(res)运行结果:['ab', 'cd', 'efg', 'hi', 'jkl', 'mn', 'opq', 'rst', 'uvw', 'xyz'][原创 2021-12-30 23:06:20 · 196 阅读 · 0 评论 -
Python——for语句中访问可迭代对象
#coding utf-8from random import randintfrom itertools import chain# Demo1: get the total scores of each student; score stored in 3 lists(math,chinese,english)stu_count = 50math = [randint(60, 100) for x in range(stu_count)]chinese = [randint(60, 1原创 2021-12-29 21:55:03 · 257 阅读 · 0 评论 -
Python——自定义逆序迭代对象
#coding utf-8precision = 0.00000000001 # ensure no exception occurs of float compare operationclass FloatRange: def __init__(self, start, end, step = 0.1) : self.start = start self.end = end self.step = step def __iter__(self) : temp = self.s原创 2021-12-29 21:53:56 · 222 阅读 · 0 评论 -
Python——yield关键字的应用
程序功能:获取[start,end)区间的质数;from math import sqrtclass PrimeList: def __init__(self, start, end) : self.start = start self.end = end def is_prime(self, num) : if num < 2 : return False for v in (2, sqrt(num) + 1) : if num % v == 0 : r原创 2021-12-28 23:21:11 · 154 阅读 · 0 评论 -
Pthon——自定义迭代器和可迭代对象
#coding:utf-8from collections.abc import Iterator, Iterablefrom random import randintdef get_weather(city) : return city + str(randint(20, 35))class WeatherIterator(Iterator): def __init__(self, cities) : self.cities = cities self.index = 0原创 2021-12-28 22:35:42 · 285 阅读 · 0 评论 -
Python——保持字典的有序性
from random import randintfrom collections import OrderedDictfrom time import timeordered_dict = OrderedDict()players = list('ABCDEFGHI')start_second = time()for i in range(9) : input() p = players.pop(randint(0, 8-i)) end_second = time() print原创 2021-12-26 21:43:33 · 628 阅读 · 0 评论 -
Python——求多个字典中的公共键有哪些
# Demo1: get the common key in server sets(transeform from dicts)from random import randint, samplefrom functools import reducel = sample('abcdefgh', randint(3, 6))s1 = {x:randint(1, 5) for x in sample('abcdefgh', randint(3, 6))}s2 = {x:randint(1, 5)原创 2021-12-26 21:13:27 · 83 阅读 · 0 评论 -
Python——字典元素的排序
# Here is a dict with several members, we need to sort them increasingly# Solution 1print('------------------------solution1----------')from random import randintsrc_dict = {x:randint(60, 100) for x in 'BaCdEfGcMzYW'}print(src_dict)dest_temp = zip(sr原创 2021-12-26 20:51:15 · 241 阅读 · 0 评论 -
Python——根据序列中的元素出现频率筛选频度较高的元素
# Demo1: generate a list with 100 integers(radom value 1_20)# then get the top 3 frequency numbersfrom random import randintfrom collections import Counterimport resrc = [randint(1, 20) for _ in range(100)]dict_src = dict.fromkeys(src, 0)for x in sr原创 2021-12-26 19:28:44 · 239 阅读 · 0 评论 -
Python——为元组元素命名
# here is a tuple ('David', 29, 'male', '23raff@163.com'), when we want to get its member# we have to use indexe = ('David', 29, 'male', '23raff@163.com')print(e[0])print(e[1])print(e[2])print(e[3])# it is not abvious when we want to the identity o原创 2021-12-26 17:22:38 · 405 阅读 · 0 评论 -
Python——列表、字典和集合的解析
# Demo1 screen right data you want to get from list by functiondef screen(data): new_data = [] for i in data : if i>0 : new_data.append(i) return new_datafrom random import randintdata = [randint(-10, 10) for _ in range(10)]print('src list:原创 2021-12-26 17:04:35 · 104 阅读 · 0 评论 -
Python实现文件读写操作
def my_copy(src_file, dest_file) : try: src_file_obj = open(src_file, 'rb') except FileNotFoundError: print('src file is not found, please check the paragram') return dest_file_obj = open(dest_file, 'wb') for block in src_file_obj : dest_file_o原创 2021-12-22 22:44:56 · 187 阅读 · 0 评论 -
Python——一个例子感受一下“面向对象”
import scheduleimport timedef job() : print('Hello Python')schedule.every(3).seconds.do(job)while True: schedule.run_pending() time.sleep(1)原创 2021-12-22 21:15:24 · 289 阅读 · 0 评论 -
Python中的多态实例
class Animal(object): def eat(self) : print('Animal eat something')class Dog(Animal): def eat(self) : print('Dog eats meat')class Cat(Animal): print('Cat eats fish')animal = Animal()dog = Dog()cat = Cat()animal.eat()dog.eat()cat.eat()输出原创 2021-12-22 21:14:17 · 517 阅读 · 0 评论 -
Python——模块和主函数调用
python_module.py#Demo 1: revoke the default function called pow# print(pow(3, 3))#Demo 2: revoke the function pow in math# from math import pow# print(pow(3, 3))#Demo 3: revoke the self defined function of powimport syssys.path.append('./common')原创 2021-12-20 22:31:14 · 1034 阅读 · 0 评论 -
Python———__init__()和__new__()调用与重写
class MyClass(object): def __new__(cls, *args, **kargs) : print('__new__ method is called and id is {0}'.format(id(cls))) obj = super().__new__(cls) print('id of object is {0}'.format(id(obj))) return obj; def __init__(self, name, age) : super(原创 2021-12-19 20:35:10 · 117 阅读 · 0 评论 -
Python——多态的实现
class Animal(object): def eat(self) : print('Animal eat something')class Dog(Animal): def eat(self) : print('Dog eats meat')class Cat(Animal): def eat(self) : print('Cat eats fish')animal = Animal()dog = Dog()cat = Cat()animal.eat()dog.eat原创 2021-12-19 19:22:00 · 212 阅读 · 0 评论 -
Python——继承的实现
# class Person:# def __init__(self, name, age) :# self.name = name# self.age = age# def say_hello(self) :# print('name:', self.name, 'age:', self.age)# mr_smith = Person('Smith', 30)# mr_smith.say_hello()# print(mr_smith)class Person: de原创 2021-12-19 19:08:25 · 183 阅读 · 0 评论 -
Python——属性和方法的动态绑定
# as the following example, we can create different object with different name or age# but when we want to add a new attribute gender for Smith but not for Jack# Now how we can solve itclass MyClass: def __init__(self, name, age) : self.name = name原创 2021-12-19 17:17:05 · 64 阅读 · 0 评论 -
Python面向对象——类的封装
# Demo1: put the attribute of a person(Smith, 30years old) into a class name MyClassclass MyClass: name = 'Smith' age = 30 def say_hello(self) : print('My name is %s, and I am %d years old.'%(self.name, self.age))mr_smith = MyClass()mr_smith.say_h原创 2021-12-19 16:57:53 · 101 阅读 · 0 评论 -
Python——字符串的格式化输出
# string format output# using %name = '孙悟空'age = 550print('myname is %s and my age is %d'%(name, age))# using .formatprint('myname is {0} and my age is {1}'.format(name, age))#format usage of int and floatnum1 = 200print('%d'%num1)print('%10d'%n原创 2021-12-19 16:55:56 · 96 阅读 · 0 评论 -
Python——字符串的切片
src = 'hello, python'# how to get 'hello's1 = src[:5]# how to get 'python's2 = src[6:]# how to contact 'hello' and 'python' with '!'s3 = s1 + '!' + s2# show the id of string above allprint(id(src))print(id(s1))print(id(s2))print(id(s3))# how原创 2021-12-19 16:54:45 · 184 阅读 · 0 评论 -
python学习第二天——装饰器
# decrator of python# definition of func# def func() :# print('Hello world')# def new_func() :# print('decrating new_func')# func()# print('end decrating')# new_func()# when other func needs decrating, we should define another new_func# h原创 2021-12-14 22:50:11 · 529 阅读 · 0 评论