Python--初识庐山真面目

基础知识

变量

  • 只能自上而下,比如:
y=2
print(x+y) 
x=3             #  错误,Python只能自上而下读取变量
--------------------------------------------------
y=2
x=3​​ 
print(x+y       #  正确​​
  • 变量名的第一个字符不能是数字
  • 关键字不能当做变量名
  • 变量名可分为驼峰体和下划线
    驼峰体:首字母大写,例如:AgeOfMe=20
    下划线:全部小写用下划线分割,例如:age_of_me=20
  • 关于常量:Python中的常量约定俗成地用全大写表示,例如:NAME=小明 默认NAME是常量即在下面的代码中不会变动
  • 变量替换:因为Python是由上往下的,故直接在下面重新赋值即可,例如:
x=2
y=3
x=5
print(x+y)     #  得到的结果就是8而非5​​​​​
  • 注释
    1.三个双引号——多行注释
    2.一个井号(后最好空两格)——单号注释
    3.三个单引号也可以但是尽量不用
    Pycharm注释快捷键:选择你要加注释的行ctrl+? 达到全部注释的效果,取消全部注释再次按ctrl+?

基本数据类型

  • 整型
    int 长度不超过2**62
    long 无限大(但是在Python3中已经不区分int 和 long,都认为是int
  • 浮点型
    float 可以认为是小数
    在Python中可以调用type来判断变量的数据类型
  • 字符串
    1.定义:带有双引号/单引号/三引号
    2.双引号:适用于所写的字符串里没有双引号的。例如:
print("凡是“辛苦"必是礼物")    #  报错​​

3.单引号:适用于所写的字符串里没有单引号的。例如:

print('I'm xiaoming')    #  报错​​

4.三引号:适用于多行字符串。例如:

print('''
灯火星星
余音杳杳
歌不尽乱世烽火
''')

5.拼接:可进行字符串的加,乘,例如:

str1="一重山"
str2="两重山"
str1+str2
'一重山两重山                   '​​​ # 输出结果
str1*3
'一重山一重山一重山'​​               # 输出结果

​其他运算基本上都不能实现,比如减法,除法,乘方

  • 布尔类型
    正确 true 错误 false , 例如:
a=3
b=5
a>b
false    #​​​ 输出结果
a
  • 列表
    定义
    以中括号括住,双引号引起,逗号隔开,可以提出中间某个元素,正序以0开始索引,逆序以-1开始索引。例如:
poems=["残雪凝辉冷画屏","落梅横笛已三更","更无人处月胧明","我是人间惆怅客","知君何事泪纵横","断肠声里忆平生"]
poems[2]
'落梅横笛已三更'​​            #   输出结果
  • 增删改查
    1.增
    插入:用变量.insert 在列表内部插入,插入的元素在索引字符元素之前,例如:
poems.insert(3,"云想衣裳花想容")     
 # 输出结果 即在我是人间惆怅客前插入云想衣裳花想容
​['残雪凝辉冷画屏', '落梅横笛已三更', '更无人处月胧明', '云想衣裳花想容', '我是人间惆怅客', '知君何事泪纵横', '断肠声里忆平生']​  

追加:用变量.append 在列表的最后插入,例如:

poems.append("云想衣裳花想容")
# 输出结果,即在列表的最后加入'云想衣裳花想容'
​['残雪凝辉冷画屏', '落梅横笛已三更', '更无人处月胧明', '我是人间惆怅客', '知君何事泪纵横', '断肠声里忆平生', '云想衣裳花想容']​

2.删
用del [ ]来删除列表指定位置的元素,例如:

del poems[6]
# 输出结果,即删除列表中的第六个元素(在此相当于删除列表中的最后一个元素,也可以写成del poems[-1] )​
['残雪凝辉冷画屏', '落梅横笛已三更', '更无人处月胧明', '我是人间惆怅客', '知君何事泪纵横', '断肠声里忆平生']​

3.改
直接赋值即可,例如:

poems[3]="晚日寒鸦一片愁"
# 输出结果,将​原列表中的我是人间惆怅客替换为晚日寒鸦一片愁
['残雪凝辉冷画屏', '落梅横笛已三更', '更无人处月胧明', '晚日寒鸦一片愁', '知君何事泪纵横', '断肠声里忆平生']​

4.查
可直接查,例如:

"落梅横笛已三更" in poems
True      # 在,输出true 
 "柳塘新绿却温柔" in poems
False   # 不在,输出false

用变量.index( )索引,例如

poems.index("落梅横笛已三更")
1     # 在列表里面就输出其位置,若不在就会报错

读取用户指令

  • 最简单版,用input,注:用input接收到的数据只能以字符串的格式处理。例如:
age=input("请输入你的年龄:")​
请输入你的年龄:20          # 输出结果
type(age)​    #  用input接收到的数据只能以字符串的格式处理
  • 格式化打印:
    为了使显示出来的界面更加美观,需要添加一些格式,例如:
str1 = float(input('请输入您的身高(单位:米):'))   # input默认转化为字符串型 用float转化为浮点型
str2 = float(input('请输入您的体重(单位:千克):'))
BMI = str2/str1**2 # BMI=体重除以身高的平方
msg = '''--------BMI---------
您的身高是: %f       # %f 对应以浮点数输出 %s 以字符串输出 %d 以整数输出
您的体重是: %f
您的BMI是: %f
--------end----------'''%(str1,str2,BMI)   # 必须紧跟三引号后,与上面三个%f按顺序对应
print(msg)
if BMI < 18.5: 
  print('过轻,记得补充营养哦')
if BMI > 18.5 and BMI < 24.9: 
  print('正常,注意保持哟')
if BMI > 24.9: 
  print('超标,注意均衡饮食')  
 # 输出结果​为:
请输入您的身高(单位:米):1.65
请输入您的体重(单位:千克):60
--------BMI---------
您的身高是: 1.650000
您的体重是: 60.000000
您的BMI是: 22.038567
--------end----------
正常,注意保持哟

运算符

1.算术运算符

  • 加 : 两个对象相加 例如:
a=12.36 
b=13.987 
a+b
26.347      # 输出结果​
------------------------------
# 若变量为字符串​
a="金风玉露一相逢"
b="便胜却人间无数"
a+b
'金风玉露一相逢便胜却人间无数'     #  输出结果
  • 减 : 得到负数或是一个数减去另一个数 例如:
a=4.12
b=6.453
a-b-2.333
  • 乘 : 两个数相乘或是返回一个被重复若干次的字符串 例如:
a=3
b=9
a*b
27     #   输出结果
-------------------------------------
# 若变量为字符串 
a="便胜却人间无数" 
a*3             # 只能乘整数,不能拿两个字符串相乘
'便胜却人间无数便胜却人间无数便胜却人间无数'​​​​​
  • / 除 :x 除以y 例如:
a=2.9
b=3.2
a/b​​
0.9062499999999999​     $ 输出结果
  • % 取模 : 返回除法的余数 例如:
a=19
b=4
a%b​​
3              # 相当于19/4=4......3 余数为3​
  • ** 幂 : 返回x的y次幂 例如:
a=8
b=4
a**b​​​
4096     #    输出结果
  • // 取整除: 返回商的整数部分(向下取整) 例如:
a=19
b=​4
a//b​4      #​ 相当于19/4=4......3 取商的整数部分
4

2.赋值运算符

  • = 简单的赋值运算符 例如:
a=2
b=3
c=a+b
c
5    #​​​​ c = a + b 将 a + b 的运算结果赋值为 c
  • += 加法赋值运算符 例如:
a=2 
b=3 
a +=b       # a += b 等效于 a = a + b 
a
5
  • -= 减法赋值运算符 例如:
a=8
b=3
a -= b      # a -= b 等效于 a = a- b 
a
5
  • **= 乘法赋值运算符 例如:
a=4
b=5
a*=b # a *= b 等效于 a = a * b
a
20
  • /= 除法赋值运算符 例如:
a=35
b=6
a/=b    # a /= b 等效于 a= a / b 
a
5.833333333333333​​​
  • %= 取模赋值运算符 例如:
a=19
b=4
a%=b    # a %= b 等效于 a = a % b
a
3
  • ** = 幂赋值运算符 例如:
a=2
b=5
a**=b # a **= b 等效于 a = a ** b
a
32​​​​
  • //= 取整除赋值运算符 例如:
a=17
b=3
a//=b    # a //= b 等效于 a = a // b
a
5​​​​

3.比较运算符

  • == 等于 - 比较对象是否相等
a=10 
b=15 
a == b
False # a与b不相等,返回False 
#下面全都是以a=10 b=15 进行运算的
  • != 不等于 - 比较两个对象是否不相等
a != b
True    #   a与b不相等是真的,返回True
  • <> 不等于 - 比较两个对象是否不相等
a <> b
True       #  这个运算符类似 != 在Python3中已经不再使用这个运算符了
  • 判断两个对象之间的大小
a > b
False    # a 小于 b,输出False
a < b
True    # 所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价
a >= b
False  
a <= b
True

4.逻辑运算符

  • and
    符号两边的值为数字: 谁假返回谁的值 同假返回符号左边的值 同真返回符号右边的值 例如:
a=10 
b=20 
a=0
b=20​ 
a and b # a=0 !=10 a为假 b=20 为真 返回假a的值
0
-------------------------------------------------------------------------
a=10
b=20
a and b # a=10 b=20 全为真 返回 真b的值
20​
-------------------------------------------------------------------------
a=10
b=20 
a=0 
b=5 
a and b # a=0!=10 为假 b=5!=10为假 返回假a的值
0
--------------------------------------------------------------------------
a=10 
b=20
a=10 
b=5
a and b # a 为真 b 为假 返回假b的值
5

符号两边的值为字符串:有空字符串则输出空字符串 无空字符串则输出符号右边的值 例如:

a="落花人独立"
b='' a and b'' 
b and a
''               #  输出结果
----------------------------------------------------------------------------​ 
a="落花人独立" 
b="微雨燕双飞"
a and b
'微雨燕双飞'         #  同真输出运算符右侧的字符串
----------------------------------------------------------------------------
b and a
'落花人独立'        #  同真输出运算符右侧的字符串

符号两边的值为布尔值:同真为真 一假则假 例如:

a=3 
b=8 
c=5 
c>a and c
  • or
    符号两边的值为数字:a b 谁真返回谁的值 同真返回符号左边的值 同假返回 符号右边的值 例如:
a=10 
b=20 
a=0 
b=20​​ 
a or b # a=0 !=10 为假 b=20 为真 返回真b 的值
20
----------------------------------------------------------------------------​ 
a=10 
b=20
a=0 
b=5 
a or b # a=0!=10 为假 b=5!=10 为假 返回假b 的值
5
​-----------------------------------------------------------------------------​
a=10
b=20 
a=10 
b=5 
a or b # a 为真 b 为假 返回 真a 的值
10​
---------------------------------------------------------------------------
a=10 
b=20 
a or b # a 为真 b 为真 返回真a的值
10

符号两边的值为字符串:相当于只有空字符串为假,两边同为字符串输出空字符串,其他非空字符串都为真,输出符号左边的字符串 例如:

a="落花人独立" 
b="微雨燕双飞" 
a or b
'落花人独立' 
----------------------------------------------------------------------------
b or a
'微雨燕双飞' 
----------------------------------------------------------------------------
c='' 
a or c
'落花人独立' 
----------------------------------------------------------------------------
c or a
'落花人独立' 
----------------------------------------------------------------------------
d='' 
c or d
''

符号两边的值为布尔值:同假为假 一真则真 例如:

a=3 
b=8 
c=5 
c>a or ca or c

not
符号两边的值为数字 :相当于只有0为假 输出true 其他非0的数字输出false 例如:

a=0
b=2​ 
not a # 对于数字 ,只有0为假 返回true
True
----------------------------------------------------------------------------
not b # 其他任何非·0的数字 全为真 返回false
False

符号两边的值为字符串:相当于只有空字符串为假 输出 true 其他非空的字符串输出 false 例如:

a="空山新雨后" 
b='' 
not a
False 
----------------------------------------------------------------------------
not b
True

符号两边的值为布尔值:真为假 假为真 例如:

a = 5 < 2
not a # 对于布尔类型,a 为假 输出 true
True
------------------------------------------------------------​
a = 5 > 4
not a # 对于布尔类型 ,a 为真 输出 false
False

流程控制

  • 单分支:
    if 条件
    语句
    若条件成立 则执行语句 不成立则不执行 例如:
a=input('weather:' )
if a=="rainy":       # 条件后加 : ​ 
  print("take an umbrella")    # 四个空格 或 Pycharm 中一个tab
# 结果输出
weather:rainy
take an umbrella
-----------------------------------------​------------------------------------
weather:sun        # 不输出​​
  • 双分支:
    if 条件1 : 语句1
    else 语句2
    若条件成立则执行语句1 不成立则执行语句2 例如:
a=input('weather:' )
if a=="rainy":    
  print("take an umbrella")
else:    
  print("it's a good day")
#   输出结果
weather:sun 
it's a good day​
----------------------------------------------------------------------------
weather:rainy     # 输入rainy 输出结果
take an umbrella
  • 多分支:
    if 条件1 :
    语句1
    elif 条件2:
    语句2
    elif 条件3:
    语句3
    else:
    语句4
    例如:
age=int(input('请输入你的年龄:'))
if age<12:    
  print("you are too young!")
elif age<18:    
  print("you are going to be an adult!")
elif age<30:    
  print("you are still an energetic man!")
elif age<50:    
  print("you are a mature man!")
else:    
  print("enjoy your entirement!")
#    结果输出
请输入你的年龄:10
you are too young!
---------------------------------------------------------------------------
请输入你的年龄:16
you are going to be an adult!
---------------------------------------------------------------------------
请输入你的年龄:20
you are still an energetic man!
---------------------------------------------------------------------------
请输入你的年龄:40
you are a mature man!
--------------------------------------------------------------------------
请输入你的年龄:60
enjoy your entirement!
  • while 语法:while...else 例如:
a = 0
while a < 5: 
  a += 1 
  print(a)
else: 
  exit(a)      
# 结果输出
12345
  • break: 终止全部循环(注:只有在循环里才能使用break) 例如:
a = 0
while a < 10: 
  a += 1 
  if a % 2 == 0: 
    print(a) 
  else: break
else: exit(a)
# 结果输出:​
Process finished with exit code 0     # 因为a的第一次输出应该为1,是奇数,故直接break掉了
  • continue: 终止本次循环,进入下次循环 (注:只有在循环里才能使用break) 例如:
a = 0
while a < 10: 
  a += 1 
  if a % 2 == 0: 
    print(a) 
  else: continue
else: exit(a)
# 结果输出
246810
Process finished with exit code 10
  • while True 语法:while True 语句中一定要有结束该循环的break语句,否则就是死循环

你可能感兴趣的:(Python--初识庐山真面目)