【麦兜搞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 ...
随机推荐
- LEANGOO用户设置
转自:https://www.leangoo.com/leangoo_guide/leangoo_guide_kanban_user.html#toggle-id-7 1. 点击屏幕右上角头像或用户名 ...
- Delphi 类类型
- 2-1 bash基本特性
bash基本特性 bash基本介绍 bash是shell的一种,shell是计算机与用户交互的主要接口,狭义上的shell指的是CLI(command line interface命令行接口),用户输 ...
- Linux rpm和yum软件管理
rpm是管理程序的一个小工具,rpm常来用作查询 什么源码包:大多数都是tar.gz,bz.bz2结尾的包 zip结尾的包 压缩格式为 zip –r 命名.zip ./* 解压格式为 unzip 命名 ...
- PAT Basic 1087 有多少不同的值 (20 分)
当自然数 n 依次取 1.2.3.…….N 时,算式 ⌊ 有多少个不同的值?(注:⌊ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分.) 输入格式: 输入给出一个正整数 N(2). 输出 ...
- macOS 终端常用命令
macOS 常用命令 基本命令 1.列出文件 ls 参数 目录名 例:看看驱动目录下有什么:ls /System/Library/Extensions 参数 -w 显示中文,-l 详细信息,-a 包括 ...
- 通过JDBC驱动加载深刻理解线程上下文类加载器机制
关于线程上下文类加载器已经在之前学得比较透了,作为一个收尾,这里用平常J2EE开发时JDBC连接Mysql数据库常见的一段代码通过分析它的底层进一步加深对线程上下文类加载器的理解,所以先来将连接应用代 ...
- python豆知识: for和while的else语句。
for语句,当可迭代对象耗尽后执行else语句. while循环,当条件为False后执行else. a = 1 while a != 10: a += 1 else: print(a)
- Raid0、Raid0+1、Raid1、Raid5四者的区别
RAID,可以把硬盘整合成一个大磁盘,还可以在大磁盘上再分区,放数据还有一个大功能,多块盘放在一起可以有冗余(备份)RAID整合方式有很多,常用的:0 1 5 10 Raid0Raid0是所有raid ...
- HDU - 5557 Matching Compressed String (自动机+倍增+表达式计算)
题意是给你一个自动机和一个字符串的括号表达式,问自动机能否接受这个字符串. 我一想,这不就是个模拟栈计算表达式+倍增么? 再一想,复杂度200*1000*10000*log(1e9),不对啊! 交上去 ...