python基础

一、基本使用

1.1 print功能

1.python3以后的版本需要加括号,python2.7及2.7以前的版本不需要加括号。

2.打印字符串需要加单引号或者双引号。

3.打印字符串的叠加可以用+将两个字符串连接起来。

4.可以打印简单的运算(+,-,*,/)。字符串不可以直接和数字相加。

5.打印多个变量时用,分隔。如:print(a,b,c)

1.2 基础数学运算

1.基本运算有:+,-,,/,//(除取整),%(除取余),m*n(m的n次方)。

1.3 变量

1.命名规则:英文、数字和_的组合,不能以数字开头;区分大小写。

2.可以一次定义一个或者多个变量


二、while和for循环

2.1 while循环

1.基本语法

while condition:  #condition为判断条件
    expressions    #expressions是执行的语句

2.注意点:在使用while的时候在循环内部一定要修改判断条件的值。如果陷入无限循环,使用ctrl+c来终止程序
3.condition可以是判断表达式(<,>,<=,>=,==,!=);也可以是数字,整数和浮点数也能进行Boolean数据操作,0或者0.0会返回False其余的返回True;也可以是None的数据类型,将会返回False;也可以是集合类型,例如list,tuple,dict和set等,如何集合中的元素数量为0,返回False,否则返回True。

2.2 for循环

1.基本语法:

for item in sequence:   #sequence为可迭代的对象,item为序列中的每个对象
    expressions

2.可迭代对象可以用range来获得,range有三种方法:

(1)range(start, stop),start是序列的起始值,stop为结束值,但不包括改值。
(2)range(stop),默认从0开始
(3)range(start, stop, step),step是步长,每次增加step的值。

3.python内置的list、tuple、dict和set四种基本集合的对象都能够作为迭代集。
4.可以按照迭代器的要求自己生成迭代器对象。只要类中实现了__iter__next函数,就可以使用。例子如下(来源于莫烦的python教程)。

# define a Fib class
class Fib(object):
    def __init__(self, max):
        self.max = max
        self.n, self.a, self.b = 0, 0, 1

    def __iter__(self):
        return self

    def __next__(self):
        if self.n < self.max:
            r = self.b
            self.a, self.b = self.b, self.a + self.b
            self.n = self.n + 1
            return r
        raise StopIteration()

# using Fib object
for i in Fib(5):
    print(i)

5.Python 使用 yield 关键字也能实现类似迭代的效果,yield 语句每次 执行时,立即返回结果给上层调用者,而当前的状态仍然保留,以便迭代器下一次循环调用。这样做的 好处是在于节约硬件资源,在需要的时候才会执行,并且每次只执行一次。

def fib(max):
    a, b = 0, 1
    while max:
        r = b
        a, b = b, a+b
        max -= 1
        yield r

# using generator
for i in fib(5):
    print(i)

三、if判断

1.基本语法

#第一种类型
if condition:
    expressions
#第二种类型
if condition:
    true_expressions   #条件为真执行的语句
else:
    false_expressions   #条件为假时执行的语句
#第三种类型
if condition1:
    true1_expressions
elif condition2:
    true2_expressions
elif condtion3:
    true3_expressions
elif ...
    ...
else:
    else_expressions

2.python 可以通过if-else完成类似condition ? value1 : value2这样的三木运算的功能。

var = var1 if condition else var2

四、定义功能

4.1 def函数

1.基本语法:

def function_name(parameters):
    expressions

4.2 函数参数

1.基本用法:

def function_name(parameters):
    expressions

4.3 函数默认参数

1.基本用法:

def function_name(para_1,...,para_n=defau_n,..., para_m=defau_m):
    expressions

2.默认参数不能出现在非默认参数前面。
3.自调用:如果执行该脚本的时候,该 if 判断语句将会是 True,那么内部的代码将会执行。 如果外部调用该脚本,if 判断语句则为 False,内部代码将不会执行。

if __name__ == '__main__':
    #code_here

4.可变参数:参数个数不固定。可变参数在函数定义不能出现在特定参数和默认参数前面,因为可变参数会吞噬掉这些参数。

def report(name, *grades):  #参数 *grades 使用了 * 修饰,表明该参数是一个可变参数,这是一个可迭代的对象
    total_grade = 0
    for grade in grades:
        total_grade += grade
    print(name, 'total grade is ', total_grade)

5.关键字参数:参数在函数内部自动封装成一个字典(dict),通常来讲关键字参数是放在函数参数列表的最后

def portrait(name, **kw):    #\*\*表示kw是关键字参数
    print('name is', name)
    for k,v in kw.items():
        print(k, v)

五、变量形式

1.局部变量
2.全局变量


六、文件读写

1.open读文件方式

my_file=open('my file.txt','w')   #用法: open('文件名','形式'), 其中形式有'w':write;'r':read.
my_file.write(text)               #该语句会写入先前定义好的 text
my_file.close()                   #关闭文件

2.在文件后面追加内容

my_file=open('my file.txt','a')   # 'a'=append 以增加内容的形式打开
my_file.write(append_text)
my_file.close()

3.读取文件类容

(1) file.read() 能够读取到文本的所有内容

file= open('my file.txt','r') 
content=file.read()  
print(content)

(2)按行读取 file.readline()

file= open('my file.txt','r') 
content=file.readline()  # 读取第一行
print(content)

(3)读取所有行 file.readlines()

file= open('my file.txt','r') 
content=file.readlines()   # python_list 形式,如果要打印出内容,需要用for来迭代
print(content)

七、class类

1.基本用用法:class 定义一个类, 后面的类别首字母推荐以大写的形式定义,比如Calculatorclass可以先定义自己的属性,比如该属性的名称可以写为 name='Good Calculator'class后面还可以跟def, 定义一个函数。

class Calculator:       #首字母要大写,冒号不能缺
    name='Good Calculator'  #该行为class的属性
    price=18
    def add(self,x,y):   #注意这里的self 是默认值
        print(self.name)
        result = x + y
        print(result)
    def minus(self,x,y):
        result=x-y
        print(result)
    def times(self,x,y):
        print(x*y)
    def divide(self,x,y):
        print(x/y)

2.类的初始化:init可以理解成初始化class的变量.

class Calculator:
    name='good calculator'
    price=18
    def __init__(self,name,price,height,width,weight):   # 注意,这里的下划线是双下划线
        self.name=name
        self.price=price
        self.h=height
        self.wi=width
        self.we=weight

八、input输入

1.variable=input() 表示运行后,可以在屏幕中输入一个数字,该数字会赋值给自变量,从屏幕获得的值默认为字符串。

a_input=input('please input a number:')

九、元组、列表、字典

1.tulpe:用小括号、或者无括号来表述,是一连串有顺序的数字,元素可以一个一个地被迭代、输出、运用、定位取值。元素的值不能被改变。
2.list:是以中括号来命名的,元素可以一个一个地被迭代、输出、运用、定位取值。元素的值可以被改变。用append()在末尾添加元素,insert()在指定的位置添加元素,remove()删除某个元素,count()计算某个元素出现的次数,sort()排序。
3.字典:有key和 value两种元素,每一个key对应一个value。

a_tuple = (12, 3, 5, 15 , 6)
another_tuple = 12, 3, 5, 15 , 6
a_list = [12, 3, 67, 7, 82]
d1 = {'apple':1, 'pear':2, 'orange':3}

十、模块

1.import timeimport time 模块。
2.import time as __,__下划线缩写部分可以自己定义。
3.from time import time,localtime ,只import自己想要的功能。
4.from time import *输入模块的所有功能。

十一、其他补充

1.跳出循环:break & continue
2.错误处理:使用try

try:
    file=open('eeee.txt','r')  #会报错的代码
except Exception as e:  # 将报错存储在 e 中
    print(e)

3.zip函数接受任意多个(包括0个和1个)序列作为参数,合并后返回一个tuple列表。
4.lambda:定义一个简单的函数。fun = lambda x,y : x+y

fun= lambda x,y:x+y
x=int(input('x='))    #这里要定义int整数,否则会默认为字符串
y=int(input('y='))
print(fun(x,y))

5.map:是把函数和参数绑定在一起。

def fun(x,y):
    return (x+y)
a=list(map(fun,[1,2],[3,4]))

6.copy.copy & copy.deepcopy 浅复制 & 深复制:当使用浅拷贝时,python只是拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已;deepcopy对外围和内部元素都进行了拷贝对象本身,而不是对象的引用。
7.多线程
8.多进程
9.tkinter窗口
10.pickle 是一个 python 中, 压缩/保存/提取 文件的模块。

import pickle

a_dict = {'da': 111, 2: [23,1,4], '23': {1:2,'d':'sad'}}

# pickle a variable to a file
file = open('pickle_example.pickle', 'wb')
pickle.dump(a_dict, file)  #保存a_dict的内容到file里面
file.close()

# reload a file to a variable
with open('pickle_example.pickle', 'rb') as file:
    a_dict1 =pickle.load(file)  #提取用pickle保存的文件的内容

print(a_dict1)

11.集合set:最主要的功能就是寻找一个句子或者一个 list 当中不同的元素。
12.正则表达式

你可能感兴趣的:(python基础)