Python学习(基础)

一、介绍

Python语法很多来自C,但又受到ABC语言的强烈影响。来自ABC语言的一些规定直到今天还富有争议,比如强制缩进。但这些语法规定让Python容易读。

解释型语言:开发过程中没有了编译这个环节,和C的shell类似
交互式语言:可以在一个Python提示符,直接互动执行写你的程序
面向对象语言:支持面向对象的风格或代码封装在对象的编程技术
初学者的语言::对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发

 特点:简单易学、丰富的库、快速开发、免费开源、可移植性、解释性语言、可扩展

二、 基础语法

标准输出:

print(*values,sep=' ', end='\n', file=sys.stdout,flush=False)

 values:表示要打印的值,各个值之间用逗号隔开

sep:表示当输入多个打印的值时,各个值之间分割方式,默认空格间隔,可自定义

end:控制print中传入值输出的结束符号,默认换行,可自定义

file:设置输出对象,把print中的数据打印到什么地方,默认为终端,可自定义

flush:该参数主要是刷新,默认False,关闭再刷新,Ture为实时刷新

标准输入:

a = input()

括号内可写字符串来提示用户输入

变量赋值:

a = 1; a = b = 1; a, b = 'a', 2

先为赋值数据开空间,再给空间取别名(变量名),及当赋值数据相同时,被赋值的变量地址相同

标准类型:

numbers(数字):整型,浮点,复数类型

string/bytes(字符串):文本字符串,字节字符串

list(列表):使用[]标识

tuple(元组):类似列表,使用()标识,只读

dictionary(字典):使用{}标识,key:value键值对

不可变类型(数字、字符串、元组):不支持原处修改

可变类型(列表、字典):可以通过操作原处修改,而不用创建新的对象

数字类型转换:

int(a)/float(a):转为int/float类型

complex(a) :复数转换,实数为a,虚数为0

complex(a, b) :实数为a,虚数为b

数学函数:

abs(a):返回数字绝对值,返回任意类型

math.ceil(a):向上取整

math.exp(a):e的a次幂,返回浮点类型

math.fabs(a):返回数字绝对值,返回浮点类型

math.floor(a):向下取整

math.log(a,b):b为底数,返回浮点类型

math.log10(a):10为底数

math.max(a,b,c,...)/math.min(a,b,c,...):取最大/小值,参数可为序列

math.modf(a):返回x整数和小数,整数以浮点类型表示

math.pow(a,b):a的b次方

math.round(a[,n]):a的四舍五入,给定n表示小数后的位数

math.sqrt(a):a的平方根

随机数函数:

random.choice(seq):从seq序列中选一个元素

random.randrange([a, ]b[, c]):a为数字起始,b为结尾(不包括b),c为步长

random.random():生成浮点数,范围(0, 1)

random.seed():改变随机数生成器的种子

random.shuffle(list):将序列所以元素随机排序

random.uniform(a, b):生成浮点数,范围(a, b)

random.randint(a, b):生成整数,范围(a, b)

字符串:

str = "hello word":文本字符串

str = b"hello word":字节字符串

str, str[0:2], str[2:], str[:2], str[1:-1], str[::2], str+"!!!", str*2

len(str):返回str字符串的

str.find("xxx"):在字符串str中查找"xxx",找到返回找到的"xxx"的起始索引,没有返回-1

str.index("xxx"):与find相似,没找到会抛出异常

str.count("xxx"):返回"xxx"在字符串str中出现的次数

str.replace("xxx","xx"):将字符串str中的"xxx"替换为"xx"

str.encode(encoding="xxx", errors="xx"):将"xx"类型字符串转换为"xxx"类型的字符串,"xxx"默认为"utf-8"(字节字符串),"xx"默认为"strict"(文本字符串)

str.decode(encoding="xxx", errors="xx"):将"xxx"类型的字符串转换为"xx"字符串

列表:

list1 = [1, 2, "hello", [1, 2]]

list2 = [1, 2, list1]

list3 = [4, 6, 2, 1, 8]

list4 = [('c', 1), ('b', 4), ('d', 8), ('a', 2)]

list2[2][2][2]:访问到list2中的list1中的"hello"中的"l"

list1.append(1):追加"1"

list1.insert(1,2):在list1的下标"1"的位置插入"2"

list3.sort()/sorted(list3):将list3升序排序(列表内容必须为可比较的)

list4.sort(key=lambda x : x[0])/sorted(list4, key=lambda x : x[0]):设置key值以排序

元组与list用法一样(无增删改查函数),使用"()",但其内部元素不可变(元素为可变类型时,该元素内部数据可更改)

字典:

{key:value, key2:value2, ...}:key只能是数字或字符串,value能是任意类型

函数:

def 函数名(形参列表):

        函数体

        返回值

形参列表与C/C++相似,形参类型在函数调用时决定(传递的实参类型)

返回值可为任意类型,可返回多个数据

map(fun,[i for i in range(10)]):map函数将第二参数作为第一参数(函数)的输入,返回保存结果的地址

函数体内使用全局变量时使用"global"关键字声明

匿名函数(lambda):

lambda 形参1, 形参2, ...:返回值

lambda表达式不能返回多个值

列表推导式:

list1 = [i for i in range(1, 11)] —>[1, 2, 3, 4, ..., 10]

list1 = [i for i in range(1,11) if j % 2 == 0]

你可能感兴趣的:(学习,python)