python laboratory courseware所学

目录

 python  laboratory courseware

一,六种数据类型及之间的相互转换

1.六种数据类型

2.相互转换

 二,变量,字符串,运算符

1,变量

2,字符串

 转义字符

字符串的索引、切片与逆序

字符串的in和not in 操作符

字符串的连接

字符串方法

3,运算符

 

三,判断语句和循环语句

1,判断语句

2,循环语句

while 语句

 for循环

四,列表

1.列表操作

2.列表方法

3.列表推导式

4.列表函数

len()函数

连接与复制

sum()函数

 in 和not in 操作符

enumerate()函数

random.choice()和random.shuffle()函数

排序

 多重赋值

五,元组

1,元组操作

2,元组的访问

3,元组的函数

六,字典

1,字典操作

2,特点

3,字典方法

七,集合

八,函数

1.定义及返回值

2.形参和实参

3.参数  

4.作用域


一,六种数据类型及之间的相互转换

1.六种数据类型
数据类型名称
number数字
string字符串
list列表
tuple元组
dictionary字典
set集合

注意:

number(数字)中包含3种数值类型

1.整型(int) 整型就是整数,包括正整数、负整数、零,不带小数点。

2.浮点型(float) 浮点型由整数部分与小数点组成,必须包含小数点。

3.布尔型(bool) 布尔型是一种表示逻辑值的简单类型,只有俩个值,一个为 True(真,1),另一个为False(假,0)。

    注意:如果不知道某一变量的数据类型是什么,可以通过type()函数查询

2.相互转换
  1. 整数(int)转换

    • 转换为整数:使用函数将其他数据类型(如浮点数、字符串等)转换为整数。例如:int()
      num_float = 10.5
      int_num = int(num_float)  # 转换为整数
      
  2. 浮点数(float)转换

    • 转换为浮点数:使用函数将其他数据类型(如整数、字符串等)转换为浮点数。例如:float()
      num_int = 10
      float_num = float(num_int)  # 转换为浮点数
  3. 字符串(str)转换

    • 转换为字符串:使用函数将其他数据类型(如整数、浮点数、布尔值等)转换为字符串。例如:str()
      num = 100
      str_num = str(num)  # 转换为字符串
      
  4. 布尔值(bool)转换

    • 转换为布尔值:可以使用函数将其他数据类型转换为布尔值。通常,0、空字符串、空列表、空字典等被视为,而其他非零、非空值被视为。例如:bool()FalseTrue
      val = 0
      bool_val = bool(val)  # 转换为布尔值
      
  5. 列表(list)转换

    • 转换为列表:使用函数将其他数据类型(如元组、字符串等)转换为列表。例如:list()
      tuple_data = (1, 2, 3)
      list_data = list(tuple_data)  # 转换为列表
      
  6. 元组(tuple)转换

    • 转换为元组:使用函数将其他数据类型(如列表、字符串等)转换为元组。例如:tuple()
      list_data = [1, 2, 3]
      tuple_data = tuple(list_data)  # 转换为元组
      


 二,变量,字符串,运算符

1,变量
  • 变量名只能包含字母、数字和下划线。变量名能以字母或下划线打头,但不能以数 字打头。例如,可将变量命名为message_1 ,但不能将其命名为1_message 。
  • 变量名不能包含空格,但能使用下划线来分隔其中的单词。例如,变量名 greeting_message 可行,但变量名greeting message 会引发错误。
  • 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的 单词,如print 。
  • 变量名应既简短又具有描述性。例如,name 比n 好,student_name 比s_n 好,name_length 比length_of_persons_name 好。 慎用小写字母l 和大写字母O ,因为它们可能被人错看成数字1 和0 。

举个例子

message = "Hello Python world!"
print(message)
message = "Hello Python Crash Course world!"
print(message)
2,字符串
  •  转义字符
转义字符输出为
\''
\""
\t制表符
\n换行符
\\

倒斜杠

  • 字符串的索引、切片与逆序

"Hello , world!"这个字符串中有13个字符(字符串的计数包含空格和符号) 注意:索引从0开始

H  e  l  l  o  ,     w  o  r  l  d   !
0  1  2  3  4  5  6  7  8  9 10  11  12

H的索引就是0,!的索引就是12 ,

首先,我们需要定义一个变量a使它="Hello , world!" 获取单个字符w时可以使用变量名[索引]

>>>a = "Hello , world!"
>>>print(a[7])
w

如果此时我们只想获得world这个字符串,那么可以使用切片 切片时我们可以使用变量名[起始索引:结束索引+1:间隔个数] 起始索引默认为0,结束索引默认为最后,间隔个数默认为1,若为默认时可以省略

>>>a = "Hello , world!"
>>>print(a[7:12])
world
>>>print(a[7:12:2])
wrd

此时我们想要逆序输出world,即输出"dlrow" ,只需要使用变量名[结束索引:开始索引-1:-1]

>>>a = "Hello , world!"
>>>print(a[11:6:-1])
dlrow
>>>print(a[11:6:-2])
drw

注意:为什么是结束索引+1和开始索引-1? Python中所有的区间都是左闭右开的,所以右边的数取不到,要想取到右边的数只有将右边的数向右再延伸一个即加一。至于为何逆序就要减一,你可以把字符串反过来看,即

!  d  l  r  o  w     ,  o  l  l  e  H
12 11  10 9  8  7  6  5  4  3  2  1  0

同样是从d开始切片,切到w结束,按照左闭右开,需要再往右延伸一个,即减一。

  • 字符串的in和not in 操作符
innot in
判断某个字符或字符串是否在字符串中判断某个字符或字符串是否不在字符串中

输出值可为布尔值,即True 和 False

  • 字符串的连接

   使用"+"连接

>>>a = "Hello "
>>>b = "world" 
>>>print(a+b)
Hello world
>>>name = "xiaobian" 
>>>age = 18
>>>print("My name is " + name +".I am "+ str(age) + " years old.")
My name is xiaobian.I am 18 years old.

注意:str(age)这里需要将age转换成字符串,否则系统会报错,此时age是整型不能与字符串同时输出。

  • 字符串方法
方法使用方法作用
upper()字符串.upper()将字符串里的字符全部大写
lower()字符串.lower()将字符串里的字符全部小写
isupper()字符串.isupper()字符串中字符是否都是由大写字母组成
islower()字符串.islower()字符串中字符是否都是由小写字母组成
isdigit()字符串.isdigit()字符串中是否都是由数字组成
isnumeric()字符串.isnumeric()字符串中字符是否都是由数字字符组成
isalpha()字符串.isalpha()字符串中是否都是由字母组成,并且非空
isalnum()字符串.isalnum()字符串中是否都是由字母和数字组成,并且非空
isdecimal()字符串.isdecimal()字符串中是否都是由数字字符组成,并且非空
isspace()字符串.isspace()字符串中是否都是由空格、制表符和换行符组成,并且非空
istitle()字符串.istitle()字符串中是否以大写字母开头、后面都是小写字母的单词、数字或空格
find()字符串.find(字符,起始位置,结束位置)查找指定字符在字符串中的位置(索引)(找不到则返回-1)
index()字符串.index(字符,起始位置,结束位置)查找指定字符在字符串中的位置(索引)(找不到会报错)
count()字符串.count(字符)统计指定字符出现的次数
replace()字符串.replace(字符,新字符,替换次数)用于字符串的修改
split()字符串.split(分隔符,分割次数)拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表。
join()分隔符.join(序列)返回一个用分隔符连接序列各个元素后的字符串(注:分隔符可以为空)
title()字符串.title()字符串内的所有单词的首字母大写
capittalize()字符串.capittalize()字符串第一个字母大写
startswith()字符串1.startswith(字符串2)字符串2是否以字符串开始
endswith()字符串1.endswith(字符串2)字符串2是否以字符串结束
partition()字符串.partition(字符串中片段)以字符串中片段为分隔符分隔字符串
rjust()字符串.rjust(数字,'填充字符')右对齐字符串,左边填充上‘填充字符’,总字符长度为‘数字’
ljust()字符串.ljust(数字,'填充字符')左对齐字符串,右边填充上‘填充字符’,总字符长度为‘数字’
center()字符串.center(数字,'填充字符')字符串居中,两边填充上‘填充字符’,总字符长度为‘数字’
strip()字符串.strip(空格、制表符、换行符和字符串参数)删除字符串两边所选字符
rstrip()字符串.rstrip(空格、制表符、换行符和字符串参数)删除字符串右边所选字符
lstrip()字符串.lstrip(空格、制表符、换行符和字符串参数)删除字符串左边所选字符

注意:作用中有关是否的方法中,若符合则返回True,不符合则返回False

3,运算符

运算符分为逻辑运算符,算术运算符,赋值运算符和比较运算符 其中的优先级为:

        1.逻辑运算符:and  or  not

        2.算术运算符: *  /  %  //  +  -

        3.比较运算符:<=  <  >  >=  ==  !=

        4.赋值运算符:=  %=  /=  //=  -=  +=  *=  **=

        算术运算符 > 比较运算符 > 赋值运算符

        注意

1.将任意两个数相除时,结果总是浮点数,即使这两个数都是整数且能整除。

>>>a = 4
>>>print(a/2) 
2.0

2.在其他任何运算中,如果一个数是整数,另一个数是浮点数,结果也是浮点数。

>>>a = 1
>>>b = a + 2.0
>>>print(b)
3.0
  •  逻辑运算符
运算符意义例子
and“与”运算符,一假为假,全真为真a and b
or“或”运算符,一真为真,全假为假a or b
not“非”运算符,为真则假,为假则真not a not(a and b)

注意:Python中的and和&有区别,不能混用

and:逻辑运算符。比如加减乘除符号有各自对用的运算规则,作为逻辑运算符也得遵守相应的规则。

&:位运算符,是按位进行逻辑运算,将操作数转化为对应的的二进制进行逻辑运算,运算结果再转化为原来的进制。


三,判断语句和循环语句

1,判断语句
  • 判断语句句法
1.if 判断条件 :
    语句
2.if 判断条件:
    语句
   else:
    语句
3.if 判断条件:
    语句
  elif 判断条件:
    语句
    ……
  else:
    语句

例如:定义一个整数变量age,编写代码判断输入的年龄是否正确。要求人的年龄在0-120之间。

age = int(input())
if age > 120:
    print("年龄太高,输入错误!")
elif age > 70:
    print("老年人")
elif age > 40:
    print("壮年")
elif age > 16:
    print("青年")
elif age > 0:
    print("儿童")
else:
    print("该人不存在!!")

        注意:Python里面没有switch语句!!

2,循环语句

循环语句主要分为while语句和for语句

  • while 语句

while语句由三部分组成:

1.while

2.条件表达式和冒号

3.当条件表达式结果为真时要执行的循环体

while语句句法:

while 表达式:
    循环体
  •  for循环

for语句句法:

for 循环变量 in 遍历对象(序列):
    循环体

for 循环,从形式上可以分为两种:

1.遍历对象

2.使用range函数控制循环次数 range函数: range(起始值,终止值,步长) 步长 :每次循环序列增长值,默认值为1,为1时可以省略 例如:输出1-10内所有的奇数和偶数

>>>#使用while循环
>>>i = 1
>>>while i <= 10:
>>>    if i % 2 == 0:
>>>        print(f"偶数:{i}")
>>>    if i % 2 == 1:
>>>        print(f"奇数:{i}")
>>>    i += 1
奇数:1
偶数:2
奇数:3
偶数:4
奇数:5
偶数:6
奇数:7
偶数:8
奇数:9
偶数:10
>>>#使用for循环
>>>for i in range(1,11):
>>>    if i % 2 == 0:
>>>        print(f"偶数:{i}")
>>>    if i % 2 == 1:
>>>        print(f"奇数:{i}")
奇数:1
偶数:2
奇数:3
偶数:4
奇数:5
偶数:6
奇数:7
偶数:8
奇数:9
偶数:10
#

四,列表

1.列表操作
列表操作示范
创建一个空列表a = [ ]
访问列表中的某个元素a[索引]
访问列表的最后一个元素a[-1]

列表的切片和逆序是a[ : : ]和a[ : :-1],同时别忘记逆序时开始索引与结束索引的位置。

2.列表方法
操作方法描述
列表.append(元素)在列表末尾添加一个元素
列表.extend(序列)在列表末尾追加一个序列
列表.insert(索引,元素)在列表对应的索引插入元素
del 列表[索引]删除列表中对应索引的元素
列表.pop(索引)删除列表中对应索引的元素,并返回删除的元素,默认最后一个
列表.remove(元素)删除列表中对应元素的第一个匹配项
列表.clear()清空列表
列表[索引]=新元素将列表对应索引的元素,修改为新元素
列表.index(元素)返回元素对应的索引
3.列表推导式

例如:输出列表,里面包括从1-20 输出列表,里面包括1-20中所有偶数

>>>a = [x for x in range(1,21)]
>>>print(a)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
>>>b = [x for x in range(1,21) if x%2 == 0]
>>>print(b)
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
4.列表函数
  • len()函数

len()函数可以取得列表的长度

>>>a = [11,22,33,44,55]
>>>print(len(a))
5
  • 连接与复制

像字符串一样,+操作符可以连接两个列表,得到一个新的列表;*操作符可以用于一个列表和一个整数,实现列表的复制

>>>a = [1,2,3]
>>>b = ['A','B','C']
>>>print(a+b)
>>>print(a*3)
[1, 2, 3, 'A', 'B', 'C']
[1, 2, 3, 1, 2, 3, 1, 2, 3]
  • sum()函数

sum()函数可以将列表中所有数相加

>>>a = [11,22,33]
>>>print(sum(a))
66
  •  in 和not in 操作符

列表的in 和 not in 操作符与字符串的用法类似

innot in
判断某个元素是否在列表中判断某个元素是否不在列表中
判断某个字符或字符串是否在字符串中判断某个字符或字符串是否不在字符串中

输出值可为布尔值,即True 和 False

  • enumerate()函数

在for循环中迭代,每次enumerate()函数将返回两个值:列表表项的索引和列表表项本身。

  • random.choice()和random.shuffle()函数

random.choice()函数将从列表中返回一个随机选择的表项。

random.shuffle()函数将对列表中的表项重新排序。该函数将就地修改列表,而不是返回新列表。**

  • 排序

1.sort():可以对列表进行永久排序

        列表.sort(reverse=True/False)

2.sorted()可以对列表进行临时排序

        sorted(列表名,reverse=True/False)

                reverse=True 时,按降序排序。

                reverse=False 时,按升序排序。

  •  多重赋值

使用多重赋值是一种快捷方式,在一行代码中,用列表中的值为多个变量赋值。 所以,不用输入以下代码

>>>cat = ['fat','black','loud']
>>>size = cat[0]
>>>color = cat[1]
>>>disposition = cat[2]

而是通过以下代码实现

>>>cat = ['fat','black','loud']
>>>size,color,disposition = cat

五,元组

1,元组操作
列表操作示范
创建一个空元组a =()
创建包含一个元素的元组b =(元素,
创建元组c =(元素1,元素2,……)

注意:包含一个元素的元组必须有逗号

2,元组的访问
获取一个元素元组序列[所有]
获取多个连接的元素元组序列[开始索引,结束索引]

注意:元组是不可以修改的,包括不能删除其中的元素。元组内的直接数据如果修改则立即报错。但是,如果元组里面有列表,修改列表里面的数据不会报错。

3,元组的函数
函数作用
index()从元组中找出某个对象第一个匹配项的下标位置。
count()统计某个元素在元组中出现的次数
len()计数元组元素的个数,并返回值
max()返回元组中元素的最大值
min()返回元组中元素的最小值

注意:元组除了两个方面,元组的数据类型几乎和列表数据类型一样:

1.元组输入时用圆括号(),不是方括号[ ]

2.元组的值无法修改、添加或删除。


六,字典

1,字典操作
字典操作代码示范
创建空字典dict1 = {}/dict2 = dict()
创建字典dict3 = { 键1 :值1 ,键2: 值2,……}

例如:dict3 = {'name': '小编', 'age': 18}

2,特点

1.符号为大括号{}

2.数据为键值对形式出现

3.各个键值对之间用逗号隔开

3,字典方法
  • 字典访问

操作代码示范描述
访问值字典序列[键]访问已知键所对应的值
修改值字典序列[键]=新值修改已知键的值
添加键值对字典序列[新键]=新值添加新的键值对
del 字典序列[键]删除字典中对应的键的键值对
del 字典序列删除字典
字典序列.clear()清空字典
字典序列.items()查找字典的所有的键值对
字典序列.keys()查找字典的所有的key(键)
字典序列.values()查找字典的所有的value(值)
  • 使用enumerate()函数枚举键值对

        enumerate(序列, start=0)

        其中start = 0为默认开始值为0

  •  get()方法

get()方法有两个参数,分别为要取得其值的键,以及当该键不存在时返回的备用值。

>>>a = {'apple':2,'banana':3}
>>>print('I have '+str(a.get('orange',0))+' oranges.')
I have 0 oranges.
>>>print('I have '+str(a.get('apple',0))+' apples.')
I have 2 apples.
  • setdefault()方法

你常常需要为字典中的某个键设置一个默认值,当该键没有任何值时使用它。

而 setdefault()方法提供了一种方式,可以在一行中完成这件事。

传递给该方法的第一个参数是要检查的键,第二个参数是当该键不存在时要设置的值。

如果该键存在,那么 setdefault()方法就会返回键的值

>>>a = {'apple':2,'banana':3}
>>>print(a.setdefault('orange',10))
10
>>>print(a.setdefault('apple',10))
2

七,集合

可以使用大括号 { } 或者 set() 函数创建集合,

但创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

集合特点:

1.集合是一个无序的不重复元素序列

2.集合中的元素是唯一的

3.集合可以用来去重

  • 集合操作
操作代码示范描述
集合序列.add(数据)添加一个数据
集合序列.update(序列数据)添加序列
集合序列.remove(数据)删除集合中指定的数据,如果数据不存在就报错
集合序列.pop()随机删除集合中的某个数据
集合序列.discard(数据)删除集合中指定的数据,如果数据不存在不做任何操作

八,函数

1.定义及返回值
#定义函数语法:
def 函数名 ( ):
	函数语句
	return 返回值
#调用函数语法:
函数名( )

注意:函数中可以同时包含多个 return 语句,但只会执行了一个return,return的功能是返回值并退出当前函数,return语句后面的语句都不执行。

2.形参和实参
#定义格式:
def 函数名(形参1,形参2):
    函数体
#调用格式:
函数名(实参1,实参2)  

注意:

1.传递的实参与形参个数必须保持一致。
2.编写函数时可给每个形参指定默认值,调用函数时给形参提供实参的,将使用指定的实参,若没有则使用默认值。
3.调用函数时,会将实参1传递给形参1,实参2传递给形参2……如果参数过多时可以在调用函数时直接指明形参1=实参1。

>>>def people(name,age):
>>>		print(f'My name is  {name}.I am {age} years old.')
>>>people('xiaobian',18)
My name is  xiaobian.I am 18 years old.
>>>people(age =18,name='xiaobian')
My name is  xiaobian.I am 18 years old.
3.参数  
  •  位置参数(必备参数)
def 函数名(形参1,形参2):
	函数体
函数名(实参1,实参2)
  • 默认参数(缺省参数)
def 函数名(形参1=数据,…):
	函数体
  • 不定长参数(*args,kwargs)

1.  *args常以元组的形式输出,收集任意数量的位置实参

def 函数名(*args):
	函数体
函数名(实参1,实参2,实参3,……)

2.  kwargs常以字典的形式输出,收集任意数量的关键字实参

def 函数名(kwargs):
	函数体
  • 参数定义顺序:

 位置参数、默认参数、不定长参数(*args,kwargs)

4.作用域
  • 局部作用域

 定义在函数内部的变量拥有一个局部作用域,表示只能在声明它的函数内部访问。

在函数体内部,临时保存数据,即当函数调用完成后,则销毁局部变量。

  • 全局作用域

 定义在函数外部的变量拥有全局作用域,表示可以在整个程序范围内访问。

(函数内、外部都能生效)

  • 修改作用域
globalnonlocal
声明变量的作用域为全局作用域数中的下划线关键字用来在函数中使用外层(非全局)变量
>>>def great():
>>>    global a  
>>>    a = 40
>>>    print(f'函数内:{a}')
>>>a = 20
>>>great()
>>>print(f'函数外:{a}')
函数内:40
函数外:40
>>>def great():
>>>    global a  
>>>    a = 40
>>>    print(f'函数内:{a}')
>>>a = 20
>>>great()
>>>print(f'函数外:{a}')
函数内:40
函数外:40

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值