变量:
每个变量都存储了一个值-与变量信息相关的值。
在程序中可随时修改变量的值,而python将始终记录变量的最新值。
命名和使用:
》由字母、数字、下划线组成 ,但不能以数字开头。
》最好使用小写的变量名
双引号里可以有单引号,单引号里也可以有双引号;
注意:双引号里不可以有双信号,单引号里不可以有单引号;
---------------
方法:
name="zhao xin"
print(name.title()) //每个单词的首字母都大写 结果 Zhao Xin
print(name.upper()) //全部大写
print(name.lower()) //全部小写拼接字符串:
用+拼接添加空白:
制表符:\t
换行:\n删除空白:
rstip() //删除字符串末尾空白,但不会将更改后的值赋给变量
示例:
name="zhao xin "
print(name.rstrip()+"123")
print(name+"123")lstip() //删除字符串开头空白,但不会将更改后的值赋给变量
stip() //删除字符串两端空白,但不会将更改后的值赋给变量
-------
整数
可以进行加减乘除运算;两个**表示乘方运算;浮点数
注意:结果包含的小数位数可能是不确定的;使用str()函数避免类型错误
str() //将非字符串值表示为字符串注释:
单行注释:#
文档注释:... ... ------列表
按特定顺序排列的元素组成。
[]表示列表,逗号分隔元素示例:
list1=[1,2,3,4,5,6]
list2=["a生","老","病","死","求不得","恨别离"]
print(list1)
print(list1[0])
print(list2[0].title()) #每个单词首字母大写
print(list1[-1]) #返回列表的最后一个元素 ;-n 返回倒数第n个元素------修改、添加、删除元素
list2.append("rensheng") #添加元素到列表末尾
list2.insert(0,"charu") #插入元素,在索引0处
del list2[0] #删除元素,在索引0处list2=["a生","老","病","死","求不得","恨别离"]
#方法pop()可删除列表末尾的元素,并可以接着使用它
print("删除前"+list2[0]+list2[1]+list2[2]+list2[3]+list2[4]+list2[5])
popped_list2=list2.pop()
print("删除后:"+list2[0]+list2[1]+list2[2]+list2[3]+list2[4])
print("删除的元素:"+popped_list2)
popped_list2=list2.pop(1) #弹出索引n处的元素
list2.remove("老") #删除知道的元素的值list2=["a生","c老","b病","f死","s求不得","d恨别离"]
list2.sort() #按字母顺序排列,永久性排序
print(list2)
list2.sort(reverse=True) #按字母顺序相反顺序排列,永久性排序
print(list2)
list3=sorted(list2) #临时排序
list2.reverse() #反转列表元素排序,永久性排序
len(list2) #列表长度========第四章
list2=["a生","c老","b病","f死","s求不得","d恨别离"]
#for循环遍历列表
for list in list2:
print(list)
#良好的命名习惯:
for cat in cats:
for dog in dogs:#在代码for list in list2:后面,每个缩进的代码行都是循环的一部分,且将针对列表中的每个值都执行一次。
list2=["a生","c老","b病","f死","s求不得","d恨别离"]
for list in list2: #for循环遍历列表
print("让我们欢迎每个成员,"+list.title())
#没有缩进的代码只执行一次
print(list2)#打印数字1~4
for value in range(1,5): #函数range():从指定的第一个值开始数,到达指定的第二个数停止
print(value)#使用range()创建数字列表
numbers=list(range(1,6))
print(numbers)#指定步长
even_numbers=list(range(1,10,3)) #到达或超过10,结束
print(even_numbers)#前10个整数的平方加入到列表中
lists=[]
for list in range(1,11): #循环1~10
list=list**2 #每个值得平方
lists.append(list) #追加到列表中
print(lists) #打印列表#前10个整数的平方加入到列表中(简化)
lists=[]
for list in range(1,11): #循环1~10
lists.append(list**2) #每个值的平方追加到列表中
print(lists) #打印列表
print(max(lists)) #最大值
print(min(lists)) #最小值
print(sum(lists)) #和#列表解析
values=[list**2 for list in range(1,11)]
print(values)语法:列表名=[表达式 for循环]
#切片
lists=['a生','c老','b病','f死','s求不得','d恨别离']
print(lists[1:4]) #打印下标1,2,3,即 ['c老','b病','f死']
print(lists[1:]) #打印下标1到末尾的元素
print(lists[-4:]) #打印最后n个元素for list in lists[:3]: #遍历切片,遍历前三个元素
print(list)
#复制列表
listcopy=lists[:]
print("复制的元素为:")
print(listcopy)lists=['a生','c老','b病','f死','s求不得','d恨别离']
#复制列表
listcopy=lists[:] #lists遍历后,赋给listcopy
lists.append("12")
listcopy.append("34")
print(lists)
print(listcopy)#元组,里面的值不可修改
demo=(200,40)
print(demo[0])
print(demo[1])
for demo1 in demo: #遍历元组
print(demo1)
#给元组重新赋值
demo=(100,20)
for demo1 in demo: #遍历元组
print(demo1)#for in 循环 if判断
cars=['any','bike','dioe','oo','mm']
for car in cars:
if car=='any': #检查是否相等时,区分大小写
print(car.upper())
else:
print(car.title())# != 不相等
#and检查多个条件都满足
#or检查多个条件满足其中一个
#in 检查特定值是否在列表中
#not in 检查特定值不在列表中#if-else
age=18
if age>=18:
print("是个成年人了!")
else:
print("还是个孩子")#if-elif-else
age=17
if age<4:
print("小于4")
elif age<18:
print("大于4小于18")
else:
print("大于或等于18")#检测列表是否为空
lists=[]
if lists: #若为空,则返回false
print("列表不为空")
else:
print("列表为空")#使用多个列表
list1s=["a","b","c","d"]
list2s=["a","f"]for list2 in list2s:
if list2 in list1s:
print("该元素包含在list1s列表中,为:")
print(list2)
else:
print("该元素不包含在list1s列表中,为:")
print(list2)----字典
#字典 一系列键-值对
alien_0={'color':'green','point':5}
print(alien_0['color'])
print(alien_0['point'])
new_point=alien_0['point']
print(str(new_point)) #整数转为字符串#添加键-值对
alien_0['x_position']=0
alien_0['y_position']=25
print(alien_0) #python不关心键值对的添加顺序,只关心键-值之间的关联关系#创建字典
alien_0={}
alien_0['color']='green'
alien_0['point']=5
print(alien_0)
#修改字典中的值
alien_0['color']='yellow'
print(alien_0)#示例:
alient_0={'x_possition':0,'y_position':25,'speed':'medium'}
print("x的坐标:"+str(alient_0['x_possition']))if alient_0['speed']=='slow':
x_increment=1
elif alient_0['speed']=='medium':
x_increment=2
else:
x_increment=3
alient_0['x_possition']=alient_0['x_possition']+x_increment
print("x的坐标:"+str(alient_0['x_possition']))alien_0={'color':'green','point':5}
del alien_0['color'] #删除键值对
print(alien_0)#由类对象组成的字典
favorite_languages={
'join':'c',
'sun':'python',
'claoe':'java',
'lory':'c#',
'machle':'c++',
}print("Machle's favorite languages is "
+favorite_languages['machle'].title())#遍历字典
#遍历所有的键值对
user_0={
'username':'zhao xin',
'first':'zhao',
'fast':'xin',
}
for key,value in user_0.items(): #items()方法,返回一个键-值对列表
print("key:"+key)
print("value:"+value+"\n")#示例:
favorite_languages={
'join':'c',
'sun':'python',
'claoe':'java',
'lory':'c#',
'machle':'c++',
}for name,languages in favorite_languages.items():
print(name.title()+"'s favorite languages is "+languages.title()+"\n")for name in favorite_languages.keys(): #遍历字典中的所有键
print(name.title())
print("\n")
for name in favorite_languages.values(): #遍历字典中的所有值
print(name.title())#示例:
favorite_languages={
'join':'c',
'sun':'python',
'claoe':'java',
'lory':'c#',
'machle':'c++',
}friends=["sun","join"]
for name in favorite_languages:
if name in friends:
print("hello "+name.title())
for name in sorted(favorite_languages.keys()): #对列表中的值排序
print(name.title())for name in set(favorite_languages.values()): #set() 唯一无序
print(name.title())#嵌套
alien_0={'color':'green','point':'5'}
alien_1={'color':'blue','point':'10'}
alien_2={'color':'back','point':'15'}aliens=[alien_0,alien_1,alien_2]
for alien in aliens:
print(alien)
#在字典中存储列表
pizza={
'外皮':'薄脆',
'配料':["土豆","牛肉"],
}
print("你点的是"+pizza['外皮']+"的pizza,它带有的配料如下:")
for 配料 in pizza['配料']:
print(配料)#在字典中存储字典
users={
'join':{
'age':'18',
'sex':'man',
},
'sun':{
'age':'20',
'sex':'man',
},
}for username,userinfo in users.items():
print("姓名:"+username.title())
print("年龄:"+userinfo['age'])
print("性别:"+userinfo['sex']+"\n")-------第七章
#input()函数 输入的为字符串
message=input("请输入需要展示的东西:")
print(message)name=input("请输入你的名字")
print("Hello "+name)prompt="请输入你的姓名\n"
prompt+="你的名字:"name=input(prompt)
print(name)#使用int()来获取数值输入 转化为整数
age=input("请输入你的年龄:")
if int(age) > 18:
print("已成年")
else:
print("未成年") #求模运算符(取余)
num1=input("请输入一个正整数,以回车键结束:")
num1=int(num1)
num2=num1%2
if num2==0:
print("这是个偶数")
else:
print("这是个奇数")#while循环
num1=1
while num1<=5:
print(str(num1)+"\n")
num1+=1#while循环
active=True
while active:
message=input("请输入要展示的值")
if message=='q':
break #跳出循环 (active=False)
else:
print(message)#continue 跳出本次循环
#使用while循环处理列表和字典
#在列表之间移动元素
unconfirmed_users=['alin','join','macle']
confirmed_users=[]
while unconfirmed_users:
current_user=unconfirmed_users.pop() #删除方法pop(),删除列表末尾的元素
print("Verifying user : "+current_user.title())
confirmed_users.append(current_user)
#显示所有已验证的用户
print("\n The confirmed users:")
for confirmed_user in confirmed_users:
print(confirmed_user.title())#删除包含特定值的所有列表元素
pets=['dog','cat','rabbit','fish','cat']
print(pets)
while 'cat' in pets:
pets.remove('cat')
print(pets)#使用用户输入来填充字典
responses={}
polling_active=True
while polling_active:
#输入提示和回答
name=input("\n 你的名字是:")
response=input("你喜欢的颜色是什么 ")
#将答案存储在字典中
responses[name]=response
#是否还有人参与调查
repeat=input("是否继续 y/n ")
if repeat=='n': #注意比较字符串要加引号
polling_active=False
#调查结束,显示结果
print("\n The Result")
for name,response in responses.items(): #注意循环字典要有items()方法
print(name+' 喜欢的颜色是 '+response)
#函数
#定义函数
def greet_user(): #关键字def来定义函数
'''文档字符串注释'''
print("你好!")
greet_user()#向函数传递信息
def greet_user(username):
print("你好 "+username.title())
greet_user('join')#实参和形参
#传递实参
#位置实参(注意顺序)
def descript_pet(pet_type,pet_name):
'''显示宠物信息'''
print("宠物类型:"+pet_type+"\n宠物名字:"+pet_name+"\n")descript_pet('猫','凯迪')
descript_pet('狗','大黄')#关键字实参
descript_pet(pet_type='猫',pet_name='凯迪')#默认值
def descript_pet(pet_name,pet_type='狗'):
'''显示宠物信息'''
print("宠物类型:"+pet_type+"\n宠物名字:"+pet_name+"\n")descript_pet(pet_type='猫',pet_name='凯迪')
descript_pet(pet_name='大黄')
descript_pet('小黄')#返回值
def get_user(fast_name,last_name):
full_name=fast_name+" "+last_name
return full_name.title()
fullname=get_user('join','macle')
print(fullname)#让参数变成可选的
def get_user(fast_name,last_name,middle_name=''):
full_name=fast_name+" "+middle_name+" "+last_name
return full_name.title()
fullname=get_user('join','sun','macle')
print(fullname)fullname1=get_user('join','macle')
print(fullname1)#返回字典
def build_person(fast_name,last_name):
person={'first':fast_name,'last':last_name}
return person
man=build_person('join','sun')
print(man) #返回字典,进阶版
def build_person(fast_name,last_name,age=''):
person={'first':fast_name,'last':last_name}
if age: #如果age不为空
person['age']=age #添加字典
return person
man=build_person('join','sun')
print(man)#传递列表
def greet_user(names):
for name in names:
msg='helle '+name.title()
print(msg)
username=['join','sun','macle'] #列表
greet_user(username) #传入的参数为列表#在函数中修改列表
def print_models(unprinted_designs,completed_modles):
'''
模拟打印每个设计,打印每个设计后,
都将其移到列表completed_modles中
'''
while unprinted_designs:
current_design=unprinted_designs.pop()
print("当前打印的模型"+current_design)
completed_modles.append(current_design)def show_models(completed_modles):
for completed_modle in completed_modles:
print("已打印模型 "+completed_modle)
#赋值测试,调用函数
unprinted_designs=['aaa','bbb','ccc']
completed_modles=[]
#unprinted_designs[:]为副本
print_models(unprinted_designs[:],completed_modles)
show_models(completed_modles)print("原件:")
print(unprinted_designs)#传递任意数量的实参
def make_pizza(*toppings):
"""打印顾客点的所有配料"""
print(toppings)
make_pizza('土豆')
make_pizza('番茄','牛肉') #循环,对配料列表进行遍历
def make_pizza(*toppings):
print("\n 所点披萨的配料有:")
for topping in toppings:
print(topping)
make_pizza('土豆')
make_pizza('番茄','牛肉') #使用任意数量的关键字实参
def build_profile(first,last,**user_info):
"""创建一个字典,有关用户的信息"""
profile={}
profile['first_name']=first #profile['键']=值
profile['last_name']=last
for key,val in user_info.items():
profile[key]=val
return profile
user_profile=build_profile('zhao','xin',age='18',sex='man')
print(user_profile)#导入整个模块
#创建要使用的函数
def make_pizza(size,*toppings):
"""概述要制作的披萨"""
print("\n 制作有个"+str(size)+"寸的披萨"+"包含以下配料:")
for topping in toppings:
print("-"+topping)#在另一个文件中引用创建的模块
#将函数存储在模块中
import pizza
pizza.make_pizza(13,'牛肉') #文件名称.函数名
pizza.make_pizza(16,'土豆','番茄') #导入特定的函数
from pizza import make_pizza
make_pizza(13,'牛肉') #文件名称.函数名
make_pizza(16,'土豆','番茄') #使用as给函数指定别名
from pizza import make_pizza as mp
mp(13,'牛肉') #文件名称.函数名
mp(16,'土豆','番茄')#使用as 给模块指定别名
import pizza as p
p.make_pizza(13,'牛肉') #文件名称.函数名
p.make_pizza(16,'土豆','番茄')#创建和使用类
#创建Dog类
class Dog():
def __init__(self,name,age):
"""初始化属性"""
self.name=name
self.age=age
def sit(self):
"""行为:蹲下"""
print(self.name.title()+"坐下")
def roll_over(self):
"""行为:打滚"""
print(self.name.title()+"打滚")my_dog = Dog('little', 7)
print(my_dog.name.title()+"是我的小狗,")
print("它"+str(my_dog.age)+"岁了") class Car():
#属性
def __init__(self,make,model,year):#制造商 型号 生产年份
self.make=make
self.model=model
self.year=year
self.odometer_reading=0
#方法,打印描述信息
def get_descripve_name(self):
long_name="制造商 "+self.make+"\n型号 "+self.model+"\n生产年份 "+str(self.year)
return long_name.title()
#方法,更新行驶的里程数
def update_odometer(self,mileage):
self.odometer_reading=mileage
#方法,递增里程数
def increment_odometer(self,mileage):
self.odometer_reading+=mileage
#法,打印描行驶的里程数
def read_odometer(self):
print("行驶了"+str(self.odometer_reading)+"km")
#实例化
my_new_car=Car('join','幻影',2001) #属性赋值
print(my_new_car.get_descripve_name()) #调用方法
my_new_car.read_odometer()#修改属性的值
'''
#直接修改属性的值
#my_new_car.odometer_reading=23
#my_new_car.read_odometer()
'''
'''
#通过方法修改属性的值
my_new_car.update_odometer(45)
my_new_car.read_odometer()
'''#通过方法对属性的值进行递增
my_new_car.increment_odometer(45)
my_new_car.read_odometer()
my_new_car.increment_odometer(100)
my_new_car.read_odometer()