Python简单语法复习

#%%
# 运行当前cell用的是ctrl + 回车
def demo():
    str = 'hello world'
    print(str.capitalize())  #首字母大写
    print(str.replace('world', 'nowcoder'))
    s1 = '\n\r abc \n\r'
    print(s1.lstrip())
    print(s1.rstrip())
    print(s1.strip())
    print(1, str.startswith('hel'))
    print(2, str.endswith('x'))
    str2 = 'bcd'
    print(3, str + str2)
    print(4, len(str), len(str2), len(s1))
    str3 = 'wo ai ni zhong guo'
    print(5, '--'.join(['a', 'b', 'c', 'd', 'e', 'f'])) #java 中可能就要用到StringBuilder的append方法了
    print(6, str3.split(' '))
    print(7, str3.find('ai'))
    print(type(str))
class A():
    def plus(self,m,n):
        return m + n
    def div(self,c,d):
        return c*d
def demo1():
    print(1, max(2,1), min(5,2))
    print(2, len('abcde'), len([1,2,3,4]))
    print(3, abs(-4), abs(+7))
    print(4, chr(65), ord('a'))
    print(5, divmod(11,3))
    #这个函数的功能就是可以执行字符串中的内容
    x = 2
    print(6, eval('x+3'))
    b = A()
    print(b.plus(1,3))   
    print(b.div(3,4))
    print(eval('b.div(7,8)'))
    print(7, dir(list))
    print(8, '\n'.join(dir(list))) #join函数就是对list中的元素进行拼接,所以要传入一个list
def demo2():
    score = 77
    if score > 99:
        print('youxiu')
    elif score > 80:
        print('lianghao')
    else:
        print('jige')
    while score > 10:
        print(score)
        score -= 10
def demo3():
    lista = [1,2,3,3,3,3,3,4]
    listb = [5,6,7,8]
    lista.extend(listb)
    print(lista)
    lista.append(9)
    print(lista)
    print(lista.count(3))
    lista.pop(0)
    lista.insert(0,10)
    print(lista)
    lista.reverse();
    print(lista)
    lista.sort()
    print(lista)
    listb = listb*2
    print(listb)
def demo4():
    dicta = {4: 16, 5:25, 6: 36,7:49}
    print(dicta.keys(), dicta.values())
    for k in dicta:
        print(dicta[k])
    for k, v in dicta.items():
        print(k + v)
    print(dicta.__contains__(4))
    del dicta[4]
    print(dicta)
    dicta.pop(5)
    print(dicta)
def demo5():
    lista = [2,2,2,1,4,3,6,7,5]
    seta = set(lista)  #自动去重
    print(seta)
    setb = set([4,5,6,7,8,9,0])
    print(seta &setb, seta | setb, seta - setb, setb - seta)
    if 1 in seta:
        seta.add(10)
    print(seta)
demo5()
#%%
class User:
    def __init__(self, name, uid):
        self.name = name
        self.uid = uid
    def __repr__(self):
        return 'I am ' + self.name + ' ' + str(self.uid)
        #这个方法啊类似于java中的toString()方法
class Guest(User):
    def __repr__(self):
        return 'I am guest ' + self.name + ' ' + str(self.uid)
class Admin(User):
    def __init__(self, name , uid , group):
        # User.__init__(self,name,uid)
        super(Admin,self).__init__(name, uid)
        self.group = group
    def __repr__(self):
        return 'I am Admin'+' '+ self.name + ' '+ str(self.uid) +' '+ self.group

def demo_obj():
    user1 = User('fuqiang', 1)
    print(user1)
    user2 = Guest('xiaoming', 2)
    print(user2)
    user3 = Admin('google', 3,'company') 
    print(user3)
demo_obj()

#%%
def demo_exception():
    try:
        print(2/1)
        raise Exception('Raise Error', 'Nowcoder')  # 只要是在这里raise出来的错误,都会被捕获到
    except Exception as e:
        print(e)
    finally:
        print('clean up')
demo_exception()
#%%
import random
def demo_random():
    for i in range(5):
        print(0, random.randint(0,100))
    print(1, random.random())
    print(2, int(random.random()*100))
    #下面的场景可以用于抽奖,从1-100中随机抽出1个
    print(3, random.choice(range(1,100,5)))
    #从选中的人中抽出5个
    print(4, random.sample(range(0,100,10),5))
    lista = [1,4,5,8,9,7,0]
    print(5, random.choice(lista))
    print(6, random.sample(lista, 3))
    lista.sort()
    print(lista)
    random.shuffle(lista)
    print(lista)
demo_random()
#%%
import re
def demo_regex():
    str = 'abc123de45fgjhkj787df890'
    p1 = re.compile('[\d]+')
    p2 = re.compile('[\d]')
    print(1, p1.findall(str))
    print(2, p2.findall(str))
    str = '26684189562@qq.com, 2398423@qq.com, ksdhf234@163.com, kejdfh3984ei@google.com, fuqinsg@outlook.com'
    p3 = re.compile('[\w]+@[qq|163]+\.com')
    print(3, p3.findall(str))
    str = '<html><h>title</h><body>content</body></html>'
    p4 = re.compile('<h>.+</h>') #.表示匹配除了换行符\n之外的字符。+表示匹配前面的字符一次或多次,*表示匹配0次或多次
    print(4, p4.findall(str))
    str =  'smdf2016-07-09djfghd, wier2018-09-23fjd'
    p5 = re.compile('[\d]{4}-[\d]{2}-[\d]{2}')  #{表示前面的子表达式出现固定次数}
    print(5, p5.findall(str))
demo_regex()
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-30 18:02
投递京东等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务