Python学习之路

爷,独闯天下 提交于 2019-12-23 02:23:17

Python学习之路

一、Python基础语法

  1. Python关键字(保留字)
False if break assert from lambda try
True elif continue class global is with
None else as except import not yield
and del return finally in pass
or def while for nonlocal raise
  1. 注释

Python中
单行注释用 # 开头
多行注释可用多个#或者用 ’ ’ ’ 和” ” ”

  1. 数字(Number)类型

Python中数字有四种类型:
整数(int)、布尔值(bool)、浮点数(float) 和 复数(complex)

int(整数):通常被称为整数,是正或负整数,不带小数点
bool(布尔):True 和 False(通常情况下,True = 1,False = 0)
float(浮点数):如1.66等
complex(复数):如2+2j、1.1+2.2j等

  1. Print输出

print默认输出是换行的,如果要实现不换行需要在变量末尾加上end=""

  1. import模块

模块有三种----内置模块、开源模块(公开的第三方模块)、自定义模块

import引入math库

  • import math
  • from-import<函数名>
  • import <包> as <命名 >

二、Python的基本数据类型

  1. 数字(Number)
  • (1)整数- - int()函数
    含义:将字符串数据类型转换成int类型
    注意 :字符串内的内容只能是数字
    例如:
>>>a = '123'
>>>int(a)
123

在这里插入图片描述在这里插入图片描述> 根据例题可以清楚明白int的用法

  • (2)浮点数- -Float()函数
    含义:将数字和字符串转换成浮点数
    e.g.
float(1)    #整数
>>1.0
float(-123) #整数
>>-123
float('123')#字符串
>>123.0
float(12.3) #小数
>>12.3
  • (3)复数- - Complex()函数- - (real + imag)
    含义:该函数用于创建一个复数或者将一个***数***或***字符串***转换为复数形式,其返回值为一个复数。

复数由实数部分和虚数部分构成,
可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型


>>>a = 5.0+o.66j
>>>print(a)
(5+0.66j)
>>>print(a.real)          #输出a的实部
5.0
>>>print(a.imag)          #输出a的虚部
0.66
>>>print(a.conjugate())   #输出a的共轭复数
(5-0.66j)

另外是使用complex()函数的例子
Ps:在输入复数时每一个元素之间不需要空格,否则执行不出来
例如:

>>>1+1j
(1+1j)
>>>complex(1)   #默认为实部
(1+0j)
>>>complex(1,2) #(real,imag)
(1+2j)
>>>complex('1') #可以采用字符串
(1+0j)
>>>complex('1 + 2j')  #每个元素之间不能有空格,否则报错
Traceback (most recent call last):
  File "<pyshell#26>", line 1, in <module>
    complex('1 + 2j')
ValueError: complex() arg is a malformed string
>>>complex('1+2j')
(1+2j)
  • (5)布尔值- - bool()函数
    含义:简单解释就是用来判断一个表达式是否正确

一个布尔值只有True、False两种值,其分别对应与二进制的0和1。
而对于真(True)的值太多,而我们只需要记住假(False)的值。
即None、””、{}、[]、( )、0这些结果都是False。
温馨提示:空值是python里一个特殊的值,用None表示。
None不能理解为0,因为0是有意义的,而None是一个特殊的值,表示空。

与或非(and、or、not):
and:如果a为True,输出b反之输出a
or:如果a为True,输出a反之输出b
not:若a为True则输出False

  1. 字符串(String)

分割字符串
就是使用split()方法把字符串分割成列表
语法格式:str .split (sep , maxsplit)
Sep:用于指定分隔符,可以包含多个字符,默认为None,即所有空字符(包括空格、换行”n”等)
Maxsplit:可选参数,用于指定分割的次数,如果不指定或者为-1,则分割次数没有限制,否则返回结果列表的元素个数

与字符串相关的函数
str.upper()—全部字符变大写、str.lower()—全部字符变小写
str.split(sep)—根据sep被分隔的组成部分
str.join(iter)—在iter变量中除最后一个元素外每个元素后增加一个str
e.g. “,”.join(“1234”)→”1,2,3,4”
str.replace(old,new)—所有old被new替换、
str.center(width,<选择符号>)—根据宽度width居中,其余用符号填充
len(x)—返回序列x的长度
凯撒密码—选择对应字符即可
str.strip(a)—从str中去掉出现的a
str.rstrip(a)—删除str左侧出现的a的意思

  1. 列表(List)- - 用[ ]方括号,元素之间用逗号隔开

与字符串一样,可以被索引和切片
与字符串不一样,列表的元素之间可以改变

append(x)—在列表最后增加一个元素x
is.insert(i,x)—在列表is的第i位置增加元素x
is.remove(x)—将列表is中出现的第一个元素x删除
is.reserve()—将列表is中的元素倒序
is.copy()生成一个新列表,赋值is中所有元素。
is.pop(i)—将列表is中第i位置元素取出并删除该元素
is.clear()—删除列表is中所有元素
del is[i:j:k]—删除从i到j-1以k为步长的列表中的元素
pop()函数—移除列表中的一个元素(默认最后一个元素)
排序:
从大到小排序:a.sort(reverse=True)
从小到大排序:a.sort()
len(a) #返回列表a的长度
list.index() #取下标索引

  1. 元组(Tuple)- - 用()小括号,元素之间用逗号隔开

与列表类似,不同之处在于元组的元素之间不能修改,但可被索引和切片

  • 元组的运算符
Python表达式 结果 描述
len((1,2,3)) 3 计算元素个数
(1,2,3)+(4,5,6) (1,2,3,4,5,6) 连接
(‘Hi!’,)*4 (‘Hi!’,‘Hi!’,‘Hi!’,‘Hi!’) 复制
3 in(1,2,3) True 元素是否存在
for x in (1,2,3):print(x,) 1 2 3 迭代
  • 元组的内置函数

len(tuple) #计算元组元素个数
max(tuple) #返回元组中元素最大值
min(tuple) #返回元组中元素最小值
tuple(seq) #将列表换成元组

  1. 集合(Set)- - 使用大括号{}或者set()函数创建集合

注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典
基本功能:是进行成员关系测试和删除重复元素
与列表和元组不同,但和字典类似,是无序不能切片、索引、重复,但支持迭代。

  • 集合是多个元素的无序组合
  • 集合类型与数学中的集合概念一致
  • 集合元素之间无序,每个元素唯一,不存在相同的元素
  • 集合元素不可更改,不能是可变数据类型

集合有四种基础运算方法,并,交,差,补
Ø S|T 并运算,返回一个新集合,包含在集合S和T中的所有元素
Ø S&T 交运算,返回一个新集合,包含既在S中又在T中的集合
Ø S-T 差运算,返回一个新的集合,包含在集合S中但是不在集合T中的元素
Ø S^T 补运算,返回一个新集合,包含集合S和T中的不相同元素

  1. 字典(Dictionary)- - {key:value}元素是键值对.

键是唯一的,但值可以不唯一。值可以用任何数据类型但键必须是不可变的(可以是数字,字符串,元组来表示)
d.items()—返回字典d中所有的键值对信息
d.keys()—返回字典d中所有的键信息
d.value()—返回字典d中所有的值的信息
d.get(k,<自定义一个元素>)—如果键k存在,则返回相应值,若不存在则返回自定义元素
d.pop(k,<自定义一个元素>)用法很重要—删除给定的key以及对应的值,返回值为被删除的值,若不存在,则返回自定义的一个元素。
d.popitem()—随机从字典d中取出一个键值对,以元组形式返回
d.clear()—删除所有键值对

综上可知:
不可变数据(3个):int、string、tuple
可变数据(3个):list、dictionary、set

三、条件语句和循环语句

  1. if语句

if-else语句
if-elif-else语句
if嵌套

  1. for循环和while循环

thon中for循环和while循环本质上是没有区别的,但是在实际应用上,针对性不太一样。
For循环:
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的一般格式如下:
for <循环变量> in <遍历结构> :
<语句块>
从遍历结构中逐一提取元素,放在循环变量中
While循环:与for循环类似

  1. range():遍历数字序列

  2. break和continue的区别

break:终止循环
continue:结束当前一次循环,继续执行后续次数循环

  1. pass:跳过这次循环

四、函数

形参:位于def语句中函数名后面的变量
实参:为调用函数时提供的值
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None

  1. 函数调用- - 四个步骤
    (1)、调用程序在调用处暂停执行;
    (2)、在调用时将实参复制给函数的形参;
    (3)、执行函数体语句;
    (4)、函数调用结束给出返回值,程序回到调用前的暂停处继续执行。

  2. 参数传递

  3. 匿名函数

python 使用 lambda 来创建匿名函数。
所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。
lambda 只是一个表达式,函数体比 def 简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。

4.读取文件

f = op
en(filename,mode)
Mode:
Mode:
(1)、’r’(仅读取文件)
(2)、‘w’(仅写入文件,并将删除原有的文件)
(3)、’r+‘(用于打开并读写)
(4)、’w+’(用于读写模式,同时也会删除原有内容)
(5)、‘a+’(用于追加模式,若不存在此文件,则会新建新的文件)

read()—读取全部内容
readline()—每次读取一行内容
readlines()—一次读取所有内容并返回list
with open(name,mode) as <>:
f.write(str)—把str写到文件中,write()不会在后面加上一个换行符
f.writelines()—将文件内所有内容写入
f.tell()—返回文件标记的步长

五、其他函数知识

  • round()函数

Round(数字,保留的位数)
round(x,d)—四舍五入、d是保留的小数位数,默认值为0
e.g.–round(2.333,2)→2.33、round(2.5)→2、round(3.5)→4(注意如果round()里面的数字是x.5的话,得出的结果一定要偶数)

  • pow()函数

pow()函数—含义:返回x的y次方的值----pow( x , y )
pow()—pow(x,y,z)(x**y%z),z可省略
e.g.–pow(3,2)→9、pow(3,2,2)→1

  • random

random()—随机数生成(import random)、randint(a,b)—随机生成在[a,b]之间的整数

切片
S[i:j]和s[i:j:k]之间的意思—返回s中第i到j-1以k为步长的元素序列,切片

  • 字符串格式化

模板:“:”+<填充>+<对齐>+<宽度>+<,>(数字千位分隔符)+<.精度>+<类型(整数/浮点数)><模板字符串>.format(<逗号分隔参数>)
<(左对齐)、>(右对齐)、^(居中对齐)
b(二进制)、
x(十六进制-0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F)、
o(八进制)#+b/x/o→0b/0x/0o

isdigit()—判断是否为数字
index()—index(x)/index(x,i,j):返回序列x从i开始到j-1元素中第一次出现的元素x的位置
count(x)—返回序列x中出现x的次数
isinstance()- - 判断一个对象是否是一个已知的类型,

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!