笔记(python)

文章详细介绍了Python中的基本语法,如使用jieba进行分词和词频统计,以及函数定义、参数传递、变量作用域、类的定义(包括静态方法、类方法和实例方法)、继承、多态和装饰器的使用。还涉及了Python中的元组、字典、全局变量和局部变量的概念。
摘要由CSDN通过智能技术生成
import  jieba
string='青年强则国家强,中国青年生逢其时,施展才干的舞台无比广阔'
wordlist=jieba.lcut(string)
print(wordlist)
wordfreq={}
for word in wordlist:
    if word in wordfreq.keys():
        wordfreq[word]+=1
    else:
        wordfreq[word]=1
for item in wordfreq.items():
    print(f"{item[0]}:{item[1]}")
import jieba

data=('青年强则国家强,中国青年生逢其时,施展才干的舞台无比广阔')
words=jieba.lcut(data)
word_freq={}
for word in words:
    word_freq[word]=word_freq.get(word,0)+1
for key,value in word_freq.items():
    print('%s:%d'%(key,value))




score_data={}
score_data['考试成绩']=[]
score_data={'考试成绩':[]}
score={'name':'刘静'}
score.update(数学=132)
score_data['考试成绩'].append(score)
score['英语']=112
print(score_data)

def printInfo(name,id,age,major):
    print(f'姓名{name},学号{id},年龄{age},专业{major}')
printInfo('wang',20220820320,5,'计算机')
printInfo(name='张三',id=123,age=60,major='计算机')

def printInfo(name,id,age,major,address='济南'):
    print(f'姓名{name},学号{id},年龄{age},专业{major},地址{address}')
printInfo('王',20220820320,5,'计算机','北京')
printInfo(name='张三',id=123,age=60,major='计算机')




def function(a,b,/,c,d):
    print(a,b,c,d)

#  /前对应位置传,/后面无所谓
#  *前无所谓,*后按关键字(按照参数名传)的位置写
def function1(a,b,*,c,d):
    print(a,b,c,d)
function(1,2,c=455,d=46)
function1(1,25,c=146,d=56)
function(11,25,35,64)

def caculate(args):
    sum_num=0
    for n in args:
        sum_num+=n*n
    return sum_num
print(caculate([1,2,3,4]))
print(caculate([1,2,3]))

#  元组打包 ( 元组:不可变数据类型)
def caculate(*args):
    sum_num=0
    for n in args:
        sum_num+=n*n
    return sum_num
print(caculate(1,2,3,4))
print(caculate(1,2,3))


#   字典打包( 实参是字典)
def test(**kwargs):
    print(kwargs,type(kwargs))
test(a=1,b=2,c=3)

#  解包 单*  *
def test1(a,b,c):
    print(a+b+c)
data1=(4,5,6)
data2=[7,8,9]
test1(*data1)
test1(*data2)


#  解包 双*  ** (键与形参名一致)
def test2(a,b):
    print(a+b)

data={'a':5,'b':6}
test2(**data)

# def test(a,b,c=6,*args,**kwargs):
#     print('a=',a)
#     print('b=',b)
#     print('c=',c)
#     print('args=',args)
#     print('kwargs=',kwargs)
# test(1,2,3,4,4)
# test(1,2,x=5,y=6)
#
#
# def outer():
#     print('this is outer function')
#
#     def inner():
#         print('this is inner function')
#     inner()
#
# outer()
# def outer():
#     print('this is outer function')
#
#     def inner(a,b):
#         print('this is inner function')
#         return a+b
#     return inner
#
# func=outer()
# print(func(2,3))
#
#
# def test(param):
#     number=10
#     print(param+number)
#
# test(20)
# # print(number)  在局部作用域范围搜说不到


number =10
def outer():
    global number
    number+=20
    data=100
    print('外部函数number=',number)
    def inner():
        nonlocal data
        data+=30
        print('inner函数data=',data)

    inner()
    print('outer函数number:',number)

outer()#顶层 全局作用域
print('全局函数',number)
#从小到大去找 层层去找
#nolocal变量在局部作用域修改嵌套作用域
#global变量是将局部变量修改全局变量
#内建作用域 全局作用域 嵌套作用域 局部作用域
# class Student:
#     classname='人工智能2班'
#     @staticmethod
#     def test():
#         print(Student.getClassName())
#         print(Student.classname)
#     @classmethod#装饰器 有这个东西都叫类方法
#     #cls代表类本身
#     def getClassName(cls):
#         print(f'班级名:{cls.classname}')
#         print(f'班级名:{Student.classname}')
#     def __init__(self,name,id,mobile):
#         self.name=name
#         self.id=id
#         self.mobile=mobile
#     def get_Info(self):
#         return {'name':self.name,'id':self.id,'moblie':self.mobile}
# zhangsan=Student('张三','2022082035','23662')
# print(zhangsan.get_Info())
# print(zhangsan.name,zhangsan.id,zhangsan.mobile)
# zhangsan.gender='男'
# print(zhangsan.gender)
# zhangsan.getClassName()
# Student.getClassName()
# zhangsan.test()
# Student.test()
class Province:
    country='china'

    def __init__(self, name):
        self.name = name
    @staticmethod
    def getCountryName2():
        print(Province.country)
    @classmethod
    def getCountryName1(cls):
        print(cls.country)

    def getProvinceName(self):
        print(self.name)

shandongsheng=Province('山东省')
shandongsheng.getCountryName1()
shandongsheng.getProvinceName()
shandongsheng.getCountryName2()
class Car:
    '''
    汽车类
    '''
    color='灰色'
    brand='红旗' #属性
    def __init__(self,pcolor,pbrand):
       self.color=pcolor
       self.brand=pbrand
       print('汽车构造方法')
    def drive(self,speed): #方法
        self.speed=speed
        print('行驶')
    def __del__(self):
        print('析构方法')
    def info(self):
        print('轮子:',self.wheels,'轮子:',Car.wheels)
mycar=Car('红色','红旗')
print(mycar.brand)
print(mycar.color)
mycar.drive()
print(mycar.wheels)
print(mycar.wheels)
mycar.wheels=3
yourcar=Car('白色','大众')
print(yourcar.brand)
print(yourcar.color)
print(Car.wheels)
yourcar.info()
yourcar.drive()

mycar.drive('100km/h')
print(mycar.speed)
def add2num(a, b):
    return a + b
def function1(n):
    if n==1:
        return 1
    else:
        return function1(n-1)*n
print(function1(5))

def function2(n):
    if n<3:
        return 1
    else:
        return function2(n-1)+function2(n-2)
for i in range(1,15):
  print(function2(i),sep=' ',end=' ')

if __name__=='_main_':
    print(add2num(1,2))
    print(add2num(5,6))
    print('name=%s' %__name__)



def function(n):
    if n<3:
        return 1
    else:
        return function(n-1)+function(n-2)
for i in range(1,15):
  print(function(i),sep=' ',end=' ')




func=lambda  x,y:x//y
print(func(12,6))

#  等于
def test(x,y):
    return x+y
print(test(1,1))

# sorted函数
list=[['TV',500],['MP3',100],['PC',700]]
list2=[[1,7],[1,5],[2,4],[1,1]]
# print(sorted(list))
print(sorted(list2,key=lambda x:x[1]))
print(sorted(list,key=lambda  x:x[1],reverse=True))

#偶数赋0奇数赋1 偶在前奇在后
li=[30,10,21,32,45,56,23,23,23,56]
print(sorted(li,key=lambda x:1 if x%2==1 else 0))

print([i**2 for i in li])
print(list(map(lambda num:num**2,li)))

print([i for i in li if i%2==0])
print(list(filter(lambda x:x%2==0,li)))

def func1(**p):
    return ''.join(p)
print(func1(x=1,y=2,z=3))

f=lambda x,y=1,z=2:x+y+z
print(f(5))
class Teacher:
    def __init__(self,name,age):
        self.__name=name
        if self.setAge(int(age))!=0:
            self.__age=20
    def setAge(self,page):
        if 0<page<120:
            self.__age=page
            return 0
        else:
            print('设置年龄不合法')
            return -1
    def getAge(self):
        return self.__age

zhangsan=Teacher('张三','30')
print(zhangsan.getAge())
zhangsan.setAge(200)
zhangsan.setAge(35)
print(zhangsan.getAge())
lisi=Teacher('李四',50)
lisi._Teacher__age=150
print(lisi.getAge())
print(lisi._Teacher__age)

class Animal(object):
    def __init__(self,name,color,age):
        self.name=name
        self._color=color#受保护的
        self.__age=age#隐私的
    def run(self):
        print(self.name,'run','颜色',self._color,'年龄',self.__age)
class Cat(Animal):
    def memo(self):
        print(self.name,'memo')
class Dog(Animal):
    def __init__(self, name, color, age,gender):
        # self.name = name
        # self._color = color  # 受保护的
        # self.__age = age  # 隐私的
        super().__init__(name,color,age)
        self._gender=gender
        print(self.name,'性别',self._gender)
        print('Dog的构造方法')
    def bark(self):
        print(self.name,'wang')
class ShortTaiCat(Cat):
    pass

dog=Dog('来福','棕色',3,'男')
dog.bark()
dog.run()
cat=Cat('皮皮','白色',5)
cat.run()
cat.memo()

class Person(object):
    def __init__(self, name, age,number):
        self.name = name
        self._number =number  # 受保护的
        self.__age = age  # 隐私的

    def run(self):
        print('姓名',self.name, '餐厅就餐', '手机号', self._number, '年龄', self.__age)

class Teacher(Person):
    def __init__(self,name, age, number,jiaoling):
        super().__init__(name,age,number)
        self._jiaoling=jiaoling
        print(self.name,'教龄',self._jiaoling)
    def teach(self):
        print(self.name, 'teach')

class Student(Person):

    def __init__(self, name,age,number, grade):
        super().__init__(name,age,number)
        self._grade= grade
        print(self.name,'年级',self._grade)
    def study(self):
        print(self.name, 'study')

student=Student('张三','12','10134542','大二')
student.run()
student.study()
teacher=Teacher('李四','56',344313,'5年')
teacher.run()
teacher.teach()


class Sofa:
    def rest(self):
        print('沙发休息')
    def zhedie(self):
        print('沙发折叠')
class Bed:
    def rest(self):
        print('床上休息')
    def sleep(self):
        print('睡觉')
class Sofabed(Bed,Sofa):
    pass
sofabed=Sofabed()
sofabed.rest()
sofabed.sleep()
sofabed.zhedie()
print(Sofabed.mro())
print(Sofabed.__mro__)

class Person:
    def __init__(self,name):
        self.name=name
    def say_hello(self):
        print(self.name,'打招呼')
class Chinese(Person):
    def say_hello(self):
        super(Chinese,self).say_hello()
        print('你吃了吗')

    pass
class German(Person):
    def say_hello(self):
        super().say_hello()
        print('碰鼻')

zhangsan=Chinese('张三')
zhangsan.say_hello()
sam=German('sam')
sam.say_hello()

class Person:
    def __init__(self,name):
        self.name=name
    def work(self):
        print(self.name,'码代码')
class Designer(Person):
    def work(self):
        super(Designer,self).work()
        print('设计代码')

    pass
class Programmer(Person):
    def work(self):
        super().work()
        print('编程')

zhangsan=Designer('张三')
zhangsan.work()
sam=Programmer('sam')
sam.work()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值