python基础1.0

本系列来自学习转载廖雪峰的官方网站python

1. python简介:解释性语言算法

安装python,注意路径加入path数组

python的解释器,cpython,Python的解释器不少,但使用最普遍的仍是CPython。若是要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是经过网络调用来交互,确保各程序之间的独立性网络

2.命令行模式和python交互模式app

Python的交互模式和直接运行.py文件有什么区别呢?编辑器

直接输入python进入交互模式,至关于启动了Python解释器,可是等待你一行一行地输入源代码,每输入一行就执行一行。函数

直接运行.py文件至关于启动了Python解释器,而后一次性把.py文件的源代码给执行了,你是没有机会以交互的方式输入源代码的。学习

用Python开发程序,彻底能够一边在文本编辑器里写代码,一边开一个交互式命令窗口,在写代码的过程当中,把部分代码粘到命令行去验证,事半功倍!前提是得有个27'的超大显示器!网站

shift+enter 在交互模式中,能够避免执行而进行换行ui

1).直接运行python文件

在Windows上是不行的,可是,在Mac和Linux上是能够的,方法是在.py文件的第一行加上一个特殊的注释:(使用的是python3.6)

    #!/usr/bin/env python3
   
    print('hello, world')

而后,经过命令给hello.py以执行权限:
$ chmod a+x hello.py

3.输入和输出

print()

print()函数也能够接受多个字符串,用逗号“,”隔开,就能够连成一串输出:

 

print(100+200)

300

Python解释器自动计算出结果300

input()

变量 = input()

python中的变量

4.python的基础

python的语法缩进,坚持使用4个空格的缩进,复制粘贴的代码必须检查缩进。

类型:整数,浮点数,字符串,布尔型,列表,字典

字符串:“”或‘’括起来的文本,注意转移字符/,转义字符\能够转义不少字符,好比\n表示换行,\t表示制表符,字符\自己也要转义,因此\\表示的字符就是\。Python还容许用r''表示''内部的字符串默认不转义

Python容许用'''...'''的格式表示多行内容

字符串编码

ASCII,Unicode,utf-8。注意编码方式的大小

坚持统一使用utf-8编码

encode()指定编码方式

decode()指定解码方式

格式化:占位符

 

你可能猜到了,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。若是只有一个%?,括号能够省略。

 

常见的占位符有:

 

格式化整数和浮点数还能够指定是否补0和整数与小数的位数:

print('%2d-%02d' % (3, 1))
print('%.2f' % 3.1415926)
3-01
3.14

format()

 

另外一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}{1}……,不过这种方式写起来比%要麻烦得多:

 

'Hello, {0}, 成绩提高了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提高了 17.1%'

 

 

变量和常量

变量的命名规则

常量默认大写字母标识,除法 / 表示精确的除法,//表示地板除,只取整数部分。%取余。

 

list和tuple

list = []

下标 (0,n-1),(-1,-n)

append()添加元素

insert(i,A),在下标i处插入A

pop(1,A),删除i处的元素A

元素赋值,list的元素能够是另外一个list.

tuple() 元组 不可变

条件判断

if

elif

else

循环:

for i in ...

range(n) 生成0,n-1的list

while

break,continue的应用

dict和set

判断key是否在字典中

一是经过in判断key是否存在:

>>> 'Thomas' in d False 

二是经过dict提供的get()方法,若是key不存在,能够返回None,或者本身指定的value:

>>> d.get('Thomas') >>> d.get('Thomas', -1) -1 

注意:返回None的时候Python的交互环境不显示结果。

要删除一个key,用pop(key)方法,对应的value也会从dict中删除:

>>> d.pop('Bob') 75 >>> d {'Michael': 95, 'Tracy': 85} 

请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。

dict能够用在须要高速查找的不少地方,在Python代码中几乎无处不在,正确使用dict很是重要,须要牢记的第一条就是dict的key必须是不可变对象

这是由于dict根据key来计算value的存储位置,若是每次计算相同的key得出的结果不一样,那dict内部就彻底混乱了。这个经过key计算位置的算法称为哈希算法(Hash)。

哈希函数在一个给定的键上执行,返回其在数组中的相对位置,使用一种哈希策略的数组叫作哈希表。

较小的装载因子,数组长度为素数均可以减少冲突  ,例子

def keyToIndexes(keys,n):

  return list(map(lambda key : key%n,keys))

要保证hash的正确性,做为key的对象就不能变。在Python中,字符串、整数等都是不可变的,所以,能够放心地做为key。而list是可变的,就不能做为key:

 set

set能够当作数学意义上的无序和无重复元素的集合,所以,两个set能够作数学意义上的交集、并集等操做,

在议不可变对象:

对于不变对象来讲,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会建立新的对象并返回,这样,就保证了不可变对象自己永远是不可变的

相关文章
相关标签/搜索