【麦兜搞it】Python入门

一、基本数据类型

整型、浮点型、布尔型内容略

1、字符串的格式化

name='python'
age=27

# 打印“我是python,今年27岁了”
new_str='我是'+name+',今年'+str(age)+'岁了'
print(new_str)

# python2的做法
new2='我是%s,今年%d岁了'%(name,age)
print(new2)

# python3的做法
new3='我是{},今年{}岁了'.format(name,age)
print(new3)
# 当大括号比较多的时候,还可以如下做法
new4='我是{name},今年{age}岁了'.format(
    name='aaa',
    age='bbb'
)
print(new4)

# python3.6之后
new5=f'我是{name},今年{age}岁了'
print(new5)

 2、空值

二、数据结构

1、列表List

1.1、列表的创建

a=[1,2,3]
b=[1,'abc',2.0,['a','b','c']]

print(a)
print(b)
print(a[0],a[1],a[2],sep='-')

c=b[1:3]
s='abcdef'

print(c,type(c))
print(s[1:3],s[-1],type(s))

1.2、列表的基本操作

# 一、获取列表的基本信息
list1=[9,1,-4,3,7,11,3]
print('list1的长度=',len(list1))
print('list1的最大值=',max(list1))
print('list1的最小值=',min(list1))
print('list1中3这个元素出现了{}次'.format(list1.count(3)))

# 二、列表的改变
list2=['a','c','d']
# 列表结尾添加新元素
list2.append('e')
print('list2=',list2)

# 列表元素之间添加新元素
list2.insert(1,'b')
print('list2=',list2)

# 删除列表元素
list2.remove('b')
print('list2=',list2)

# 修改列表元素
list2[0]='A'
print('list2=',list2)
'''
注意这里要与字符串进行区分
a='123'
a[0]='a'    报错
a='abc'     只能重新赋值
'''

# 列表翻转
list3=[1,2,3]
list3.reverse()
print('list3=',list3)

# 列表排序
list4=[9,1,-4,3,7,11,3]
list4.sort()                #升序
# list4.sort(reverse=True)    #降序
print('list4=',list4)

1.3、列表解析

a=[1,2,3,4,5,6,7,8]

b=[item*item for item in a]
print(b)

c=[item for item in a if item%2==0]
print(c)

2、元组Tuple(不可修改)

2.1、元组的创建及访问

# 元组的创建
a=(1,2,3)
b=1,

print(a,type(a))
print(b,type(b))

# 元组的访问
print(a[1])
print(a[1:])
print(a[-1])

2.2、元组的方法

# 获取元组的基本信息
tuple1=[9,1,-4,3,7,11,3]
print('tuple1的长度=',len(tuple1))
print('tuple1的最大值=',max(tuple1))
print('tuple1的最小值=',min(tuple1))
print('tuple1中3这个元素出现了{}次'.format(tuple1.count(3)))

print(tuple1.index(7))  #查询元素7的下标

3、字典Dictionary

3.1、字典的创建及访问

# 字典创建
a={
    1:'a',
    2:'b',
    '3':'c'
}
print(a)

e=dict(a=1,b=2,c='a')
print(e)

# 字典的访问
print(e['c'])

# 字典的增加、修改
e['d']=123
e['c']=3
print(e)

3.2、字典的基本操作

d={
    'Name':'Jack',
    'Age':9,
    'Grade':5,
}
print(d.get('name'))    # 避免传入字典没有的key时报错

print(d.keys())
print(d.values())
print(d.items())

c=d.pop('Name')
print(c)
print(d)

d.clear()
print(d)

4、集合Set

a={'a','b','c'}

t='d' in a
print(t)

s=[1,2,3,2,4,5,2]
s1=set(s)
print(s1,type(s1),list(s1))

a='1234512'
s2=set(a)
print(s2)

s3={1,2,3,4}
s3.add(5)
print(s3)
s3.remove(5)
print(s3)

三、逻辑思维

1、if语句

a=int(input('请输入一个数字:'))

if a>0:
    print('这是个正数')
elif a==0:
    print('这是零')
else:
    print('这是负数')

2、循环语句

2.1、while循环

a=5

while a>0:
    print(a)
    a=a-1

print('结束')

2.2、for循环

a='12345'
b=[1,2,3,4]
c=('a','b','c','d')
d={1,2,3,5,9}

for i in d:     # d可以换成a、b、c
    print(i)

print('------------------------------')

e={1:'a',2:'b',3:'c'}
for a,b in e.items():
    print('{}:{}'.format(a,b))

print('------------------------------')

for i in range(1,5):
    print(i)

2.3、break和continue

for i in range(1,5):
    print(i)
    if i%3==0:
        break

print('------------------------------')

for i in range(6):      # 0~5
    if i%2==0:
        continue
    print(i)

2.4、小运用

import random

a=random.randint(0,100)  # 产生【0,100】之间的整数(包括0和100)

while True:
    num=int(input('请输入0-100之间的整数:'))
    if num==a:
        print('猜对了')
        break
    elif num>a:
        print('猜大了,请重新猜')
    else:
        print('猜小了,请重新猜')

四、函数

1、函数的定义和调用

def sum(a,b):
    return a+b
print(sum(5,6))
print(sum([1,2],[3,4]))

def max(a):
    if not a:
        return None
    max_value=a[0]
    for i in a:
        if i>max_value:
            max_value=i
    return max_value

a=[1,4,5,2,3,8,9]
print(max(a))

2、全局的作用域

基本常识略,以全局变量举例

z=1
print(z)

def demo(a):
    global z
    z=z+a
    print(z)

demo(10)
print(z)

3、可变参数

def add(*args):
    result=0
    for i in args:
        result+=i
    return result

print(add(1,2,10,20))

33

4、递归

def demo(n):
    if n==1:
        return n
    return n*demo(n-1)

print(demo(5))

120

 5、类和对象

class People:
    def __init__(self,name,age):
        self.name=name
        self.age=age

    def say(self):
        print('Hi,my name is {},and I am {} years old.'.format(self.name,self.age))

some=People('Jack',20)
print(some.name)
print(some.age)
some.say()

 6、继承和多态

class Animal:
    def eat(self):
        print('Animal is eating')

class Bird(Animal):
    def sing(self):
        print('Bird is sing')

class Dog(Animal):
    def eat(self):
        print('Dog is eating')

a=Animal()
a.eat()

b=Bird()
b.sing()

d=Dog()
d.eat()

7、匿名函数

def test(x,y):
    return x+2*y

f=lambda x,y:x+2*y

print(test(1,2))
print(f(1,2))

def demo(x,y,f):
    return f(x,y)

print(demo(1,2,lambda x,y:x+2*y))

def add(n):
    return  lambda x:n+x    # 高阶函数:返回一个函数

s=add(40)                    # 生成s这个函数
print(s(5))
print(s(-10))

8、高阶函数map、reduce、filter

 

a=[1,2,3,4]

for item in map(lambda x:x*x,a):
    print(item)

s=[item for item in map(lambda x:x*x,a)]
print(s)

from functools import reduce
ss=reduce(lambda x,y:x+y,a)
print(ss)

sss=[item for item in filter(lambda x:x%2==1,a)]
print(sss)
s4=[item for item in a if item%2==1]          # 列表解析同样能实现相同功能
print(s4)

原文地址:https://www.cnblogs.com/little-monkey/p/11370652.html