- 开发环境、工具:python3.7(https://www.python.org/downloads/windows/)+ Pycharm 2019.3(https://www.jetbrains.com/pycharm/download/#section=windows)
- 简单介绍:龟叔研究的解释性语言,开源,设计哲学是“优雅”、“明确”、“简单”,所以代码量相较于c,c++,java来说是最少的。
- python的源码以py格式保存。下面是:注释、键盘输入、输出、占位符、比较预算符的一些源码。
# 单行注释:# [注释]
# python对代码的要求比较严格,有些空格必须要有
# 描述天气
print("hello world!!") # 代码行后面加注释
"""
多行注释,三个引号
"""
print("hello 中国")
# 通过键盘输入来拼接字符串
a = input("输入数字:")
b = input("输入数字:")
print("您输入字符串为:"+a+b)
# 输出占位符
# %sz :字符串
# %d :整数
# %f :浮点数
# %.3 :设置小数的位数,省略数字,代表是取整
# %% :输出%
age = 18
name = "张三"
height = 1.780
print("姓名是%s,年龄是%d岁,身高%.3f米,期望薪资是处于同龄人的5%%" % (name, age, height))
print("计算圆的面积测试=====================================================")
# 圆的半径
r = float(input("请输入圆半径(最多2位小数):"))
# 圆周率
pi = 3.14
# 计算圆的面积
area = pi * r ** 2
print("半径为%.2f的圆的面积为:%.2f" % (r, area))
# 比较运算符
score1 = 100
score2 = 200
print(score1 == score2)
# 字符串间的比较运算
# 大小顺序:0<1<2<...9<A<B<C<...Z<a<b<c<...z
score1 = "100"
score2 = "200"
print(score1 < score2)
下面这张图是有关字符串大小的比较:随着箭头逐渐增大。
python的三种逻辑运算符: 与(and) 或(or ),非(not )
- 短路与: A and B中, 若操作数A为False,那么操作数B将不会执行(被短路),输出False
- 短路或:A or B中, 若操作数A为True,那么操作数B将不会执行(被短路),输出True
# 关系运算符 and or not(非)
# and 全1才1,有0即0
# or 有1即1
# 结论:某个操作数可以决定整个式子值的,最终结果即为该操作数;
# 两个操作数都无法单独决定整个式子值的,最终结果即为后面的操作数。
age = True
money = True
print(age and money)
print("分隔符11111111111111")
# 数字 and 逻辑
print(1 and True) # True
print(0 and True) # 0
print(1 or True) # 1
print(0 or True) # true
print("分隔符22222222222222")
# 逻辑 and 数字
print(True and 1) # 1
print(True and 0) # 0
print(False or 0) # 0
print(False or 2) # 2
print(False and 1) # False
print("分隔符33333333333")
# 数字 and 数字
print(1 and 2) # 2
print(1 and 0) # 0
print(0 or 0) # 0
print(0 or 2) # 2
print("分隔符44444444444")
# 注意: 这种下面是位运算符,都是按位&、|、^、~
print(1 & 2) # 0 按位与
print(1 | 2) # 3 按位或
print(2 | 3) # 1 按位异或,两数不同返回1
4.分支语句和循环语句。
分支语句:
# 分支语句:if语句
print("开始")
if True: # 冒号必须有,代表条件写完了
print("分支语句学习1") # 缩进4个空格必须有,if只控制缩进的语句
print("分支语句学习2")
print("结束")
# 案例
num = 100
if num > 100:
print("大于100")
# 分支语句:if...else...语句
if 10 % 2 == 0:
print("这是 个偶数")
else:
print("不是偶数")
# 分支语句 多种情况
salary = 8000
if salary < 5000:
print("实习生")
elif 5000 <= salary < 8000:
print("助理工程师")
elif 8000 <= salary:
print("工程师")
# 案例
day = input("请输入星期数:")
if day == 1:
print("跑步")
elif day == 2:
print("游泳")
elif day == 3:
print("健身房")
elif day == 4:
print("动感单车")
elif day == 5:
print("拳击")
elif day == 6:
print("爬山")
else:
print("约会")
# 嵌套分支语句 :注意空格即可
# 判断输出一个数是偶数还是奇数还是负数
number = 19
if number > 0 :
if number % 2 == 0 :
print("是偶数")
else:
print("是奇数")
else:
print("是负数")
# 超长行处理:
# 在连续书写的内容位置敲回车,换行后会出现一个\,还有一个是括号。
循环语句:
# 循环。一般从0开始,用小于号控制次数,比如下面输出4次
# i = 0
# while i < 5:
# #
# print("hello Python!")
# i += 1
# 数据累计求和
num = 1
sum = 0
while num <= 100:
sum = sum + num
num += 1
print("1到100的和为:%d" % sum)
# break功能(结束循环)
i = 0
while i < 10:
i += 1
# 大于5就结束
if i > 5:
break
print("查数:%d" % i)
print("break结束")
# continue 功能 (结束本次循环,开始下一轮循环)
i = 0
while i < 10:
i += 1
# 只查偶数
if i % 2 == 0:
continue
print("查数:%d" % i)
print("结束")
# 循环嵌套
# *
# * *
# * * *
# * * * *
# * * * *
j = 1
while j <= 5:
i = 1
while i <= j:
print("*", end=" ")
i += 1
print() # 换行
j += 1
# 九九乘法表
j = 1
while j < 9:
i = 1
while i <= j:
print("%d*%d=%d" % (i, j, i * j), end="\t") # \t就是tab键,控制打印对齐
i += 1
print() # 换行
j += 1
5.函数。
"""
函数的定义与调用
定义格式:
def 函数名():
函数体
调用格式:
函数名()
"""
def say():
"""
打印hello Python
:return:
"""
print("hello world")
print("hello china")
print("How beautiful the girl is! ")
# 函数的调用必须写在函数定义之后,即先定义,后调用
say()
# 注意:
# 1.函数的文档注释,在函数体第一行写。
# 2.Pycharm 规范:函数的前后空两行。
# 函数的参数
def sumDemo(a,b): # 形参
"""用于计算1到500的和"""
print(a+b)
sumDemo(10,6) # 实参
函数的作用域、返回值、global关键字
"""全局变量与局部变量的冲突,用global关键字把局部变量提升为局部变量。注意先声明,再使用。
格式:
global 变量名
"""
def test():
global x # 先声明,即把函数里的x =10 提升为了全局变量。
x = 10
print(x) # 10
x = 20
test()
print(x) # 10
"""
函数返回值
"""
def add(a,b):
return a+b
def max1(a, b):
if a > b:
return a
else:
return b
print(max1(3, 4))
# 注意:
# 当函数没有返回值,结果是一个None。 同一个函数执行过程中只能执行一次return语句。
def max1(a, b):
if a > b:
print(a)
else:
print(b)
def max1(a, b):
if a > b:
return a
else:
return b
c = max1(3, 4) # None
6.面向对象。跟java一样"一切即对象"。
类:一系列事务的统称,同类事物必定具有相同的特性。
类根据特性分为状态和行为,转化语言分别是:变量和方法。
"""
类的2种定义格式:
1.
class 类名:
pass
2.
class 类名:
成员
"""
class Cat:
pass
class MyName:
pass
"""
如何创建对象
格式:
变量名 = 类名 ()
"""
# 创建对象不限制个数
cat1 = Cat()
cat2 = Cat()
cat3 = Cat()
"""
类的成员变量。
定义格式一:
class 类名:
def _init_(self):
self.变量名1= 值1
self.变量名2= 值2
self.变量名3= None
定义格式二(不常用):
对象名.变量名 = 值
调用格式:
取值:对象名.变量名
赋值:对象名.变量名 = 值
"""
class Dog: # 格式一的定义
def __init__(self):
self.type = "藏獒" # 所有狗的类型都是藏獒
self.name = None # 暂时没有名字,因为狗的名字狗的名字可能不一样
"""
调用格式
取值:对象名.变量名
赋值:对象名.变量名 = 值
"""
dog1 = Dog()
print(dog1.type) # 取值
dog1.name = "小黄" # 赋值
print(dog1.name) # 取值
dog2 = Dog()
print(dog2.type) # 取值
dog2.name = "小黄" # 赋值
print(dog1.name) # 取值
dog2.color = "红色"
"""
创建对象就有的属性是公有属性;创建对象之后才有的属性是独有属性,如上面的color
"""
类的成员方法
class Cat:
def __init__(self):
self.type = "波斯猫"
self.name = None
def eat(self):
print("猫爱吃鱼")
def climb(self,meter):
print("猫会爬树,怕了%d米" % meter)
cat1 = Cat()
print(cat1.type)
cat1.eat()
cat1.climb(15)
# __init__(self)方法是在创建对象时调用的,无需手工调用即可执行。对于程序中声明、定义的方法在特定实际自动执行的方法,称为魔术方法。
# _str_() 方法在使用print函数打印输出对象到屏幕时被运行,无需手工调用即可执行。该方法也属于魔术方法
# _str_() 方法定义格式:
# def _str_(self):
# return 打印对象是显示的信息