部分Pyhton函数与笔记
一、格式化输入输出
1. input()函数将用户输入的内容当做一个字符串类型
print()函数可以直接打印字符串,这是输出字符串的常用方式。
采用格式化输出方式,通过format()方法将待输出变量整理成期望输出的格式,
print("{}来自于{}".format(name,country))
2. 字符串是字符的序列,可以按照单个字符或字符片段进行索引
Demo:
name= "Python语言程序设计"
print ( name[ 0 ] , name[ 7 ] , name[ - 1 ] ) P 言 计
print ( name[ 2 : - 4 ] ) thon语言
print ( name[ : 6 ] ) Python
print ( name[ 6 : ] ) 语言程序设计
print ( name[ : ] ) Python语言程序设计
二、Python 基本语法
1. 行与缩进
Python 的代码一般是一行一条语句,语句之后的分号 ; 可加可不加。但如果要在一行中写多条语句,则需要用分号 ; 隔开每条语句。
print ( "hello" ) ; print ( "world" )
2. 注释
Python 中单行注释以 # 开头
多行注释可以使用多个#,也可以用一对'''(三个单引号)或者"""(三个双引号)包裹要注释的内容
3. 格式化输出
Python 的print也能实现格式化输出,方法是使用%操作符,它会将左边的字符串当做格式字符串,将右边的参数代入格式字符串
% s: 作为字符串
% d: 作为有符号十进制整数
% u: 作为无符号十进制整数
% o: 作为无符号八进制整数
% x: 作为无符号十六进制整数,a~f采用小写形式
% X : 作为无符号十六进制整数,A ~F 采用大写形式
% f: 作为浮点数
% e,% E : 作为浮点数,使用科学计数法
% g,% G : 作为浮点数,使用最低有效数位
print ( "%d + %d = %d" % ( a, b, a+ b) )
print ( "%d - %d = %d" % ( a, b, a- b) )
print ( "%d * %d = %d" % ( a, b, a* b) )
print ( "%d / %d = %f" % ( a, b, a/ b) )
4. 字符串转换
input函数接收的是用户输入的字符串,此时还不能作为整数或者小数进行数学运算,需要使用函数将字符串转换成想要的类型。
str = input ( )
num1 = int ( str)
f1 = float ( str)
print ( "整数%d,小数%f" % ( num1, f1) )
三、Python 字符串处理
1. 字符串拼接
Python 中使用+来合并两个字符串,这种合并字符串的方法叫做拼接。
result_string = source_string1 + source_string2
2. 字符串转换
字符串长度获取
len()函数计算,并返回字符串的长度,即字符串中单个元素的个数。
length = len ( target_string)
大小写转换
upper()会将字符串中的所有字符都转换为大写,
upper_say_hello = say_hello. upper ( ) #say_hello为目标字符串
lower()则将所有字符转换为小写。
lower_say_hello = say_hello. lower ( )
title()将字符串所有单词的首字母变成大写,而其他字母依然小写。
title_say_hello = say_hello. title ( )
3. 字符串的查找与替换
字符串查找方法find()利用该方法可以在一个较长的字符串中查找子字符串。如果该字符串中,有一个或者多个子字符串,则该方法返回第一个子串所在位置的最左端索引,若没有找到符合条件的子串,则返回-1
source_string. find ( 'sub_string' ) sub_string:待查的目标子字符串;
print ( source_string. find ( 'sub_string' ) ) #打印sub_string所在的位置
Python 提供了replace()方法,用以替换给定字符串中的子串。
source_string. replace ( 'old_string' , 'new_string' )
split()方法实现字符串分割, 一个字符串分割为字符列表,如果不提供分隔符,则程序会默认把空格作为分隔符
print ( source_string. split ( ' separator' ) ) separator:分隔符;
四、Python 列表
1. 列表元素的增删改
添加列表元素
Python 提供了append()和insert()等函数,实现向一个列表增加新元素的功能
source_list. append ( obj) 向一个列表的尾部追加
source_list. insert ( index, obj) 列表任意指定位置插入元素
修改列表元素
Python 中修改列表元素的方法为:直接将列表中要修改的元素索引指出,然后为其指定新值。
source_list[ index] = obj
删除列表元素
(1)删除指定位置的元素
Python 中,调用del函数能够删除指定索引位置的元素
del source_list[ index]
pop()方法来删除元素,该方法将从源列表删除对应元素,同时返回被删除的元素。
deleted_obj = source_list. pop ( index)
(2)删除指定值对应的元素
remove()方法,可以直接通过元素值来删除对应的元素。
source_list. remove ( obj)
2. 列表元素的排序
列表数据结构内置提供了sort()方法实现对列表元素的排序功能
source_list.sort(reverse=True) reverse:如果设置其值为True,则进行反向从大到小排序,如果设置为False或者不填写该参数,则默认进行正向从小到大排序
3. 数值列表
Python 提供了range()函数,能够用来生成一系列连续增加的数字。
range ( lower_limit, upper_limit, step)
lower_limit: 生成系列整数的下限整数,不填该参数则默认为从0 开始,生成的整数从此数开始,包括该数;
upper_limit:生成系列整数的上限整数,必填参数,生成的整数要小于该上限;
step:在下限和上限之间生成系列整数之间的间隔步长,不填该参数则默认步长为1
基于range()函数创建数字列表
for i in range ( 10 ) :
number = i** 2
numbers. append ( number)
使用list()函数和range()函数创建数字列表
data_list = list ( range ( lower_limit, upper_limit, step) )
最小值、最大值及进行总和
min_value = min ( data_list)
max_value = max ( data_list)
sum_value = sum ( data_list)
4. 数值拷贝
要创建一个已有列表的切片,通过指定切片的第一个列表元素和最后一个列表元素的索引号即可。
list_slice = source_list[ start: end: step]
五、 元组与字典
1. 元组与列表
列表在初始化后其中的元素还可以进行增删改等操作,但是元组在初始化后其中的元素不能进行更改;
列表在赋值时使用方括号[],而元组在赋值时使用小括号()。
创建元组:只需要在括号()中添加元素,元素之间用逗号隔开。元组中只包含单个元素时,需要在该元素后面添加逗号。
menu1 = ( 'meat' , 'fish' , 'chicken' )
menu2 = ( 'meat' , )
访问元组:元组和列表一样,可以使用下标索引来访问元组中的值。
menu = ( 'meat' , 'fish' , 'chicken' , 'carrot' )
print ( menu[ 0 ] )
print ( menu[ 1 : 3 ] )
修改元组
元组中的元素值是不可以修改的,如果强行修改会报错。
元组内置函数
len ( tuple) :计算元组中元素个数;
max ( tuple) :返回元组中元素的最大值;
min ( tuple) :返回元组中元素的最小值;
tuple ( seq) :将列表转换为元组。
2. 字典的使用
字典是 Python 最强大的数据类型之一,通过键-值对的方式建立数据对象之间的映射关系。字典的每个键-值对用冒号:分割,每个键-值对间用逗号,分隔开,字典则包含在{}中。
d = { key1 : value1, key2 : value2 } 每个键都与一个值相关联,我们可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何 Python 对象用作字典中的值。
访问字典中的值
# 创建并初始化menu字典
menu = { 'fish' : 40 , 'pork' : 30 , 'potato' : 15 , 'noodles' : 10 }
# 获取并返回menu字典中键'fish' 键对应的值
print ( menu[ 'fish' ] )
添加键-值对
要添加键-值对时,可依次指定字典名、键和键对应的值。
# 创建并初始化menu字典
menu = { 'fish' : 40 , 'pork' : 30 , 'potato' : 15 , 'noodles' : 10 }
# 向menu字典中添加菜名和价格
menu[ 'juice' ] = 12
menu[ 'egg' ] = 5
# 输出新的menu
print ( menu)
修改字典中的值
# 创建并初始化menu字典
menu = { 'fish' : 40 , 'pork' : 30 , 'potato' : 15 , 'noodles' : 10 }
# 修改menu字典中菜fish的价格
menu[ 'fish' ] = 50
# 打印输出新的menu
print ( menu)
删除键-值对
通过del方法删除字典中不需要的键-值对 要指定字典名和要删除的键。
# 创建并初始化menu字典
menu = { 'fish' : 40 , 'pork' : 30 , 'potato' : 15 , 'noodles' : 10 }
# 删除noodles键值对
del menu[ 'noodles' ]
# 打印输出新的menu
print ( menu)
3. 字典的遍历
遍历字典中的键-值对
items()方法会将字典里的所有的键与值一起返回。
# 创建并初始化menu菜单字典
menu= { 'fish' : '40' , 'pork' : '30' , 'potato' : '20' , 'lamb' : '50' }
# 利用items ( ) 方法遍历输出键和值
for key, value in menu. items ( ) :
print ( '\nkey:' + key)
print ( 'value:' + value)
遍历字典中的键
keys()方法,该方法会将字典里的键遍历出来。
# 创建并初始化menu菜单字典
menu= { 'fish' : '40' , 'pork' : '30' , 'potato' : '20' , 'lamb' : '50' }
# 利用keys ( ) 方法遍历输出键
for key in menu. keys ( ) :
print ( 'food_name:' + key)
遍历字典中的值
内置了values()方法,该方法会将字典里的值遍历出来。
# 创建并初始化menu菜单字典
menu= { 'fish' : '40' , 'pork' : '30' , 'potato' : '20' , 'lamb' : '50' }
# 利用values ( ) 方法遍历输出值
for value in menu. values ( ) :
print ( 'food_price:' + value)
4. 嵌套
列表中存储字典
# 创建3 个菜单字典,包含菜名和价格
menu1 = { 'fish' : 40 , 'pork' : 30 , 'potato' : 20 , 'noodles' : 15 }
menu2 = { 'chicken' : 30 , 'corn' : 55 , 'lamb' : 65 , 'onion' : 12 }
menu3 = { 'bacon' : 36 , 'beaf' : 48 , 'crab' : 72 , 'eggs' : 7 }
# 将3 个菜单字典存储到列表menu_total中
menu_total = [ menu1, menu2, menu3]
# 输出列表
print ( menu_total)
字典中存储列表
# 初始化menu菜单,里面包含配料列表
menu = { 'fish' : [ 'vinegar' , 'soy' , 'salt' ] , 'pork' : [ 'sugar' , 'wine' ] }
# 输出pork这道菜的配料
print ( 'The burding of pork is:' , menu[ 'pork' ] )
字典中存储字典
# 创建一个字典menu_sum,里面包含两个子菜单字典menu1和menu2
menu_sum = {
'menu1' : { 'fish' : 40 , 'pork' : 30 , 'potato' : 20 , 'noodles' : 15 } ,
'menu2' : { 'chicken' : 30 , 'corn' : 55 , 'lamb' : 65 , 'onion' : 12 }
}
# 输出menu1和menu2中的菜名和价格
print ( menu_sum[ 'menu1' ] )
print ( menu_sum[ 'menu2' ] )
编程要求是向menu_total列表中添加另外一个菜单字典menu2,menu2菜单中的菜名和menu1菜单一样,菜的价格是menu1菜的价格的2 倍;
menu2 = { }
for a in menu1. keys ( ) :
menu2[ a] = menu1[ a] * 2
menu_total. append ( menu2)