一.初识python及基础语法
1.变量:
(1)变量:将一些运算的中间结果暂存到内存中,以便后续代码调用
(2)变量的命名规则:
(1)、必须有数字、字母、下划线任意组合、且不能是数字开头
(2)、不能是python中的关键字
(3)、变量具有可描述性
(4)、不能是中文
2.注释...等概念:(一切变量都是对象)
方便他人理解代码
单行注释:#多行注释:""" """、''' '''
默认的数据类型:str
整行复制: ctrl+ D
\n换行符
\t 制表符
str="天气不错"
print("天气不错")
print("天\t不错")
print("\t天气不错")
print(" 天气不错")
print("a\tabcd")
print("天气不错")
print("天\t不错")
print("\t天气不错")
print(" 天气不错")
print("a\tabcd")print("a\tbcd")
3.python环境:
(1)编译型:
一次性将所有程序代码全部编译成二进制文件(涉及到数据的运算用编译型,如c++、c)
(2) 解释型:
一边执行一边解释,(如:Python、php)
4.常用运算符:
a , b , c = 10 , 2 ,3
print('默认浮点商',a/4)
print('余数',a%4)
print('整数商',a//4)
rint('10*2',10*2)
print('默认浮点商',a/4)
print('余数',a%4)
print('整数商',a//4)
rint('10*2',10*2)print('10**2',10**2)
5.多个语句构成代码组
缩进相同的一组语句构成一个代码块,我们称之代码组。
像if、while、def和class这样的复合语句,首行以关键
字开始,以冒号( : )结束,该行之后的一行或多行代码
构成代码组。我们将首行及后面的代码组称为一个子句
(clause)。
如下实例:
if expression :
suite
elif expression :
suite
else :
suite
5.输出 print
默认输出是换行的,如果要实现不换行需要在变量末尾加上 end = "":
x = "a"
y = "b"
# 换行输出
print(x)
print(y)
print('---------')
# 不换行输出
print(x, end=" ")
print(y, end=" ")
print()
练习
(1). 用户交互:
a=input("输入年龄:")
print("你的年龄是:",a)
# 等待输入。
# 将你输入的内容赋值给了前面的变量。
# inout出来的内容全部都是str(字符串)。
(2).请用户输入一个四位数字,求此数字各个位之和:
num=int(input("输入一个四位数:"))
#1234
qian=num//1000
bai=num%//1000//100
shi=num%100//10
ge=num%10
print(qian+bai+shi+ge)
(3).请输入成绩,如果大于等于90,输出'优秀';如果大于等于70,输出'良好';如果大于等于60,输出'及格';否则输出'不及格':
num=int(input(“输入成绩:”))
if num >=90:
print("优秀")
elif num >=70:
print("良好")
elif num >=60:
print("及格")
eilf num <=60:
print("不及格")
(4).猜数字游戏:
import random
n= int(random.random()*10) #丢失精度num= int(inprt("输入一个1位数:"))
if num > n:
print("大了")
elif num < n:
print("小了")
else num >= n
print("对了")
print(n)
(5).用户输入月份,判断当前月份为几月,并输出有多少天,如果用户输入2月份,则请用户输入年份,
判断是平年,则输出28天,闰年则输出29天:
num=int(input(' 输入一个1月份:'))
if num in (1,3,5,7,8,10,12):
print('31天')
elif num ==2:
year = int(input(' 年份:'))
if (year%100!=0 and year%4==0) or (year%100==0 and year%400==0):
print('29天')
else:
print('28天')
else:print('30天')
====================================================
字典
字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字、字符串、元组,
这种结构类型也称之为映射。字典类型是Python中唯一內建的映射类型,基本的操作包括如下:
(1)len():返回字典中键—值对的数量;
(2)d[k]:返回关键字对于的值;
(3)d[k]=v:将值关联到键值k上;
(4)del d[k]:删除键值为k的项;
(5)key in d:键值key是否在d中,是返回True,否则返回False。
1.访问字典里的值
把相应的键放入熟悉的方括弧,如下实例:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
print("dict['Name']: ", dict['Name']);
print("dict['Age']: ", dict['Age']);
输出结果:
dict['Name']: Zara
dict['Age']: 7
2.修改字典
向字典添加新内容的方法是增加新的键/值对,
修改或删除已有键/值对
如下实例:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry
print("dict['Age']: ", dict['Age']);
print("dict['School']: ", dict['School']);
输出结果:
dict['Age']: 8
dict['School']: DPS School
字典键的特性
字典值可以没有限制地取任何python对象,既可以是标准的对象,
也可以是用户定义的,但键不行。
(1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,
后一个值会被记住.如下实例:
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};
print("dict['Name']: ", dict['Name']);
输出结果:
dict['Name']: Manni
============================================
增:d["不在d里键"]=值 stus={'佐助':14,'鸣人':16}
dit={'爱好':['吃','喝','玩','乐']}
通过key进行操作 stus['卡卡西']=20
stus['卡卡西']=20 # 没报错 覆盖
print(stus)
删:del d["已存d在的键"] 如果不存在就抛异常
第一种删除方式
del stus['卡卡西']
print(stus)
删: pop("已存d在的键"[,default]) 返回值被删除的值 第二种删除方式
ret= stus.pop('卡卡西')
print(ret)
print(stus)
当要删除的key 不存在返回的值----系统不抛异常了
第三种删除方式
ret =stus.pop('卡卡西','无此key')
print(ret)
print(stus)
stus={'佐助':14,'鸣人':16}
dit={'爱好':['吃','喝','玩','乐']}
print('佐助年龄:',stus.get('佐助','不存在'))
print('鸣人年龄:',stus['鸣人'])
练习
1.
citys={
'北京':{
'朝阳':['三里屯','国贸'],
'海淀':['中关村','公主坟'],
'丰台':['角门西','天坛']
},
'河北':{
'张家口':['大境门','宣化'],
'石家庄':['桥西区','乔松区'],
}
}
for city in citys.keys():
print(city)
for qu in citys.get(city).keys():
print('\t'+qu)
print('\t\t'+str(citys.get(city).get(qu)))