变量和简单的数据类型
变量
变量的命名规则:
1、只能包含字母、数字和下划线,并且不能以数字开头
2、变量名中不能是python中的保留字
字符串
字符串的几种定义方法
python
name = 'Bob'
name = "Bob"
name = """Bob"""
如何字符串本身包含单引号或者双引号,我们可以用与包含相反的方式去定义,也可以使用转移字符
字符串拼接
python
name = "Bob"
str = ' like alice'
print(name + str)
另一种方式的拼接
python
class_name = 123
avg_salary = 1345
message = "sdadas%s%s" %(class_name, avg_salary)
print(message)
%:表示占位符
s:表示字符串
多个变量占位时要用括号
拼接字符串的另一种用法这种方式称为f字符串的方式
python
class_name = 123
avg_salary = 1345
message = "sdadas%s%s" %(class_name, avg_salary)
full_name = f"{class_name} {avg_salary} {message}"
print(full_name)
这种拼接方式也很便捷,我们不关心类型,只需要将变量用花括号括起来就行但有一点不好的地方就是这种方式不能控制变量的精度
这里插入一下input语句
python
print("请告诉我你是谁")
name = input()
print("我是" + name)
# input()还可以传参数
name = input("请告诉我,你是谁")
print(name)
需要注意的是不管我们输入的是什么类型的数据都会被input函数当成字符串类型的数据处理,如果想要得到我们想要得到的数据类型就需要进行类型转化
python
num = input("请输入一个数字")
num = int (num)
print(num)
列表简介
列表是什么
1、列表由一系列按特定顺序排列的元素组成。
2、列表中通常包含多个元素,因此给列表指定一个表示复数的名称比较好
3、python中用[]来表示列表
python
bicycles = ['trek', 'cannondable', 'redline', 'specialized']
print(bicycles)
运行结果:列表的方括号也会被打印出来,但有时候我们不希望打印出来方括号
这里列表中元素的类似c语言中的数组
python
bicycles = ['trek', 'cannondable', 'redline', 'specialized']
print(bicycles[0])
python中下标也是从0开始的,另外python中将索引指定为-1可以访问列表中的最后一个元素
python
bicycles = ['trek', 'cannondable', 'redline', 'specialized']
print(bicycles[-1])
修改、添加、删除列表中的元素
1、修改
python
motorcycles = ['honada', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles[0] = 'ducati'
print(motorcycles)
2、添加元素
(1)、在列表吗末尾添加元素
用到的方法是append()
python
motorcycles = ['honada', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles.append('ducati')
print(motorcycles)
(2)、在列表中插入元素
用到的方法是insert(index, data)
这里是插入到下标为index的位置
python
motorcycles = ['honada', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles.insert(1, 'ducati')
print(motorcycles)
3、删除元素
a、使用del语句删除元素(前提是知道要删除元素在列表中的位置)
python
motorcycles = ['honada', 'yamaha', 'suzuki']
print(motorcycles)
del motorcycles[1]
print(motorcycles)
b、使用pop方法
pop方法可以删除列表末尾的元素,同时返回刚被弹出的元素
python
motorcycles = ['honada', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)
c、弹出列表中任何位置的元素
python
motorcycles = ['honada', 'yamaha', 'suzuki']
print(motorcycles)
popped_motorcycle = motorcycles.pop(1)
print(motorcycles)
print(popped_motorcycle)
d、根据值删除元素
remove只删除找到的第一个元素,如果存在多个值相同的元素时
python
motorcycles = ['honada', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles.remove('yamaha')
print(motorcycles)
4、排序
(1)、使用sort()方法对列表永久排序默认按字典序排序
python
cars = ['audi', 'bmw', 'toyota', 'subaru']
print(cars)
cars.sort()
print(cars)
sort()方法中可以传入参数,来改变排序规则
python
cars = ['audi', 'bmw', 'toyota', 'subaru']
print(cars)
cars.sort(reverse = True)
print(cars)
(2)、使用sorted函数对列表进行临时排序
python
cars = ['audi', 'bmw', 'toyota', 'subaru']
print(cars)
new_cars = sorted(cars)
print(new_cars)
print(cars)
倒序
用到主要是reverse方法
python
cars = ['audi', 'bmw', 'toyota', 'subaru']
print(cars)
cars.reverse()
print(cars)
列表长度
用到的是len函数
python
cars = ['audi', 'bmw', 'toyota', 'subaru']
print(cars)
cnt = len(cars)
print(cnt)
操作列表
遍历整个列表
python
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)
上面的程序中就用到了python中的循环,当我们遍历时循环是必不可少的
python是根据缩进来判断代码行与前一个代码行的关系
循环中常见的问题:
1、缩进问题
2、冒号容易漏写
创建数值列表
使用的是range()函数
python
magicians = ['alice', 'david', 'carolina']
for i in range(0, 3):
print(magicians[i])
range(i, j)生成一个从i到j-1的数值列表
使用range()创建一个数字列表
使用list函数和range()函数结合
python
numbers = list(range(1, 6))
print(numbers)
对数字列表进行简单的计算的函数
python
numbers = list(range(1, 6))
print(numbers)
print(min(numbers))
print(max(numbers))
print(sum(numbers))
使用列表的一部分
切片
处理列表中的部分元素就叫切片
python
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players)
print(players[0:3])
如果前面一项缺即players[:4]默认从列表的起始位置开始, players[1:]默认到最后部分结束, 也可以在括号里面指定第三个之表示隔几个元素取一个(和matlab很像,不过python的间隔是在最后,matlab是在中间设置)
python
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players)
print(players[0:6:2])
遍历切片
matlab
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players)
new_players = players[0:6:2]
for player in new_players:
print(player)
print("over")
复制列表
可以用包含列表中所有元素的切片复制
python
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players)
new_players = players[:]
print(new_players)
也可以直接复制
python
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print(players)
new_players = players
print(new_players)
元组
元组和列表类似,但是元组中的数据不可修改,并且元组使用()圆括号标识
用法很多都和列表类似不再赘述
if语句
条件测试
1、检查多个条件时要用or或者and
python
age_0 = 22
age_1 = 18
print(age_0 >= 21 and age_1 >= 21)
2、检特定值是否包含在列表中
python
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print('eli' in players)
结果:True
检验特定值是否不包含在列表中
python
players = ['charles', 'martina', 'michael', 'florence', 'eli']
print('eli' not in players)
结果:False
if语句
格式:
1、基本if语句
python
if conditindl_test:
do something
2、if-else语句
python
if conditindl_test:
do something
else:
do something
3、if-elif-else语句
python
if conditindl_test:
do something
elif conditindl_test:
do something
else:
do something
字典
字典的一些使用
字典时一系列键值对,每个键与一个值,与键相关联的值可以是数、字符串、列表乃至字典
字典用放在花括号中的一系列键值对表示
python
alien_0 = {'color' : 'green'}
这个字典中只存储了一个键值对,具体来说color时键,green是值
如何对字典中的值进行访问
python
alien_0 = {'color' : 'green'}
print(alien_0['color'])
添加键值对
python
alien_0 = {'color' : 'green'}
alien_0['X-position'] = 0
alien_0['y_position'] = 25
print(alien_0)
创建一个空字典
python
alien_0 = {}
修改字典中的值
python
alien_0 = {'color' : 'green'}
print(alien_0)
alien_0['color'] = 'yellow'
print(alien_0)
删除键值对
使用del语句
python
alien_0 = {'color' : 'green', 'position' : 5}
print(alien_0)
del alien_0['position']
print(alien_0)
使用get()方法来访问值
如果我们直接访问字典中一个不存在键值对时,这时python会报错,如果我们使用get()方法则不会报错会返回一个我们指定的信息
python
alien_0 = {'color' : 'green', 'position' : 5}
print(alien_0)
print(alien_0['a'])
如果使用get()方法
python
alien_0 = {'color' : 'green', 'position' : 5}
print(alien_0)
print(alien_0.get('a', 'No find'))
如果get()方法的第二个参数没有指定,这时候get()方法会返回一个None表示不存在我们要找的这样的键值对
遍历字典
遍历所有键值对
一个小例子
python
user = {
'username' : 'efermi',
'first' : 'enrico',
'last' : 'fermi',
}
for k, v in user.items():
print(f"\nKey:{k}")
print(f"value{v}")
这个例子中我们用k,v两个变量分别保存键和值,然后调用items()方法
遍历字典中所有的键
python
favorite_languages = {
'jen' : 'python',
'sarah' : 'c',
'edward' : 'ruby',
'phil' : 'python'
}
for name in favorite_languages.keys():
print(name)
遍历字典中的所有值
python
favorite_languages = {
'jen' : 'python',
'sarah' : 'c',
'edward' : 'ruby',
'phil' : 'python'
}
for language in favorite_languages.values():
print(language)
按特定的顺序遍历字典中的所有键
python
favorite_languages = {
'jen' : 'python',
'sarah' : 'c',
'edward' : 'ruby',
'phil' : 'python'
}
for name in sorted(favorite_languages):
print(name)
嵌套
字典列表
python
alien_0 = {'color' : 'green', 'points' : 5}
alien_1 = {'color' : 'yellow', 'points' : 10}
alien_2 = {'color' : 'red', 'points' : 15}
aliens = [alien_0, alien_1, alien_2]
print(aliens)
for alien in aliens:
print(alien)
字典中存储列表
python
pizza = {
'crust' : 'a',
'toppings' : ['mushrooms', 'extra chrrse'],
}
for topping in pizza['toppings']:
print(topping)
另外还有字典中套字典的用法,用法都是一样的不再赘述