python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率.
①.、set()
当需要对一个列表进行去重操作的时候,set()函数就派上用场了.
用于创建一个集合,集合里的元素是无序且不重复的.集合对象创建后,还能使用并集、交集、差集功能.
对元组倒序操作:
使用参数:key,根据自定义规则,按字符串长度来排序:
根据自定义规则,对元组构成的列表进行排序:
map()会根据提供的函数,对指定的序列做映射,最终返回迭代器.也就是说map()函数会把序列里的每一个元素用指定的方法加工一遍,最终返回给你加工好的序列.举个例子,对列表里的每个数字作平方处理:
reduce()会对参数序列中元素进行累积.第第一段:第二个元素先进行函数操作,生成的结果再和第三个元素进行函数操作,以此类推,最终生成所有元素累积运算的结果.再举个例子,将字母连接成字符串.
filter()函数轻松完成了任务,它用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象.filter()函数和map()、reduce()函数类似,都是将序列里的每个元素映射到函数,最终返回结果.我们再试试,如何从许多单词里挑出包含字母w的单词.
enumerate翻译过来是枚举、列举的意思,所以说enumerate()函数用于对序列里的元素进行顺序标注,返回(元素、索引)组成的迭代器.再举个例子说明,对字符串进行标注,返回每个字母和其索引.
跟几个IT界的大佬提起Python,他们说零基础学好Python很简单,Python进阶需要花费些气力,都说Python简单易学
Python上手很容易, 基本有其他语言编程经验的人可以在1周内学会Python最基本的内容.(PS:没有基础的人也可以直接学习,速度会慢一点)
今天给你介绍十大入门必备知识点.
①. 标识符
标识符是编程用到的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写.
以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx?,表示不能直接访问的类属性,需通过类提供的接口进行访问,不能用?from xxx import *?导入;双下划线开头的标识符,如:__xx,表示私有成员;双下划线开头和结尾的标识符,如:__xx__,表示 Python 中内置标识,如:__init__()?表示类的构造函数.
Python 可以使用引号(')、双引号(")、三引号(''' 或 """)来表示字符串,引号的开始与结束须类型相同,三引号可以由多行组成.如下所示:
id = '001'
name = "张三"
skill = '''
唱歌
跳舞'''
skill = """
跳舞"""
and exec not assert finally or
break for passclassfrom print
continue global raisedef if return
del importtry elifin while
else is with exceptlambda yield
注意,我们在自定义标识符时是不能使用关键字的.
Python 输出使用 print(),内容加在括号中即可.如下所示:
print('Hello Python')
Python 提供了一个 input(),可以让用户输入字符串,并存放到一个变量里.如下所示:
name = input()
print('Hi',name)
Python 不使用 {} 来指令函数、逻辑判断等,而是使用缩进,缩进的空格可变.如下所示:
if True:
print(True)
else:
print(False)
Python 中一般来说会以新行来作为语句的结束标识,如下所示:
d = a ◆ \
b - \
c
Python 中单行注释用 #,多行注释用三个单引号(''')或三个双引号(""").如下所示:
# 我是单行注释
'''
我是多行注释
整数:可以为任意大小、包含负数
浮点数:就是小数
字符串:以单引号 '、双引号"、三引号 ''' 或 """括起来的文本
布尔:只有 True、False 两种值
空值:用 None 表示
变量:是可变的
常量:不可变
①.0 运算符
①.0.1 常用运算符
运算符描述示例
◆相加a ◆ b
-相减a - b
*相乘a * b
/相除a / b
%取模a % b
**幂a**b 表示 a 的 b 次幂
==是否相等a == b
!=是否不等于a != b
是否大于a b
=是否大于等于a = b
=是否小于等于a = b
=简单的赋值运算符a = b ◆ c
◆=加法赋值运算符a ◆= b 等效于 a = a ◆ b
-=减法赋值运算符a -= b 等效于 a = a - b
*=乘法赋值运算符a *= b 等效于 a = a * b
/=除法赋值运算符a /= b 等效于 a = a / b
%=取模赋值运算符a %= b 等效于 a = a % b
**=幂赋值运算符a **= b 等效于 a = a ** b
//=取整除赋值运算符a //= b 等效于 a = a // b
与a b
以上回答希望对你有所帮助,想学习Python自学有难度,可以考虑培训机构看看,千锋就很不错,推荐你去看看
类是对象的模板,是抽象的.
构造函数 init 是Python魔术方法之一,如图魔术方法
我们通过类模版去创建类的实例对象,然后再调用类定义的功能.
那实例对象的属性是通过什么来初始化的?
这时候Python引入来构造函数 init
构造函数,会在创建实例对象之后Python会自动执行此方法,把初始化的属性特点放到实例对象里.
通过前面的学习,我们知道一个python对象包含三个部分:id(识别码),type(对象类型),value(对象的值)
那么我们进一步深入对象包含的三部分:
我们通过类创建实例对象后,需要定义构造函数 init ()方法.
构造方法用于执行实例对象的初始化工作,即对象创建之后,初始化当前对象的相关的属性,无返回值
构造函数重点 :
我们通过栗子来学习构造函数的过程
构造函数初始化实例对象过程如下:
①Animal类会通过默认的 new ()方法为实例对象在堆内存中为开辟一个空间
敲黑板,重点来啦~
拓展:
我们今天学习了构造函数 init (),其在创建对象之后被Python自动调用初始化实例对象属性数据值,无返回值,并且构造函数不能被显示调用.
创建对象时,如果需要,构造函数可以接受参数.当创建没有构造函数的类时,Python会自动创建一个不执行任何操作的默认构造函数.
每个类必须有一个构造函数,即使它只依赖于默认构造函数
好啦,好了,全部的本期内容,欢迎大佬评论区指正~
字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字、字符串、元组,这种结构类型也称之为映射.字典类型是Python中唯一内建的映射类型,基本的操作包括如下:
(1)len():返回字典中键—值对的数量;
(10)has_key函数:检查字典中是否含有给出的键
(11)items和iteritems函数:items将所有的字典项以列表方式返回,列表中项来自(键,值),iteritems与items作用相似,但是返回的是一个迭代器对象而不是列表
第一段:字典的创建
①1 直接创建字典
printd
printd['two']
printd['three']
运算结果:
=======RESTART: C:\Users\Mr_Deng\Desktop\test.py=======
printu'items中的内容:'
printitems
printu'利用dict创建字典,输出字典内容:'
d=dict(items)
printu'查询字典中的内容:'
printd['one']
items中的内容:
利用dict创建字典,输出字典内容:
查询字典中的内容:
或者通过关键字创建字典
printu'输出字典内容:'
输出字典内容:
第二段:字典的格式化字符串
print"three is %(three)s."%d
第三段:字典方法
d.clear()
{}
请看下面两个例子
d={}
dd=d
d['one']=1
printdd
printu'初始X字典:'
printx
printu'X复制到Y:'
y=x.copy()
printu'Y字典:'
printy
printu'修改Y中的值,观察输出:'
printu'删除Y中的值,观察输出'
y['test'].remove('c')
初始X字典:
X复制到Y:
Y字典:
修改Y中的值,观察输出:
删除Y中的值,观察输出
注:在复制的副本中对值进行替换后,对原来的字典不产生影响,但是如果修改了副本,原始的字典也会被修改.deepcopy函数使用深复制,复制其包含所有的值,这个方法可以解决由于副本修改而使原始字典也变化的问题.
fromcopyimportdeepcopy
x={}
x['test']=['a','b','c','d']
z=deepcopy(x)
printu'输出:'
printz
printu'修改后输出:'
x['test'].append('e')
运算输出:
输出:
{'test': ['a','b','c','d']}
修改后输出:
{'test': ['a','b','c','d','e']}
d=dict.fromkeys(['one','two','three'])
{'three':None,'two':None,'one':None}
或者指定默认的对应值
d=dict.fromkeys(['one','two','three'],'unknow')
{'three':'unknow','two':'unknow','one':'unknow'}
printd.get('one')
printd.get('four')
None
注:get函数可以访问字典中不存在的键,当该键不存在是返回None
printd.has_key('one')
printd.has_key('four')
True
False
list=d.items()
forkey,valueinlist:
printkey,':',value
one :1
it=d.iteritems()
fork,vinit:
print"d[%s]="%k,v
d[one]=1
printu'keys方法:'
list=d.keys()
printlist
printu'\niterkeys方法:'
it=d.iterkeys()
forxinit:
keys方法:
['three','two','one']
iterkeys方法:
three
two
one
d.pop('one')
d.popitem()
printd.setdefault('one',1)
d={
}
x={'one':1}
d.update(x)
printd.values()
python的常用内置函数
①abs() 函数返回数字的绝对值
dict()
{} ? ? ?#创建一个空字典类似于u={},字典的存取方式一般为key-value
help('math')查看math模块的用处
help(a)查看列表list帮助信息
dir(help)
['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
a
①.0
next(it)
id(a)
a=["tom","marry","leblan"]
list(enumerate(a))
oct(10)
①.0. bin() 返回一个整数 int 或者长整数 long int 的二进制表示
bin(10)
'0b1010'
'0b1111'
①.1.eval() 函数用来执行一个字符串表达式,并返回表达式的值
f=open('test.txt')
bool()
bool(1)
bool(10)
bool(10.0)
isinstance(a,int)
isinstance(a,str)
class ? User(object):
? ? def__init__(self):
class Persons(User):
? ? ? ? ? super(Persons,self).__init__()
float(1)
①0
float(10)
①.0.0
iter(a)
for i in iter(a):
... ? ? ? ? print(i)
...
tuple(a)
s = "playbasketball"
len(s)
len(a)
class User(object):
? ?def __init__(self,name):
? ? ? ? ? ? self.name = name
? def get_name(self):
? ? ? ? ? ? return self.get_name
? @property
? ?def name(self):
? ? ? ? ? ?return self_name
list(b)
range(10)
range(0, 10)
class w(object):
a = w()
getattr(a,'s')
complex(1)
(1◆0j)
complex("1")
max(b)
class Num(object):
...? ? a=1
.. print1 = Num()
print('a=',print1.a)
a= 1
print('b=',print1.b)
print('c=',print1.c)
delattr(Num,'b')
Traceback (most recent call last):? File "", line 1, inAttributeError: 'Num' object has no attribute 'b'
hash("tom")
a= set("tom")
b = set("marrt")
a,b
({'t', 'm', 'o'}, {'m', 't', 'a', 'r'})
ab#交集
{'t', 'm'}
a|b#并集
{'t', 'm', 'r', 'o', 'a'}
a-b#差集
{'o'}
①.、函数定义
①使用def关键字定义函数
②
"""文档字符串,docstring,用来说明函数的作用"""
#函数体
return 表达式
注释的作用:说明函数是做什么的,函数有什么功能.
③遇到冒号要缩进,冒号后面所有的缩进的代码块构成了函数体,描述了函数是做什么的,即函数的功能是什么.Python函数的本质与数学中的函数的本质是一致的.
①函数必须先定义,才能调用,否则会报错.
③不要在定义函数的时候在函数体里面调用本身,否则会出不来,陷入循环调用.
④函数需要调用函数体才会被执行,单纯的只是定义函数是不会被执行的.
⑤Debug工具中Step into进入到调用的函数里,Step Into My Code进入到调用的模块里函数.