@@ -433,13 +433,13 @@ else:
433
433
``` python
434
434
# 摄氏度与华氏度的转换 井号#为注释代码
435
435
TempStr = input (" 请输入带有符号的温度值:" ) # 定义变量TempStr,变量的值为用户的输入值,input是给用户提供输入
436
- if TempStr[- 1 ] in [' F' ,' f' ]: # if判断条件: 如果 用户的输入值【截取最后一个字符】 是 'F'或'f' 执行冒号后面的表达式
436
+ if TempStr[- 1 ] in [' F' ,' f' ]: # if判断条件: 如果 用户的输入值【截取最后一个字符】 是 'F'或'f' 执行冒号后面的代码块
437
437
C = (eval (TempStr[0 :- 1 ]) - 32 )/ 1.8 # 定义变量C eval是把字符串解析成数字? [0:-1] 是截取0到-1位,-1表示倒数1位
438
438
print (" 转换后的温度是{:.2f } C" .format(C)) # 打印 对C进行格式转换,取小数点后两位,四舍五入
439
- elif TempStr[- 1 ] in [' C' ,' c' ]:# 如果if的条件不满足进入此elif判断, 如果 用户的输入值【截取最后一个字符】 是 'C'或'c' 执行冒号后面的表达式
439
+ elif TempStr[- 1 ] in [' C' ,' c' ]:# 如果if的条件不满足进入此elif判断, 如果 用户的输入值【截取最后一个字符】 是 'C'或'c' 执行冒号后面的代码块
440
440
F = 1.8 * eval (TempStr[0 :- 1 ]) + 32
441
441
print (" 转换后的温度是{:.2f } F" .format(F)) # 打印
442
- else : # 如果前面的条件都不满足则执行else内的表达式
442
+ else : # 如果前面的条件都不满足则执行else内的代码块
443
443
print (" 输入格式错误" ) # 打印字符串
444
444
```
445
445
@@ -453,6 +453,253 @@ else: # 如果前面的条件都不满足则执行else内的表达式
453
453
454
454
## 四、python程序语法元素分析
455
455
456
+ ### 1、程序的格式框架
457
+
458
+ ** 代码高亮** :编程的色彩辅助系统,每个编辑器的色彩可能会不一样。
459
+
460
+ ** 缩进** :一行代码前的空白区域,表达程序的格式框架。
461
+
462
+ * **严格明确**:缩进是语法的一部分,**缩进不正确程序运行错误**。
463
+ * **所属关系**:表达代码间包含和层次关系的唯一手段。
464
+ * **长度一致**:程序内一致即可,一般用4个空格或者1个Tab
465
+
466
+ ** 注释** :用于提高代码可读性的辅助性文字,不被执行。
467
+
468
+ * ** 单行注释** :以` # ` 井号开头,其后为注释内容。
469
+ * ** 多行注释** :以` ''' ` 三个单引号开头和结尾。
470
+
471
+
472
+
473
+ ### 2、命名和保留字
474
+
475
+ ** 变量** :程序中用于保存和表示数据的占位符号。
476
+
477
+ ** 命名** :关联变量标识符的过程叫命名。
478
+
479
+ * ** 命名规则** :大小写字母、数字、下划线和汉字等字符及组合。
480
+ * ** 注意事项** :大小写敏感、首字母不能是数字、不与保留字相同。
481
+
482
+
483
+
484
+ #### 保留字
485
+
486
+ 被编程语言内部定义并保留使用的标识符。
487
+
488
+ * ** python语言有33个保留字(也叫关键字)**
489
+ * 保留字是编程语言的基本单词,大小写敏感
490
+
491
+ | and | elif | import | ` raise ` | global |
492
+ | -------- | ------- | ------ | ------- | ---------- |
493
+ | as | else | in | return | ` nonlocal ` |
494
+ | ` assert ` | except | ` is ` | try | True |
495
+ | break | finally | lambda | while | False |
496
+ | ` class ` | for | not | ` with ` | None |
497
+ | continue | from | or | ` yield ` | |
498
+ | def | if | pass | del | |
499
+
500
+ ** 注意** :True、False、None首字母必须大写,否则就是变量。assert、class、is、raise、with、yield、nonlocal 除这7个关键字之外的其他关键字是基础语法中出现的,即本次课程中使用到的。
501
+
502
+ ** 说明** :
503
+
504
+ - False,True :布尔值
505
+ - None : 表示空值,有自己的数据类型NoneType
506
+ - and,or,not:逻辑与、或、非
507
+ - as :给引入的模块取新的名字
508
+ - assert :声明某个表达式必须为真,编程中若该表达式为假就会报错AssertionError
509
+ - break,continue,pass:控制语句和占位词
510
+ - if,else,elif,for,while:结构语句
511
+ - class:用来定义类
512
+ - def,return: 用来定义函数,从函数返回
513
+ - del:删除列表中不需要的对象,删除定义过的对象
514
+ - try,except,finally:try结构
515
+ - from,import:从模块中导入函数,调用时可省略模块名
516
+ - lambda:匿名函数
517
+ - in:判断对象是否在列表中
518
+ - is:判断两个变量是否指向同一对象
519
+ - global:定义全局变量,即便实在函数体内定义的global变量也全局可用
520
+ - nonlocal: 用来在函数或其他作用域中使用外层(非全局)变量
521
+ - with: 用来处理异常
522
+ - raise: 触发异常后,后面的代码就不会再执行
523
+ - yield:生成器用
524
+
525
+
526
+
527
+ ### 3、数据类型
528
+
529
+ 程序设计语言不允许存在语法歧义,需要定义数据的形式,通过一定方式向计算机表达数据的形式叫数据类型。
530
+
531
+ 如:"123"是字符串,123是数字
532
+
533
+
534
+
535
+ 数据类型:字符串、整数、浮点数、列表(数组?)
536
+
537
+
538
+
539
+ #### 字符串
540
+
541
+ 单引号或双引号包括的有序字符;有序指有索引值。
542
+
543
+ * python中字符串的序号有 ** 正向递增序号** 和 ** 反向递减序号**
544
+
545
+ ``` python
546
+ '''
547
+ -5 -4 -3 -2 -1
548
+ '我是字符串'
549
+ 0 1 2 3 4
550
+ '''
551
+ # 反向递减 即表示倒数第几个,最后一个为倒数第一个,即-1
552
+ ```
553
+
554
+ * ** 获取单个字符** :使用[ ] 方括号获取字符串中单个字符
555
+
556
+ ``` python
557
+ # 获取单个字符串的格式:<字符串>[索引]
558
+ # '我是字符串'[0] 返回'我'
559
+ # '我是字符串'[-1],返回'串'
560
+ ```
561
+
562
+ * ** 切片** :返回字符串中一段子串
563
+
564
+ ``` python
565
+ # 获取子串的格式:<字符串>[M:N]
566
+ # '我是字符串'[1:3] 返回'是字',从1到3前,不包括3。
567
+ # '我是字符串'[0:-1],返回'我是字符',从0到倒数第一个前,不包括倒数第一个。
568
+ ```
569
+
570
+
571
+
572
+ #### 数字
573
+
574
+ 包含整数和浮点数
575
+
576
+ * 整数:数字中的整数,包含正整数和负整数。
577
+ * ** 浮点数** :数学中的实数,带有小数部分,包含正负数。
578
+
579
+
580
+
581
+ #### 列表
582
+
583
+ 由0个或多个数据组成的有序序列。
584
+
585
+ ``` python
586
+ [' F' ,' C' ]
587
+ ```
588
+
589
+ ** 使用关键字 in 判断一个元素是否在列表中**
590
+
591
+ ``` python
592
+ ' c' in [' C' ,' c' ] # 返回布尔值 True,如果前者不在列表中返回False
593
+ ```
594
+
595
+
596
+
597
+
598
+
599
+ ### 4、语句与函数
600
+
601
+ #### 赋值语句
602
+
603
+ 由赋值符号‘=’构成的一行代码
604
+
605
+
606
+
607
+ #### 分支语句(if elif else)
608
+
609
+ 由判断条件决定程序运行方向的语句
610
+
611
+ ``` python
612
+ if Ture: # 注意在条件判断后有冒号
613
+ print (' 打印1' ) # 注意在条件判断内部代码块有代码缩进
614
+ else :# 有冒号
615
+ print (' 打印2' )
616
+ ```
617
+
618
+
619
+
620
+ #### 函数
621
+
622
+ 根据输入参数产生不同输出的功能过程
623
+
624
+ ``` python
625
+ # 函数格式: <函数名> (<参数>)
626
+ # 这些都是函数
627
+ input ()
628
+ eval ()
629
+ print ()
630
+ ```
631
+
632
+
633
+
634
+
635
+
636
+ ### 5、python程序的部分函数
637
+
638
+
639
+
640
+ #### python程序的输入和输出
641
+
642
+ 通过input()和print()输入和输出
643
+
644
+
645
+
646
+ #### input() 输入函数
647
+
648
+ 从控制台获得用户输入内容的函数
649
+
650
+ ``` python
651
+ # 格式:<变量> = input(<提示信息字符串>)
652
+ TempStr = input (' 请输入内容:' ) # 使用input函数在控制台提示用户输入内容,并获得用户输入的内容赋值给变量
653
+
654
+ # 注意:输入的内容为字符串格式返回给变量
655
+ ```
656
+
657
+
658
+
659
+ #### print() 输出函数
660
+
661
+ 以字符形式向控制台输出结果的函数
662
+
663
+ ``` python
664
+ # 格式:print(<输出字符串或字符串变量>)
665
+ ```
666
+
667
+
668
+
669
+ #### format() 格式化
670
+
671
+ print()函数的** 格式化** :
672
+
673
+ ``` python
674
+ print (" 转换后的温度是{:.2f } " .format(C))
675
+
676
+ # 字符串内部的{}表示槽,后续变量填充到槽中
677
+ # {:.2f}表示将变量C填充到这个位置时取小数点后2位
678
+ ```
679
+
680
+
681
+
682
+
683
+
684
+ #### eval() 评估函数
685
+
686
+ 去掉参数最外侧引号并执行余下语句的函数,简单叫评估函数。
687
+
688
+ ``` python
689
+ # 格式: eval(<字符串或字符串变量>)
690
+
691
+ >> > eval (' 1' ) # 数字字符串去掉引号变成数字
692
+ 1
693
+ >> > eval (' 1+2' ) # 去掉引号后是语句1+2 执行它得到3
694
+ 3
695
+ >> > eval (' "1+2"' ) # 去掉引号是字符串"1+2"
696
+ " 1+2"
697
+ >> > eval (' print("Hello")' ) # 去掉引号后是语句print("Hello"),执行它打印Hello
698
+ Hello
699
+ ```
700
+
701
+
702
+
456
703
457
704
458
705
0 commit comments