Python学习之路
一、Python基础语法
- 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 |
- 注释
Python中
单行注释用 # 开头
多行注释可用多个#或者用 ’ ’ ’ 和” ” ”
- 数字(Number)类型
Python中数字有四种类型:
整数(int)、布尔值(bool)、浮点数(float) 和 复数(complex)
int(整数):通常被称为整数,是正或负整数,不带小数点
bool(布尔):True 和 False(通常情况下,True = 1,False = 0)
float(浮点数):如1.66等
complex(复数):如2+2j、1.1+2.2j等
- Print输出
print默认输出是换行的,如果要实现不换行需要在变量末尾加上end=""
- import模块
模块有三种----内置模块、开源模块(公开的第三方模块)、自定义模块
import引入math库
- import math
- from-import<函数名>
- import <包> as <命名 >
二、Python的基本数据类型
- 数字(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
- 字符串(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的意思
- 列表(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() #取下标索引
- 元组(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) #将列表换成元组
- 集合(Set)- - 使用大括号{}或者set()函数创建集合
注意:创建一个空集合必须用set()而不是{},因为{}是用来创建一个空字典
基本功能:是进行成员关系测试和删除重复元素
与列表和元组不同,但和字典类似,是无序不能切片、索引、重复,但支持迭代。
- 集合是多个元素的无序组合
- 集合类型与数学中的集合概念一致
- 集合元素之间无序,每个元素唯一,不存在相同的元素
- 集合元素不可更改,不能是可变数据类型
集合有四种基础运算方法,并,交,差,补
Ø S|T 并运算,返回一个新集合,包含在集合S和T中的所有元素
Ø S&T 交运算,返回一个新集合,包含既在S中又在T中的集合
Ø S-T 差运算,返回一个新的集合,包含在集合S中但是不在集合T中的元素
Ø S^T 补运算,返回一个新集合,包含集合S和T中的不相同元素
- 字典(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
三、条件语句和循环语句
- if语句
if-else语句
if-elif-else语句
if嵌套
- for循环和while循环
thon中for循环和while循环本质上是没有区别的,但是在实际应用上,针对性不太一样。
For循环:
for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的一般格式如下:
for <循环变量> in <遍历结构> :
<语句块>
从遍历结构中逐一提取元素,放在循环变量中
While循环:与for循环类似
-
range():遍历数字序列
-
break和continue的区别
break:终止循环
continue:结束当前一次循环,继续执行后续次数循环
- pass:跳过这次循环
四、函数
形参:位于def语句中函数名后面的变量
实参:为调用函数时提供的值
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None
-
函数调用- - 四个步骤
(1)、调用程序在调用处暂停执行;
(2)、在调用时将实参复制给函数的形参;
(3)、执行函数体语句;
(4)、函数调用结束给出返回值,程序回到调用前的暂停处继续执行。 -
参数传递
-
匿名函数
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()- - 判断一个对象是否是一个已知的类型,
来源:CSDN
作者:猪猪女孩girl
链接:https://blog.csdn.net/weixin_45971358/article/details/103655770