Python入门

Python字符串

Python中的字符串、向量、矩阵、列表或其他多元素对象的下标是从0开始。 从右到左,索引从-1开始,取-1,-2,-3等,以此类推。

 'Hello'[0]; 'Hello'[1] ; 'Hello'[0:2] ; 'Hello'[2:] 
 'Hello'[-1]; 'Hello'[0:-2]; 'Hello'[:-1]; 'Hello'[:] 

用in/not in检验一个字符串是否整体包含在另一个字符串中。

 'Tom' in 'Tom and Jerry'
 'Spike' in 'Tom and Jerry'

对于字符串而言,我们可以使用字符串方法。字符串方法,本质上就是操作字符串的函数。这些方法通过在字符串后面放置一个点,然后调用该函数来调用。

'loud'.upper()#全部大写
'statistics'.capitalize()#首字母大写
'statistics'.center(12)
'S'.center(13) #将字符串居中,并使用空格将位数补齐到指定长度。

Python赋值语句

变量名必须要用字母开头,可以包含字母和数字,并且区分大小写。

名称不能包含空格,通常使用下划线_来替换每个空格;

变量名不能用数字开头或者包含空格(可以试试 1var = 2 或者 var 1 = 2 看是否报错) 。

Python可以给出中文变量名。

math与cmath模块函数调用

数学运算常用的函数基本都在math模块中。Python math模块提供了许多针对浮点数的数学运算函数。要使用math函数必须先导入。

import math 
math.e
math.pi
math.sin(1)
函数 描述
acos(x) 返回x的反余弦弧度值.
asin(x) 返回x的反正弦弧度值.
atan(x) 返回x的反正切弧度值.
cos(x) 返回x的弧度的余弦值.
hypot(x,y) 返回欧几里得范数sqrt(x*x+y*y)
sin(x) 返回x的弧度的正弦值.
tan(x) 返回x的弧度的正切值.
degree(x) 将弧度转换为角度,如degees(math.pi/2),返回90.0
radians(x) 将角度转换为弧度.
ceil(x) 返回数字的上入整数,如math.ceil(4.1)返回5
exp(x) 返回e的x次幂,如math.exp(1)返回2.718281828459045
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回4
log(x) 如math.log(math.e)返回1.0,math。log(100,10)返回2.0
pow(x,y) 返回x**y运算后的值
round(x[,n]) 返回x的四舍五入值,n代表小数点后的位数
sqrt(x) 返回x的平方根

Python cmath 模块包含了一些用于复数运算的函数,也在数学运算中经常调用。

import cmath
cmath.sqrt(-1)
cmath.sqrt(9)
cmath.sin(1)
cmath.log10(100)
help(math.log)

random模块函数调用

随机数的生成

import random
random.seed(2024) 
random.choice(range(10)) # 从0到9的序列中随机选择一个元素
random.randrange(10, 100, 2) # 在指定范围内(10到100之间,不包括100)返回一个偶数
random.randint(0,1) # 返回一个在指定范围内(0到1之间,包括0和1)的整数

集合运算

x=set(['we','you','he','I','they']);y=set(['I','we','us'])
x.add('all');print (x,type(x),len(x))#添加元素
set.add(x,'none');print (x)
print ('set.difference(x,y)=', set.difference(x,y))#x-y
print ('set.union(x,y)=',set.union(x,y))#并
print ('set.intersection(x,y)=',set.intersection(x,y))#交
x.remove('none');  print ('x=',x,'\n','y=', y)#移除元素

列表

列表是Python中非常基本的数据结构,支持字符、数字、字符串、列表 (即嵌套)。

列表的数据项不需要具有相同的类型。列表用 [ ] 标识。

列表是一种有序的集合,可以随时添加和删除其中的元素。

列表中每个元素都分配一个索引,第一个索引是0,第二个索引是1,以此类推。

切割列表中的值时,用[头下标:尾下标]。当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,最后一个元素的索引是len(list)-1。

 mylist=['LEE',123,3.1,'LILY']
tinylist = [ 123, '321']
comblist=mylist+tinylist
#[['LEE', 123, 3.1, 'LILY'], [123, '123']]
newlist=[mylist, tinylist] 
#['LEE', 123, 3.1, 'LILY', 123, '123']
append,extend

append(object)是将一个对象作为一个整体添加到列表中,添加后的列表比原列表多一个元素,该函数的参数可以是任何类型的对象。

extend(iterable)是将一个可迭代对象中的每个元素逐个地添加到列表中,可迭代对象中有几个元素,添加后的列表就比原列表多几个元素。

x=[[1,2],[3,5,7],'Oscar Wilde']
y=['save','the world']
x.append(y);print(x)
x.extend(y);print(x)
pop, remove和del

pop(index)是按索引号来删除列表中对应的元素,并返回该元素,该函数的参数是索引号,也可以是空的,即pop(), 这时将最后一个元素删除。

remove(value)是根据参数value在列表中查找,若找到某个元素的值和参数相等,则将该元素删除,若没有找到,则抛出异常,该函数的参数不能为空。

del也可以删除列表中的元素或整个列表。 pop和del是比较接近,都是按照索引删除字符,但pop的返回值可以赋值给其他的变量,返回的是删除的那个数值。

x=[[1,2],[3,5,7],'Oscar Wilde']
x.pop();print(x)
x.pop(2);print(x)
x=[0,1,4,23]
x.remove(4);print(x)
del x[0];print (x, type(x))
del x; print(x)

元组

元组也是Python中经常使用的数据类型。

元组用圆括号()标识,列表用方括号[]标识。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

元组是一种有序的集合,和列表非常类似,但是元组一旦初始化就不能修改。因此,元组没有append()这样的方法。其他获取元素的方法和列表是一样的,但不能赋值成另外的元素。

x = (0,12,345,67,8,9,'we','they')
print (type(x),x[-4:-1])
ten = (10)
type(ten)#定义的并不是tuple,而是10这个数字!
ten=(10,)
type(ten)

圆括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义。 因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是10。只有一个元素的tuple定义时必须加一个逗号,来消除歧义,以免误解成数学计算意义上的小括号。

字典(dictionary)

字典是一种非常灵活的可变容器模型,可存储任意类型对象。

字典和列表或元组至少有两个区别: 一是列表或元组是有序的对象集合,字典是无序的对象集合。 二是字典当中的元素是通过键而不是位置来提取的。字典用花括号 {} 识别。

 字典由索引(key)和它对应的值value 组成。每个键与对应的值对用冒号分割,每个键值对之间用逗号分割,整个字典包括在花括号 {} 中。

标准格式如下:d = key1:value1, key2:value2。

键一般是唯一的,如果重复定义键,最后出现的键的值会自动替换前面的。值不需要唯一。

data = {'age': 34, 'Children' : [1,2], 1: 'apple','zip': 'NA'}
print (type(data))
print ('age=',data['age'])#获取键值
data['age'] = '99'
data['name'] = 'abc'#添加元素
print (data)

元组的一级元素不可被修改增加删除,但是可以修改二级后的列表或者字典。

dict={'统计学':['数理统计','应用统计'],'数学':['应用数学','基础数学’]} 
dict['数学’] 
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["v2", "v3"]}, 44]) 
tu [1][2][ "k2"].append("v4")
tu [1][2][ "k2"] 

数组(array)

数组的概念与线性代数中的向量比较接近。但是,数组可以包含字符串。 数组也可以包含其他类型的数值数据,但是单个数组只能包含单一类型的数据。这是和之前提到的列表、元组不一样的地方。

自定义函数以及帮助文档

def square(a):    
           """Return the square of a."""   # documentation    
           return a**2
square?

square??

帮助文档与Tab自动补全

L=[1, 2, 3]
L.copy?
L.copy??
L.

你可能感兴趣的:(python,numpy,开发语言)