【麦兜搞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 ...
随机推荐
- linux MD5使用
# define MD5_LONG unsigned int # define MD5_CBLOCK 64 # define MD5_LBLOCK (MD5_CBLOCK/4) # define MD ...
- BootStrap【一、概述】
4月底出去浪了一圈,回来收了一周的心才收回来,5.12,重启自学 今天早上总算大概把JAVASpring相关的东西过了一边,Spring基础.IOC.AOP,看的有些头晕脑胀 公司项目除了Spring ...
- vue-element-admin 之设置侧边栏的icon
一.将icon的svg文件放置如下图文件位置 二.在路由设置中设置(icon设置为svg的文件名称即可) 注:若icon选中的颜色不会随着侧边栏文字颜色变动,把svg文件中的fill ...
- Centos7下搭建WebGoat 8和DVWA环境
搭建WebGoat 安装前置条件说明 我们这里选择WebGoat的jar版本,由于WebGoat 8的jar文件已自带了tomcat和数据库,所以不需要再另外安装tomcat和mysql这种东西,只需 ...
- C语言创建线程以及使用锁进行读写分离
线程的使用 1.线程的创建 线程的相关操作放在<pthread.h>中. 1.1我们定义一个线程,首先要进行定义一个函数,类似我们创建一个a线程 void *thread_a(void * ...
- linux 的环境变量的配置文件
原文:https://www.cnblogs.com/yuemw/p/8081219.html ---------------------------------------------------- ...
- jenkins"控制台输出"乱码问题解决
今天在搭建Jenkins环境时,安装完Tomcat.Jenkins.创建项目进行构建后,在查看控制台输出时,结果中文全部显示乱码.然后呢,就是漫长的解决历程,最终呢,解决乱码问题的时间终于超过了环境搭 ...
- linux安装libreOffice
参考链接:https://qtdebug.com/mac-centos7-libreoffice/ https://blog.csdn.net/diyiday/article/details/7985 ...
- CSS样式设置小技巧
1.水平居中设置 行内元素居中设置:如果被设置元素为文本.图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的.代码示例如下: HTML代码 <body&g ...
- 用JS将毫秒转化成天时分秒的时间格式
function formatDuring(mss) { var days = parseInt(mss / (1000 * 60 * 60 * 24)); var hours = parseInt( ...