0
点赞
收藏
分享

微信扫一扫

Python浅显知识(学习笔记1)

爱奔跑的读书者 2022-01-20 阅读 89

目录

1认识Python

1.1 Python的特点

1.2动手编写Hello World

1.2.1交互方式

1.2.2文件方式

2基础语法

 2.1标识符

 2.2关键字

2.3变量

2.4语句

 2.5代码注释

 2.6模块

3数字类型的数据

 3.1Python中的数据类型

3.2整数类型

 3.4复数类型

 3.5布尔类型

 3.6数字类型的相互转换

3.6.1隐式类型的转换

3.6.2显式类型的转换

 4运算符

4.1算数运算符 

 4.2比较运算符

4.3逻辑运算符

 4.4位运算符

4.5赋值运算符

 4.6运算符的优先级

5程序流程控制

 5.1分支语句

 5.1.1 if结构

 5.1.2 if-else结构

5.1.3 if-elif-else结构

5.2循环语句

5.2.1while语句 

5.2.2 for语句

5.3跳转语句

5.3.1 break语句

5.3.2 continue语句

5.4 计算水仙花数

6容器类型的数据

6.1  序列

 6.1.1序列的索引操作

 6.1.2加和乘操作

 6.1.3切片操作

 6.1.4成员测试

 6.2列表

6.2.1创建列表

6.2.2追加元素 

6.2.3插入元素 

6.2.4替换元素 

 6.2.5删除元素

 6.3元组

6.3.1创建元组

 6.3.2 元组拆包

 6.4集合

6.4.1创建集合 

 6.4.2修改集合

6.5 字典 

6.5.1 创建字典

6.5.2 修改字典

 6.5.3访问字典视图

 6.6遍历字典


1认识Python

1.1 Python的特点

1.简单、易学、免费、开源

2.解释型:Python是边解释边执行的

3.可移植

4.代码规范:Python采用强制缩进的方式

5.面向对象

6.胶水语言:标准版本的的Python调用C语言,并可以借助C语言的借口驱动调用所有的编程语言。

7.丰富的库:Python的标准库种类繁多,可以帮助处理各种工作

8.动态类型:声明变量时不需要指定数据类型

1.2动手编写Hello World

编写和运行Python有两种方式:1.交互方式;2.文件方式

1.2.1交互方式

Python安装包提供了交互运行工具——Python Shell,可以直接使用。

print("Hello World!")

如下图所示:

print()是输出函数,输出字符串Hello World!

1.2.2文件方式

 这里使用的集成开发环境是PyCharm。

2基础语法

 2.1标识符

        表示符就是变量、函数、属性、类、模块等可以由程序员指定名称的代码元素。构成标识符的字符均遵循一定的命名规则。Python3的字符采用了双字节Unicode编码(Unicode是国际组织指定的可以容纳世界上所有文字和符号的字符编码方案)。

        Python中标识符的命名规则如下:

        1.区分大小写

        2.首字符可以是下划线或者字母,但不能是数字。

        3.除首字符外的其他字符必须是下划线、字母和数字

        4.关键字不能作为标识符

        5.不要使用Python的内置函数作为标识符

 2.2关键字

         关键字是由语言本身定义好的有特殊含义的代码元素。Python只有三十三个关键字。

FalsedefifraiseNonedelimportreturnTure
elifintryandelseiswhileasexcept
lambdawithassertfinallynonlocalyieldbreakfornot
classfromorcontinueglobalpass

2.3变量

         当你为一个变量赋值的时候,你也就声明了此变量。

        同时,Python允许将不同类型的数据赋给同一个变量,使Python简单的同时,也可能会带来严重的Bug。

2.4语句

        Python代码由关键字、标识符、表达式和语句三部分构成,语句是代码的重要组成部分。

一般情况下,一行代表一条语句,在结尾的时候我们不需要加分号,这一点和C/C++有所不同。

 

 2.5代码注释

         对于程序员来说,代码注释的重要性不言而喻。我们同样可以在Python中实现代码注释,使用 # 来注释。如:

 还有一点注意的,在第一行输入 #coding = utf-8 ,意为告诉Python解释器该文件的编码集是UTF-8。

 2.6模块

         在Python中,一个模块就是一个文件,模块是保存代码的最小单位,在模块中可以声明变量、函数、属性和类等Python代码元素。

        一个模块可以访问另一个模块,通常采用如下方式。

import<模块名>

        一般来说有三种形式:

第一种形式:

 

 

 第二种形式:

第三种形式:

 

 

         如果想导入所有内容,则使用 import语句;如果导入一个元素,则使用from import语句;如果名称有冲突,则使用from import as。

3数字类型的数据

 3.1Python中的数据类型

         Python有六种主要的内置数据类型:数字、字符串、列表、元祖、集合和字典。列表、元祖、集合和字典可以容纳多项数据,我们可以将其称为容器类型的数据。

        数字类型有四种:整数类型、浮点类型、负数类型和布尔类型。

3.2整数类型

 type()函数返回数据类型,二进制表示方式(以0b或0B开头),八进制表示方式(以0o或者0O开头),十六进制表示方式(以0x或者0X开头)。

3.3浮点类型

        浮点类型主要用来储存小数数值,Python的浮点类型为float类。Python只支持双精度浮点类型,而且是与电脑相关的。

 3.4复数类型

         许多编程原因都不支持复数,而Python则支持复数。

 3.5布尔类型

        bool是int的子类,他只有两个值:Ture和False。

 3.6数字类型的相互转换

         在Python的数字类型中,除了复数外,其他三种数字类型如整数、浮点数和布尔都可以相互转换,分为隐式类型和显式类型的转换。

3.6.1隐式类型的转换

        数字之间可以进行数学计算,在进行数学计算时若数字类型不同,则会发生隐式类型的转换。

操作数1的类型操作数2的类型转换后的类型
布尔整数整数
布尔、整数浮点浮点

3.6.2显式类型的转换

         需要用到转换函数,int()、float()、bool()。

 

 4运算符

4.1算数运算符 

        运算符用于组织整数类型和浮点类型的数据,有一元运算符核二元运算符。

运算符名称例子说明
+a+b求a和b的和
-a-b求a与b的差
*a*b求a与b的积
/a/b求a除以b的商
%取余a%b求a除以b的余数
**a**b求a的b次幂
//地板除法a//b求小于a与b的商的最大整数

 

 4.2比较运算符

        比较运算符用于比较两个表达式的大小,其结果是布尔类型的数据,即True或者False。

运算符名称举例说明
==等于a == ba等于b时返回True,否则返回False
!=不等于a!=ba不等于b时返回True,否则返回False
>小于a>ba大于b时返回True,否则返回False
<小于a<ba小于b时返回True,否则返回False
>=大于等于a>=ba大于等于b时返回True,否则返回False
<=小于等于a<=ba小于等于b时返回True,否则返回False

         比较字符串的大小,即逐一比较字符Unicode编码的大小,如果两个字符串的第一个字符不能比较出大小,则比较两个字符串的第二个字符,知直到比较有结果才结束。

4.3逻辑运算符

        逻辑运算符用于对布尔类型变量进行运算,其结果也是布尔类型。

运算符名称举例说明
not逻辑非not aa为Ture时,值为False,a为False时,值为True
and逻辑与a and b

a,b全为True时,计算结果为True,否则为False

or逻辑或a or ba,b全为False时,计算结果为False,否则为True

         “逻辑与”、“逻辑或”采用了短路设计,在计算过程中只要结果确定,则不再计算后面的表达式,从而提高效率。

 4.4位运算符

        位运算符是以二进位为单位进行运算的,操作数和结果都是整数类型的数据。

运算符名称举例说明
~位反~x将x的值按位取反
&位与x&y将x与y按位进行位与运算
|位或x|y将x与y按位进行位或运算
^按异或x^y将x与y按位进行按异或运算
>>右移x>>a将x右移a位,高位采用符号位补位
<<左移x<<a将x左移a位,低位用0补位

 a和b按位或进行或计算,只要有一位为1,这一位就为1,否则为0。

 a和b按位与进行或计算,只有两位都为1,这一位才为1,否则为0。

 a和b按位异或进行或计算,只有两位相反时,这一位才为1,否则为0。

 a位反,加一取负。~a = (a+1)*(-1)

4.5赋值运算符

运算符名称举例说明
+=加赋值a+=b等价于a=a+b
-=减赋值a-=b等价于a=a-b
*=乘赋值a*=b等价于a=a*b
/=除赋值a/=b

等价于a=a/b

%=取余赋值a%=b等价于a=a%b
**=幂赋值a**=b等价于a = a**b
//=地板除法赋值a//=b等价于a =a //b
&=位与赋值a&=b等价于a=a&b
|=位或赋值a|=b等价于a=a|b
^=位异或赋值a^=b等价于a=a^b
<<=左移赋值a<<=b等价于a=a<<b
>>=右移赋值a>>=b等价于a=a>>b

 4.6运算符的优先级

                 一般来说,按照你所感觉的优先级就差不多。在位运算优先级中,优先级从高到低大体是:算数运算符->位运算符->关系运算符->逻辑运算符->赋值运算符

优先级运算符说明
1()小括号
2**
3~位反
4+,-正负号
5*,/,%,//乘、除、取余、地板除
6+,-加,减
7<<,>>位移
8&位与
9^位异或
10|位或
11<,<=,>,>=,<>,!=,==比较
12not逻辑非
13and,or逻辑与,逻辑或

5程序流程控制

 5.1分支语句

         

 5.1.1 if结构

if结构的语法如下:

if 条件:
    语句体

        示例代码如下:

# coding = utf-8

score = int(input("请输入分数:"))

if score >= 85:
    print("优秀!")

if (score < 85) and (score >= 60):
    print("继续努力!")

if score < 60:
    print("加油!")

 5.1.2 if-else结构

         if-else的示例代码如下:

# coding = utf-8

score = int(input("请输入分数:"))

if score >= 60:
    if score >= 85:
        print("Great!")
    else:
        print("Good!")
else:
    print("Come on!")

5.1.3 if-elif-else结构

         示例代码如下:

# coding = utf-8

score = int(input("请输入分数:"))

if score >= 90:
    print("Nice!")
elif score >= 80:
    print("Great!")
elif score >=70:
    print("Good!")
elif score >= 60:
    print("Normal!")
else:
    print("Come on!")

5.2循环语句

        Python支持两种循环语句:while和for。

5.2.1while语句 

         先判断循环条件,再决定是否要执行循环体。

while 循环条件:
    循环体语句组
[else:
    语句组]

        else子语句是在循环体正常结束时才执行的语句,当循环体被中断时不执行,当遇到break、retrun和有异常发生时都会中断循环。

        示例代码:

# coding = utf-8

i = 0

while i * i < 10:
    i += 1
    print(str(i) + ' * ' + str(i) + ' = ',i * i)
else:
    print("While over!")
# coding = utf-8

i = 0

while i * i < 10:
    i += 1
    if i == 3:
        break
    print(str(i) + ' * ' + str(i) + ' = ',i * i)
else:
    print("While over!")

5.2.2 for语句

         基于Python简单的设计理念,在Python中只有一种for语句,即 for-in 语句,可以遍历任意可迭代对象中的元素。

        for语句的一般格式如下:

for 变量 in 可迭代对象:
    循环体语句组
[else:
    语句组]

        示例代码如下:

# coding = utf-8

print("---字符串---")
for item in 'Hello':
    print(item)

# 声明整数列表
numbers = [43, 32, 55, 74]
print("----整数列表----")
for item in numbers:
    print(item)

        注:可迭代对象包括字符串、列表、元组、集合和字典等。

        关于else子语句,示例代码:

# coding = utf-8

print("---字符串---")
for item in 'Hello':
    print(item)
else:
    print("!")
# coding = utf-8

print("---字符串---")
for item in 'Hello':
    if item == 'l':
        break
    print(item)
else:
    print("!")

5.3跳转语句

        跳转语句可以改变程序的执行顺序,包括break、continue和return。break和continue用于循环体中,而return用于函数中。 

5.3.1 break语句

        break语句用于强行退出循环体,不再执行循环体中剩余的语句。

# coding = utf-8

for item in range(10):
    if item == 3:
        break
    print(item)

5.3.2 continue语句

        continue 语句用于结束本次循环,跳过循环体中尚未执行的语句 ,接着进行终止条件的判断,以决定是否继续循环。

# coding = utf-8

for item in range(10):
    if item == 3:
        continue
    print(item)

5.4 计算水仙花数

# coding = utf-8

i = 153;
r = 0;
s = 0;
t = 0
while i <= 407:
    r = i // 100
    s = (i - r * 100) // 10
    t = i % 10
    if i == (r ** 3 + s ** 3 + t ** 3):
        print(i)
    i += 1

        计算得水仙花数为四个:

         注意:如果循环体正常结束时会执行else语句,如果发生中断,则不运行else语句。

6容器类型的数据

        Python内置的数据类型和序列(列表、元组等)、集合和字典等可以容纳多项数据,我们称它们为容器类型的数据。

6.1  序列

        序列(sequence)是一种可迭代的、元素有序的容器类型的数据。 包括列表(list)、字符串(str)、元组(tuple)和字节序列(bytes)等。

        

 6.1.1序列的索引操作

         正值索引,第一个元素是0;负值索引,第一个元素是-1。

 6.1.2加和乘操作

        加(+)和乘(*)运算符也可以用于序列中的元素操作。加(+)运算符可以将两个序列连接起来,乘(*)运算符可以将两个序列重复多次。

 

 6.1.3切片操作

        序列的切片(Slicing)就是从序列中切分出小的子序列。

         切片运算符的语法形式为[strat: end: step]。其中,strat 是开始索引, end是结束索引,step是步长 (切片时获取的元素的间隔,可以为正整数,也可以为负整数)。步长省略则默认为1,。

 6.1.4成员测试

        成员测试运算符有两个:in 和 not in,in 用于测试是否包含某一个元素,not in用于测试是否不包含某一个元素。

 

 6.2列表

         列表(list)是一种可变序列类型,我们可以追加、插入、删除和替换列表中的元素。

6.2.1创建列表

        创建列表有两种方法。

        1. list(iterable)函数:参数 iterable是可迭代对象(字符串、列表、元组、集合和字典等)

        2. [元素1 ,元素2,元素3,…]:指定具体的列表元素,元素之间以逗号分隔,列表元素需要使用中括号括起来。

6.2.2追加元素 

         列表是可以进行改变的序列对象,可以对其追加元素。

        1. 在列表中追加单个元素时,可以使用列表的append(x)方法。

        2.追加多个元素时,可以用加(+)运算符或者列表的extend(t)方法。

        在Python中方法和函数是有区别的,方法隶属于类,通过类或对象调用方法,例如在list。append(x)中,list是列表对象;函数不隶属于任何类,直接调用即可,例如list(iterable)。

6.2.3插入元素 

        如果想在列表中插入元素,可以使用列表的list.insert(i,x)方法,其中,指定索引位置,x是要插入的元素。

6.2.4替换元素 

         直接使用赋值符号替换。

 6.2.5删除元素

        可以使用列表的list。remove(x)方法。

 

 6.3元组

         元组是一种不可变序列类型。

6.3.1创建元组

         创建元组的方法。

        1.tuple(iterable)函数:参数iteral是可迭代对象(字符串、列表、元组、集合和字典等)。

        2、(元素1,元素2,元素3,……):指定具体的元组元素,元素之间以逗号分隔。杜宇元组元素,可以使用小括号括起来,也可以省略小括号。

 6.3.2 元组拆包

        创建元组,并将多个数据放到元组中,这个过程被称为元组打包。

        元组打包相反的操作是拆包,就是将元组中的元素取出,分别赋给不同的变量。

 6.4集合

        集合(set)是一种可迭代的、无序的、不能包含重复元素的容器类型的数据。

6.4.1创建集合 

         序列中的元素是有序的;集合中的元素是无序的,但元素不能重复。

        有两种方式创建集合。

        1.set(iterable)函数:参数iterable是可迭代对象(字符串,列表、元组、集合和字典等)。

        2.{元素1, 元素2, 元素3, ……}:指定具体的集合元素,元素之间以逗号分隔。对于集合元素,需要使用大括号括起来。

        

 6.4.2修改集合

        修改集合类似于修改列表, 可以向其中插入和删除元素。修改可变集合有如右所示的常用方法。

        add(elem):添加元素,如果元素已经存在,则不能添加,不会抛出错误。

        remove(elem):删除元素,如果元素不存在,则抛出错误。

        clear():清楚集合。

6.5 字典 

        字典(dict)是可迭代的、通过键(key)来访问元素的可变的容器类型的数据。

        字典由两部分视图构成:键视图和值视图。键视图不能包含重复的元素,值视图能。在键视图中,键和值是成对出现的。

6.5.1 创建字典

        我们可以通过以下两种方法创建字典。

        1. dict()函数。

        2. {key1:value,key2:value,…,key_n: value_n} : 指定具体的字典键值对,键值对之间以逗号分隔,最后用大括号括起来。

        

6.5.2 修改字典

        字典可以进行添加、替换和删除。

 6.5.3访问字典视图

        我们可以通过三种方式访问字典视图。

        items():返回字典的所有键值对视图。keys():返回字典键视图。values():返回字典值视图。

 6.6遍历字典

# coding = utf-8

s_dict = {102: '张三', 105: '李四', 109: '王五'}

print('---遍历建---')
for s_id in s_dict.keys():
    print('学号:' + str(s_id))

print('---遍历值---')
for s_name in s_dict.values():
    print('学生:' + s_name)

print('---遍历键:值---')
for s_id, s_name in s_dict.items():
    print('学号:{0} - 学生:{1}'.format(s_id, s_name))

注意:

1. 序列元素是有序的。其中列表是可变的,元组是不可变的。

2. 集合元素是无序的,且不能重复。

3. 字典通过键来访问元素,由键视图和值视图不能包含重复的元素。

举报

相关推荐

0 条评论