一.list 有序集合

1.list 有序集合  L = [95.5, 85, 59]  如L[1] = 85 ,L[-1] = 59  和php中array一个意思  用[] 表示就可以了

2.新增:往list中添加元素 ①.append()   L.append('test')   ②.insert   insert有两个参数  第一个是索引号  第二个是添加的元素,如L.insert(0,'test')

3.删除:删除元素  pop()   删除掉list的最后一个元素,并且返回这个元素。  拿第一条举例,L.pop()就会删除59并且返回59。L.pop(1)就会删除85并且返还85.其中的为1为索引

4.替换:直接L[2] = ‘test’  这样59就被替换成了字符串test

二.tuple 有序列表 类似于list  但是tuple创建完成后不能修改

1.tuple创建用()不同于 list用[].

2.tuple中要用,如t = ('test',)如果不用逗号 t(0) 打印出来的结果就是0而不是test。

3.tuple的不变是指指向不变  t = (1,2,3,[4,5])  ,L= t(3), L[0] = 'test' 这样4就变成了test 。所以tuple的每个元素指向是不变的,即指向1就不能改为指向b

三. if语句

1.python代码缩进规则。具有相同缩进的代码被视为代码块。缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。

2.如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车。if 那一行要用:结尾

s = set(['Adam', 'Lisa', 'Paul'])
L = ['Adam', 'Lisa', 'Bart', 'Paul']
for name in L:
if name in s:
s.remove(name)
else:
s.add(name)
print (s)

运行结果就是下面

D:\Python37\MyPython>python test1.py
{'Bart'}

3.if和else

score = 55
if score >= 60:
    print 'passed'
else:
    print 'failed'

4.if elif 和else

if age >= 18:
print 'adult'
elif age >= 6:
print 'teenager'
elif age >= 3:
print 'kid'
else:
print 'baby'

四.for循环

1.循环遍历list或者是tuple

L = ['Adam', 'Lisa', 'Bart']
for name in L:
print name

2.for 循环嵌套

for x in ['A', 'B', 'C']:
for y in ['1', '2', '3']:
print x + y
运行结果为:
A1
A2
A3
B1
B2
B3
C1
C2
C3

五.dict   key=>value的存储方式用{}声明

ex:

d = {
'Adam': 95,
'Lisa': 85,
'Bart': 59
}

如果print len(d)  结果就是3   如果 print d('Adam') 得到的结果就是95

1.dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降

2.dict缺点占用内存大,key不能重复

3.dict第二个特点就是没有顺序。打印的顺序不一定使我们创建的顺序。

4.dict的第三个特点是作为key的元素时不可变的。如字符串,整数等等,但是list是可变的就不能作为key。

5.添加: dict是可变的  d['5'] = 99

六.set 创建set的方式是调用set()并传入一个list,list的元素将作为set的元素。set没有重复

ex: s = set(['A','N','C'])  print s 结果可以看出是无序的。  set会自动取出重复的。

1.set储存是无序的,访问set的元素,其实就是判断它是否在set中,这个时候可以用in。ex: ‘A’ in s  返回结果为bool型。

2.set不能识别小写的字。

3.新增 : add  s.add('添加的元素')  新增已经存在的值时,不会报错

4.删除 :   remove  s,remove()        删除不存在的值时会报错

七.函数

1.调用一个函数需要知道函数的名称和参数。

2.定义函数用def 依次是函数名和括号参数和冒号  返回值统一为return

def my_abs(x):
if x >= 0:
return x
else:
return -x

没有返回值可直接写return

3.内置函数

abs()函数返回数字的绝对值。

all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。元素除了是 0、空、FALSE 外都算 TRUE。

any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。元素除了是 0、空、FALSE 外都算 TRUE。

basestring() 方法是 str 和 unicode 的超类(父类),也是抽象类,因此不能被调用和实例化,但可以被用来判断一个对象是否为 str 或者 unicode 的实例,isinstance(obj, basestring) 等价于 isinstance(obj, (str, unicode))。

bin() 返回一个整数 int 或者长整数 long int 的二进制表示。

bool() 函数用于将给定参数转换为布尔类型,如果没有参数,返回 False。bool 是 int 的子类。

bytearray() 方法返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。  class bytearray([source[, encoding[, errors]]])

callable() 函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True。callable(object)

chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。chr(i)其中i可以为16进制的 print chr(0x30), chr(0x31), chr(0x61) 返回 0 1 a

classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。

cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。

compile() 函数将一个字符串编译为字节代码。

complex() 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。。

delattr 函数用于删除属性。delattr(x, 'foobar') 相等于 del x.foobar。delattr(object, name) object -- 对象。name -- 必须是对象的属性。

dict() 函数用于创建一个字典。

dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

python divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

execfile() 函数可以用来执行一个文件。

file() 函数用于创建一个 file 对象,它有一个别名叫 open(),更形象一些,它们是内置函数。参数是以字符串的形式传递的。

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

float() 函数用于将整数和字符串转换成浮点数。

format() 新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。 "{1} {0} {1}".format("hello", "world") # 设置指定位置 'world hello world'

frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

getattr() 函数用于返回一个对象属性值。

globals() 函数会以字典类型返回当前位置的全部全局变量。

hasattr() 函数用于判断对象是否包含对应的属性。

hash() 用于获取取一个对象(字符串或者数值等)的哈希值。

help() 函数用于查看函数或模块用途的详细说明。

hex() 函数用于将10进制整数转换成16进制,以字符串形式表示。

id() 函数用于获取对象的内存地址。

input     Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。

    Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。

    raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )。

注意:input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

注意:python3 里 input() 默认接收到的是 str 类型。

int() 函数用于将一个字符串或数字转换为整型。class int(x, base=10) base为进制数,默认为十进制

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

isinstance() 与 type() 区别:

  • type() 不会认为子类是一种父类类型,不考虑继承关系。

  • isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。

issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类。

iter() 函数用来生成迭代器。

len() 方法返回对象(字符、列表、元组等)长度或项目个数。

list() 方法用于将元组转换为列表。注:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中。

locals() 函数会以字典类型返回当前位置的全部局部变量。对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True。

long() 函数将数字或字符串转换为一个长整型。

map() 会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

max() 方法返回给定参数的最大值,参数可以为序列。

memoryview() 函数返回给定参数的内存查看对象(Momory view)。所谓内存查看对象,是指对支持缓冲区协议的数据进行包装,在不需要复制对象基础上允许Python代码访问。

min() 方法返回给定参数的最小值,参数可以为序列。

next() 返回迭代器的下一个项目。

oct() 函数将一个整数转换成8进制字符串。

open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

pow() 方法返回 xy(x的y次方) 的值。

import math

math.pow( x, y )

property() 函数的作用是在新式类中返回属性值。

range() 函数可创建一个整数列表,一般用在 for 循环中。

python raw_input() 用来获取控制台的输入。

raw_input() 将所有输入作为字符串看待,返回字符串类型。

注意:input() 和 raw_input() 这两个函数均能接收 字符串 ,但 raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

注意:python3 里 input() 默认接收到的是 str 类型。

reduce() 函数会对参数序列中元素进行累积。

函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

reload() 用于重新载入之前载入的模块。

repr() 函数将对象转化为供解释器读取的形式。

reverse() 函数用于反向列表中元素。

round() 方法返回浮点数x的四舍五入值。

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

setattr 函数对应函数 getatt(),用于设置属性值,该属性必须存在。

slice() 函数实现切片对象,主要用在切片操作函数里的参数传递。

sorted() 函数对所有可迭代的对象进行排序操作。

sort 与 sorted 区别:

sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

str() 函数将对象转化为适于人阅读的形式。

sum() 方法对系列进行求和计算。

super() 函数是用于调用父类(超类)的一个方法。

  super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。

  MRO 就是类的方法解析顺序表, 其实也就是继承父类方法时的顺序表。

unichr() 函数 和 chr()函数功能基本一样, 只不过是返回 unicode 的字符。

vars() 函数返回对象object的属性和属性值的字典对象。

xrange() 函数用法与 range 完全相同,所不同的是生成的不是一个数组,而是一个生成器。

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

  如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

__import__() 函数用于动态加载类和函数 。如果一个模块经常变化就可以使用 __import__() 来动态载入。

exec 执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码。

需要说明的是在 Python2 中exec不是函数,而是一个内置语句(statement),但是Python 2中有一个 execfile() 函数。可以理解为 Python 3 把 exec 这个 statement 和 execfile() 函数的功能够整合到一个新的 exec() 函数中去了。

八.list切片

1. L = ['Adam', 'Lisa', 'Bart', 'Paul']     取前三个元素L[0:3]  从索引0开始,取三个。如果第一个索引是0,还可以省略:

2.L[:3]  从索引1开始,取出2个元素出来:L[1:3]

3.只用一个 : ,表示从头到尾:L[:]

4.L[::2]第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。

python学习之旅(入门)的更多相关文章

  1. 180分钟的python学习之旅

    最近在很多地方都可以看到Python的身影,尤其在人工智能等科学领域,其丰富的科学计算等方面类库无比强大.很多身边的哥们也提到Python非常的简洁方便,比如用Django搭建一个见得网站只需要半天时 ...

  2. python学习笔记--Django入门四 管理站点--二

    接上一节  python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...

  3. python学习笔记--Django入门0 安装dangjo

    经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...

  4. python学习之旅

    python学习分类 python基础    +- day01——python初始.变量.常量.注释.基础数据类型.输入.if day02——while.字符串格式化.运算符.编码初识 day03—— ...

  5. python学习路线--从入门到入土

    入门技术博客 进阶自己挑选 入门基础 Python入门相对容易又可以干很多事(网站,运维,数据,爬虫等),是一门方便的工具语言.2016年TIOBE排名显示Python已经名列第四,成为脚本语言之首. ...

  6. VS2013中Python学习笔记[基础入门]

    前言 在上一节中简单的介绍了在VS2013中如何进行开发Hello World,在VS2013中进行搭建了环境http://www.cnblogs.com/aehyok/p/3986168.html. ...

  7. python学习——简介和入门

    一.Python简介: Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...

  8. python学习之基础入门,安装,字符串,数据转换,三元运算符

    python基础 我们要开始学习新的编程语言了,加油~~ python是“世界上最好的语言”,学习它当然是认为它是最好的所以我们才学(人生苦短我学python),python运用于不同的领域,采集分析 ...

  9. python学习之路入门篇

    本文是up学习python过程中遇到的一些问题及总结归纳,本小节是入门篇. python基本语法 循环.分支不多赘述. 模块:一个.py文件就是一个模块. 文件和异常 模式 含义解释 “r” 读模式 ...

随机推荐

  1. Hello greenDAO(SQLite)

    一.配置Gradle Scripts: 1.1.build.gradle(Project:*****) buildscript { repositories { google() jcenter() ...

  2. mysql 日期 字符串

    Mysql 中字符串转时间跟Oracle略不同,函数为 str_to_date 应注意的是里面的大小写 如下: MySQL内置函数,在mysql里面利用str_to_date()把字符串转换为日期. ...

  3. table-cell width:1% 深入理解

    问题描述 今天在使用Bootstrap给页面添加底部导航栏时,需要在手机下也使导航栏呈现水平排列的效果.最后在网上查找解决方法是,看到这样一个解决方法: .nav-justified > li ...

  4. jenkins centos slave起不来报错The SSH key presented by the remote host does not match the key saved in the Known Hosts file against this host. Connections to this host will be denied until the two keys mat

    场景:我的centos-204是一台centos的机器,本来用https://www.cnblogs.com/zndxall/p/8297356.html 的centos slave方式搭建ok的,一 ...

  5. (转载)MyBatis传入多个参数的问题

    原文地址:https://www.cnblogs.com/mingyue1818/p/3714162.html 一.单个参数: public List<XXBean> getXXBeanL ...

  6. 如何解决loss NAN的问题

    问题 如上图所示,第二次迭代时出现NAN值,nan表示无穷大或者非数值,一般是在一个数除以0或者log(0)时会出现无穷大.可能的原因有:1)学习率过大:2)batch过大:3)不当的损失函数等. 试 ...

  7. MySql修改数据表的基本操作(DDL操作)

    1.查看数据库的基本语句:show databases; 2.选择相应的数据库进入语法:use 数据库名; 3.查看数据库中的表语法:show tables; 4.查看表的基本结构语句:desc 表名 ...

  8. python数据类型之字典类型

    # 字典常用方法clear(), get(), pop(), update(),copy(),items(), popitem(),values(), fromkeys(), keys(),setde ...

  9. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'multipartResolver': Failed to introspect bean class [org.springframework.web.multipart.commons.CommonsMultipartR

    在用spring mvc 做文件上传的时候出现了这个问题(能看到这篇文章就说明你已经有了那两个包了) 错误:org.springframework.beans.factory.BeanCreation ...

  10. Linux基础命令---free显示内存使用

    free free指令用来显示内存的使用情况,显示系统中可用和已使用的物理和交换内存的总量,以及内核使用的缓冲区.应该忽略共享内存列:它已经过时了. 此命令的适用范围:RedHat.RHEL.Ubun ...