【麦兜搞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',
'':'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=''
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=''
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)

【麦兜搞it】Python入门的更多相关文章
- python 入门教程
转载自:http://www.crifan.com/files/doc/docbook/python_beginner_tutorial/release/html/python_beginner_tu ...
- Python自动化运维之1、Python入门
Python简介 python是吉多·范罗苏姆发明的一种面向对象的脚本语言,可能有些人不知道面向对象和脚本具体是什么意思,但是对于一个初学者来说,现在并不需要明白.大家都知道,当下全栈工程师的概念很火 ...
- Python入门-函数的使用到程序的公布安装
Python入门-函数的使用到Python的公布安装 本文主要适合有一定编程经验,至少掌握一门编程语言的人查看. 文中样例大多都是简单到认识英文单词就能看懂的水平,主要讲的是Python的总体使用方法 ...
- 【转】python入门指引
http://matrix.42qu.com/10757179 前言 其实我也不知道python怎么入门,由我来写这个真的不是很合适.我学python是直接找了dive into python来看.然 ...
- [转][RabbitMQ+Python入门经典] 兔子和兔子窝
[转][RabbitMQ+Python入门经典] 兔子和兔子窝 http://blog.csdn.net/linvo/article/details/5750987 RabbitMQ作为一个工业级的消 ...
- python入门(9)字符串和编码
python入门(9)字符串和编码 字符串是一种数据类型,比较特殊的是字符串有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理. 最早的计算机在设计时采用8个比 ...
- Python入门篇-返回值和作用域
Python入门篇-返回值和作用域 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.返回值 1>.返回值概述 Python函数使用return语句返回“返回值” 所有函数都 ...
- Python入门学习指南
对于初学者,入门至关重要,这关系到初学者是从入门到精通还是从入门到放弃.以下是结合Python的学习经验,整理出的一条学习路径,主要有四个阶段 NO.1 新手入门阶段,学习基础知识 总体来讲,找一本靠 ...
- 6 小时 Python 入门
6 小时 Python 入门 以下操作均在 Windows 环境下进行操作,先说明一下哈 一.安装 Python 1.官网下载 Python 进入官网(https://www.python.org), ...
- python入门简介
Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...
随机推荐
- Oracle 调试存储过程
调试过程对找到一个存过的bug或错误是非常重要的,Oracle作为一款强大的商业数据库,其上面的存过少则10几行,多则上千行,免不了bug的存在,存过上千行的话,找bug也很费力,通过调试可以大大减轻 ...
- java Calendar Date 获取指定日期所在月或年的第一天和最后一天
一.获取传入日期所在月的第一天 public static Date getFirstDayDateOfMonth(final Date date) { final Calendar cal = Ca ...
- 编译luacheck Linux版
最近在写Visual Studio Code的Lua插件,需要把luacheck集成进去.但是luacheck默认只提供了win32版本,见https://github.com/mpeterv/lua ...
- 前端基础(八):Font Awesome(图标)
一.font awesome简介 目前图标总数共有519个; 不依赖Javascript 矢量图形,无限缩放 免费,可用于商业 CSS控制样式,自定义图标颜色,大小,阴影,一切可能实现的效果 支持re ...
- Django drf:cbv源码、resful规范及接口、drf使用、response源码、序列化
一.cbv源码分析 二.resful规范 三.django中写resful的借口 四.drf写resful的借口 五.APIVIew源码分析 六.drf之序列化 一.cbv源码分析 -CBV和FBV ...
- Centos使用光盘yum源
yum查看所有源 yum repolist all 方法一:本机使用光盘源安装软件的设置 mkdir /media/cdrom mount /dev/cdrom /media/cdrom vim / ...
- python __file__ is not defined 解决方法
python __file__ is not defined 解决方法 __file__ 是在python module 被导入的时候生成的一个变量,所以在 __file__ 不能被使用,但是又想获取 ...
- 通过自动回复机器人学Mybatis---基础版
第1章 案例简介 介绍要实现的案例情况,后面会通过这个案例来学习 Mybatis 第2章 实战第一部----黎明前的黑暗 在没有 Mybatis 的情况下,使用 Jsp + Servlet + Jdb ...
- pandas.to_json&to_dict&from_json&from_dict解读
pandas 中的to_dict 可以对DataFrame类型的数据进行转换 可以选择六种的转换类型,分别对应于参数 ‘dict’, ‘list’, ‘series’, ‘split’, ‘recor ...
- eclipse找不到JadClipse问题
版本信息: Eclipse Java EE IDE for Web Developers. Version: 2018-09 (4.9.0) 根据以往配置,放在eclipse\plugins下不生效, ...