Python学习笔记(1)

本文介绍了Python编程的基础知识,包括变量命名规则、字符串操作(大小写转换、合并)、数字(整数和浮点数)的运算,以及如何避免类型错误。还详细讲解了列表的创建、修改、添加、删除等操作,包括列表解析、切片、复制和元组的概念。此外,文章讨论了if语句的使用,如条件测试、简单的if-else结构和if-elif-else结构。最后,介绍了字典的使用,包括访问、添加、修改和删除键值对,以及遍历字典和嵌套结构的应用。
摘要由CSDN通过智能技术生成

《Python编程:从入门到实践》学习笔记

python编程软件PyCharm Community Edition 2022.3.2,快捷键:Ctrl+/ 表示注释Python代码。

一、变量的命名和使用

1.变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打

头,例如,可将变量命名为message_1,但不能将其命名为1_message。

2.变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message

可行,但变量名greeting message会引发错误。

3.不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,

如print。

4.变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length

比length_of_persons_name好。

5.慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。

注意:使用符合标准Python 约定的文件名:使用小写字母和下划线,如simple_message.py 和

simple_messages.py。

二、字符串

字符串就是一系列字符。在Python中,用引号括起的都是字符串,其中的引号可以是单引号

也可以是双引号,如下所示:

"This is a string."
'This is also a string.'

1.使用方法修改字符串的大小写

(1)title()以首字母大写的方式显示每个单词,即将每个单词的首字母都改为大写,示例如下:

name = "ada lovelace"
print(name.title())

结果为:Ada Lovelace

(2)将字符串改为全部大写或全部小写,示例如下:

name = "ada lovelace"
#全部大写
print(name.upper())
#全部小写
print(name.lower())

结果为:

ADA LOVELACE

ada lovelace

(3)合并(拼接)字符串

Python使用加号(+)来合并字符串。示例如下:

first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print("Hello, " + full_name.title() + "!")

结果:Hello, Ada Lovelace!

三、数字

  1. 整数

在Python中,可对整数执行加(+)减(-)乘(*)除(/)运算。示例如下:

print(2+3)
print(2-3)
print(2*3)
print(6/3)

结果:5 -1 6 2.0

  1. 浮点数

Python将带小数点的数字都称为浮点数。示例如下:

print(0.2+0.3)
print(2*0.3)

结果:0.5 0.6

  1. 使用函数str()避免类型错误

可调用函数str(),它让Python将非字符串值表示为字符串。示例如下:

age = 23
message = "Happy " + str(age) + "rd Birthday!"
print(message)

结果:Happy 23rd Birthday!

四、注释

在Python中,注释用井号(#)标识。示例如下:

# 向大家问好
print("Hello Python people!")

五、列表

1.列表简介

在Python中,用方括号([])来表示列表,并用逗号来分隔其中的元素。下面是列表的各项操作:创建、修改、添加、插入、删除等各项操作,示例如下:

#创建列表
bicycles=['trek','cannondale','redline','specialized']
#打印列表第一个元素
print(bicycles[0])
#打印列表第一个元素,并大写首字母
print(bicycles[0].title())
#访问列表最后一个元素
print(bicycles[-1])
#修改第一个元素
bicycles[0]='bak'
print(bicycles)
#在列表末尾添加元素
bicycles.append('mas')
print(bicycles)
#在列表中插入元素
bicycles.insert(2,'dasdad')
print(bicycles)
#删除列表中的元素
del bicycles[2]
print(bicycles)
#删除列表中的值,并访问
print(bicycles)
pop_bicycles=bicycles.pop(0)
print(bicycles)
print(pop_bicycles)
#删除指定元素
bicycles.remove('mas')
print(bicycles)
#对列表进行永久性排序
names=['lout','daily','lucy','kaycee']
names.sort()
print(names)
names.sort(reverse=True)
print(names)
#对列表进行临时排序
fruits=['bannase','apple','orege']
print(sorted(fruits))
print(fruits)
#倒着打印列表
fruits.reverse()
print(fruits)
#确定列表长度
print(len(fruits))

注:(1)方法append()将元素添加到列表末尾;

(2)使用方法insert()可在列表的任何位置添加新元素;

(3)使用del可删除任何位置处的列表元素,条件是知道其索引;

(4)方法pop()可删除列表末尾的元素,并让你能够接着使用它

(5)如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续使用它,就使用方法pop();

(6)如果你只知道要删除的元素的值,可使用方法remove();

(7)Python方法sort()让你能够较为轻松地对列表进行排序;方法sort()永久性地修改了列表元素的排列顺序;还可以按与字母顺序相反的顺序排列列表元素,为此,只需向sort()方法传递参reverse=True;

(8)要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted();

(9)要反转列表元素的排列顺序,可使用方法reverse();方法reverse()永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用reverse()即可;

(10)使用函数len()可快速获悉列表的长度

2.操作列表

2.1遍历整个列表

使用Python中的for循环,示例如下:

#for循环
for fruit in fruits:
    print(fruit)

使用for循环处理数据是一种对数据集执行整体操作的不错的方式。

2.2创建数值列表

2.2.1使用函数range()

Python函数range()让你能够轻松地生成一系列的数字。

#range用法
for value in range(0,5):
    print(value)

2.2.2使用range()创建数字列表

要创建数字列表,可使用函数list()将range()的结果直接转换为列表。使用函数range()几乎能够创建任何需要的数字集。

numbers = list(range(1,6))
print(numbers)
#打印1~10内的偶数
for v in range(0,11,2):
    print(v)
#1.将前10个整数的平方加入到一个列表中
sqs=[]
for value in range(1,11):
    sq=value ** 2
    sqs.append(sq)
print(sqs)
#2.将前10个整数的平方加入到一个列表中
sqs=[]
for value in range(1,11):
    sqs.append(value ** 2)
print(sqs)

2.2.3对数字列表执行简单的统计计算

有几个专门用于处理数字列表的Python函数。例如,你可以轻松地找出数字列表的最大值、

最小值和总和:

#轻松地找出数字列表的最大值、最小值和总和
ss=[1,233,23,44,33,566,88]
print(min(ss))
print(max(ss))
print(sum(ss))

2.2.4列表解析

#使用列表解析创建你在前面看到的平方数列表
squres =[squ ** 2 for squ in range(1,11)]
print(squres)

2.2.5切片

可以处理列表的部分元素——Python称之为切片。

#处理列表的部分元素——Python称之为切片
test=['daaa','qwww','adasd','ffff','bcvc']
print(test[0:3])
print(test[1:4])
print(test[0:])
print(test[:2])
print(test[-3:])
#遍历切片
students=['lili','xiaoxiao','hua','ju','lian']
print('前三名是:')
for student in students[:3]:
    print(student)

2.2.6复制列表

要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:])

这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表。

#复制列表
my_foods=['rice','pizza','apple','bananase']
friend_foods=my_foods[:]
print('我喜欢的食物:')
print(my_foods)
print('朋友喜欢的食物:')
print(friend_foods)
my_foods.append('orange')
friend_foods.append('xiangjiao')
print('我喜欢的食物:')
print(my_foods)
print('朋友喜欢的食物:')
print(friend_foods)

2.2.7元组

Python将不能修改的值称为不可变的,而不可变的列表被称为元组

元组看起来犹如列表,但使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来

访问其元素,就像访问列表元素一样。

Python指出不能给元组的元素赋值。

#定义元组  元组不能修改
data=(140,120)
print(data[0])
print(data[1])

#遍历元组中的所有值
ddd=(200,120)
for a in ddd:
    print(a)
#修改元组变量
ddd=(500,600)
for b in ddd:
    print(b)

相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都

不变,可使用元组。

六、if语句

1.条件测试

#if的用法 判断是否相等
cars=['bubu','das','ww','jh']
for car in cars:
    if car=='ww':
        print(car.upper())
    else:
        print(car.title())
#判断
aa='apple'
if aa=='apple':
    print('apples')
aa='Apple'
if aa.lower()=='apple':
    print('True')
#检查是否不相等
bb='ban'
if bb!='asd':
    print('不相等')

#检查是否包含在列表中
aa=['aaa','bbb','ccc']
print('aaa' in aa)
print('asd' in aa)

2.简单的if 语句

# #简单的if语句
age=18
if age>17:
    print("How old are you?")

3.if-else 语句

#if-else语句
age=12
if age>17:
    print("How old are you?")
else:
    print('I are '+str(age) +'岁')

4.if-elif-else 结构

age=12
if age<4:
    print("票价为0")
elif age<18:
    print('票价为5')
else:
    print('票价为10')

#简化代码
age=12
if age<4:
    price=0
elif age<18:
    price=5
else:
    price=10
print('票价为'+str(price))

5.使用多个elif 代码块

age=50
if age<4:
    price=0
elif age<18:
    price=5
elif age<65:
    price=10
else:
    price=10
print('票价为'+str(price))

6.测试多个条件

equested_toppings = ['mushrooms', 'extra cheese']
if 'mushrooms' in requested_toppings:
    print("Adding mushrooms.")
if 'pepperoni' in requested_toppings:
    print("Adding pepperoni.")
if 'extra cheese' in requested_toppings:
    print("Adding extra cheese.")
print("\nFinished making your pizza!")

总结:总之,如果你只想执行一个代码块,就使用if-elif-else结构;如果要运行多个代码块,就

使用一系列独立的if语句

七、使用if 语句处理列表

  1. 检查特殊元素

打印列表中的所有信息,示例如下:

requested_toppings = ['mushrooms', 'green peppers', 'extra cheese']
for requested_topping in requested_toppings:
    print("Adding " + requested_topping + ".")
print("\nFinished making your pizza!")

打印所有,判断其中没有的条件情况,示例如下:

requested_toppings = ['mushrooms', 'green peppers', 'extra cheese']
for requested_topping in requested_toppings:
    if requested_topping == 'green peppers':
      print("Sorry, we are out of green peppers right now.")
    else:
      print("Adding " + requested_topping + ".")
print("\nFinished making your pizza!")

2.确定列表不是空的

到目前为止,对于处理的每个列表都做了一个简单的假设,即假设它们都至少包含一个元素。

我们马上就要让用户来提供存储在列表中的信息,因此不能再假设循环运行时列表不是空的。有

鉴于此,在运行for循环前确定列表是否为空很重要。

判断列表是否为空。

requested_toppings = []
if requested_toppings:
    for requested_topping in requested_toppings:
        print("Adding " + requested_topping + ".")
    print("\nFinished making your pizza!")
else:
     print("Are you sure you want a plain pizza?")

3.使用多个列表

#使用多个列表
fruit1=['aplle','bbb','ccc','orange']
fruit2=['aplle','cds','orange']
for fruit in fruit1:
    if fruit in fruit2:
        print('水果店有'+fruit+'水果')
    else:
        print('水果店没有'+fruit+'水果')

八、字典

在Python中,字典是一系列键—值对。每个键都与一个值相关联,你可以使用键来访问与之

相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对

象用作字典中的值。

在Python中,字典用放在花括号{}的一系列键—值对表示,如前面的示例所示:

alien_0 = {'color': 'green', 'points': 5}

  1. 使用字典

1.1访问字典中的值

#访问字典
alla={'age':'25','sex':'男'}
print(alla['age'])
print(alla['sex'])

运行结果:25 男

1.2添加键—值对

字典是一种动态结构,可随时在其中添加键—值对。要添加键—值对,可依次指定字典名、用

方括号括起的键和相关联的值。

alla={'age':25,'sex':'男'}
#添加键—值对
alla['项目']='大屏'
alla['薪资']=2000
print(alla)

运行结果:{'age': 25, 'sex': '男', '项目': '大屏', '薪资': 2000}

1.3创建一个空字典

使用字典来存储用户提供的数据或在编写能自动生成大量键—值对的代码时,通常都需要先

定义一个空字典。

foods={}

1.4修改字典中的值

要修改字典中的值,可依次指定字典名、用方括号括起的键以及与该键相关联的新值

#修改字典中的值
alla={'age':25,'sex':'男'}
alla['age']=30
print(alla)

运行结果:{'age': 30, 'sex': '男'}

1.5删除字典中的键值对

对于字典中不再需要的信息,可使用del语句将相应的键—值对彻底删除。使用del语句时,

必须指定字典名和要删除的键。

#删除字典中的键值对
alla={'age':25,'sex':'男'}
print(alla)

del alla['age']
print(alla)

注意:删除的键—值对永远消失了。

1.6遍历字典

1.6.1用一个for循环来遍历字典

#遍历字典
alla={'爱好':'唱歌','sex':'男','姓名':'丽丽'}
for key,value in alla.items():
    print(key +':'+value)

注意:即便遍历字典时,键—值对的返回顺序也与存储顺序不同。Python不关心键—值对的存

储顺序,而只跟踪键和值之间的关联关系。

即便字典存储的是上千乃至上百万人的调查结果,这种循环也管用。

1.6.2遍历字典中的所有键

在不需要使用字典中的值时,方法keys()很有用。

alla={'爱好':'唱歌','sex':'男','姓名':'丽丽'}
for name in alla.keys():
    print(name.title())

1.6.3遍历字典中的所有值

如果你感兴趣的主要是字典包含的值,可使用方法values(),它返回一个值列表,而不包含

任何键。

alla={'爱好':'唱歌','sex':'男','姓名':'丽丽'}
for name in alla.values():
    print(name.title())

这种做法提取字典中所有的值,而没有考虑是否重复。涉及的值很少时,这也许不是问题,

但如果被调查者很多,最终的列表可能包含大量的重复项。为剔除重复项,可使用集合(set)

alla={'爱好':'唱歌','sex':'男','姓名':'男'}
for name in set(alla.values()):
    print(name.title())

九、嵌套

有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。你

可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。

1.字典列表

##在列表中存字典
# 创建一个用于存储外星人的空列表
aliens = []
# 创建30个绿色的外星人
for alien_number in range (0,30):
    new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
    aliens.append(new_alien)
for alien in aliens[0:3]:
    if alien['color'] == 'green':
        alien['color'] = 'yellow'
        alien['speed'] = 'medium'
        alien['points'] = 10
    if alien['color'] == 'yellow':
        alien['color'] = 'red'
        alien['speed'] = 'fast'
        alien['points'] = 15
# 显示前五个外星人
for alien in aliens[0:5]:
    print(alien)
print("...")
# 显示创建了多少个外星人
print("Total number of aliens: " + str(len(aliens)))

运行结果:

经常需要在列表中包含大量的字典,而其中每个字典都包含特定对象的众多信息。例如,你可能需要为网站的每个用户创建一个字典,并将这些字典存储在一个名为users的列表中。在这个列表中,所有字典的结构都相同,因此你可以遍历这个列表,并以相同的方式处理其中的每个字典

2.在字典中存储列表

每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。

#在字典中存储列表
favorite_languages = {
'jen': ['python', 'ruby'],
'sarah': ['c'],
'edward': ['ruby', 'go'],
'phil': ['python', 'haskell'],
}
for name, languages in favorite_languages.items():
    print("\n" + name.title() + "'s favorite languages are:")
    for language in languages:
        print("\t" + language.title())

运行结果:

3.在字典中存储字典

#3.在字典中存储字典
users = {
'aeinstein': {
'first': 'albert',
'last': 'einstein',
'location': 'princeton',
},
'mcurie': {
'first': 'marie',
'last': 'curie',
'location': 'paris',
},
}
for username, user_info in users.items():
    print("\nUsername: " + username)
    full_name = user_info['first'] + " " + user_info['last']
    location = user_info['location']
    print("\tFull name: " + full_name.title())
    print("\tLocation: " + location.title())

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

susan花雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值