1. 第一个程序
工作中一般都是使用PyCharm
进行开发,这里就直奔主题,直接展示一个程序的简单结构:
1.1 简单层级结构
1.2 示例源码
main.py代码如下:
import basis.grammar
if __name__ == '__main__': sumRes = basis.grammar.get_sum(1, 3) print("求和结果:", sumRes) print("常量:", basis.grammar.PACKAGE_DESC)
|
print
是常用的打印函数
grammar.py代码如下:
PACKAGE_DESC = "语法学习演示代码"
def get_sum(a, b): """ :param a: 参数a :param b: 参数b :return: """ return a + b
|
在Python
中,注释用井号(#
)标识。井号后面的内容都会被Python
解释器忽略。养成注释的好习惯~
多行注释用三个引号,单引号和双引号都行,推荐使用双引号,一般常用于函数的描述如下:
1.3 运行程序
- 第一种方法: 程序入口函数旁边有个绿色三角形,右键选择
Run 'main'
;
- 第二种方法: 在终端执行
python main.py
2. 变量和常量
2.1 定义使用
Python
是一门动态类型的语言,无须预先声明变量类型,直接对变量赋值即可。
name = "张三"
name, age = "张三", 18
PACKAGE_DESC = "语法学习演示代码"
|
2.2 命令规范
为了让不同开发者写出的代码风格尽量保持统一,Python
制定了官方的编码风格指南:PEP8
,其中对变量和常量的命名规范也给出了建议:
- 对于普通变量,使用蛇形命名法,比如
user_id
;全局变量名,采用global_
开头,比如: global_var_name
- 变量名只能包含字母、数字和下划线;但不能以数字打头,如
1_var
;
- 变量名不能包含空格,可使用下划线来分隔其中的单词;
- 不要将
Python
关键字和函数名用作变量名;
- 对于常量,采用全大写字母,使用下划线连接,比如
PACKAGE_DESC
;全局常量名,采用GLOBAL_
开头,比如: GLOBAL_CONSTANT_NAME
;
- 如果变量标记为包内部变量,为其增加下划线前缀,比如
_local_var
;
3. 内置类型
3.1 字符串
字符串就是一系列字符。在Python
中,用引号括起的都是字符串,其中的引号可以是:单引号、双引号、三引号;如下所示:
if __name__ == "__main__": first_str = "Hello" two_str = "World" text = """第一行:123 第二行: 456, 第三行: 789。 """ print("first_str:", first_str, "two_str:", two_str) print("text:", text)
|
3.2 数字
在Python
中,数字类型又可以分为整型和浮点型两种,定义时不需要声明具体类型,使用函数type(变量名),可以查看该变量的具体类型。
if __name__ == "__main__": int_val = 10 float_val = 3.3 r1 = int_val/2 r2 = int_val/4 r3 = int_val/float_val print("整除:", r1, "值类型:", type(r1)) print("有余数:", r2, "值类型:", type(r2)) print("除不尽:", r3, "值类型:", type(r3))
|
在Python 2
中,整数除法的结果只包含整数部分,小数部分会被直接删除,比如 3/2 = 1
;
3.3 列表
在Python
中,用方括号[]
来声明列表,并用逗号来分隔其中的元素;列表是有序集合,通过索引访问元素,访问规则如下:
- 访问单个元素,使用
list_x[A]
;
- 访问多个元素,使用
list_x[A:B]
;当A
省略时,表示从索引0开始,当B
省略时,表示到列表最后;
if __name__ == "__main__": number_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] print("访问第1个元素,number_list[0]: ", number_list[0]) print("访问倒数第2个元素,number_list[-2]: ", number_list[-2]) print("访问从第2位到第5位的元素,number_list[1:5]: ", number_list[1:5]) print("从倒数第3个元素,到最后,number_list[-3:]: ", number_list[-3:])
|
3.4 集合
集合中不会有重复的元素。可使用大括号{}
来定义集合,也可使用set()
函数来创建集合。
因为集合无序,所以它不能像列表(list
)或元组(tuple
)那样,可以通过索引访问指定位置的元素。但是可以把集合使用关键字list
转成列表后,再进行访问操作。
if __name__ == "__main__": set_var = {10, 10, 20, 20, 30, 40} print("set_var: ", set_var) set_to_list = list(set_var) print("set_to_list: ", set_to_list[:]) print("set_to_list[0]: ", set_to_list[0]) print("set_to_list[-1]: ", set_to_list[-1]) list_var = [1, 2, 3, 4, 3, 2, 1] set_func_var = set(list_var) print("set_func_var: ", set_func_var) print("set_func_var.type: ", type(set_func_var))
|
3.5 元组
在Python
中定义元组时使用的符号是小括号()
,元组用起来和列表几乎一样,需要注意的是:元组中的元素绝大部分不可修改。
if __name__ == "__main__": tuple_var = (1, "hello", [10, 20], "world") print("tuple_var: ", tuple_var) print("tuple_var[0]: ", tuple_var[0]) print("tuple_var[2]: ", tuple_var[2]) print("tuple_var[1:]: ", tuple_var[1:]) tuple_var[2][0] = 100 print("修正元组中的列表元素: ", tuple_var)
|
@注意:元组的元素绝大部分是不能修改的,但是当元素是列表时,可以修改列表中的值,如上面示例把元素列表[10,20]改成[100,20]。
3.5 字典
在Python
中,字典是一系列键—值对。键可以是数字、字符串、元组;值可以是Python中的任何对象。
if __name__ == "__main__": dict_var = { 1: '键是:数字', 'name': '键是:字符串', (1, 2, 3): '键是:元组', } print("打印字典:", dict_var) print("访问key=1的值:", dict_var[1]) print("访问key=name的值:", dict_var['name']) print("访问key=(1, 2, 3)的值:", dict_var[(1, 2, 3)]) dict_var["age"] = 20 print("打印追加后的字典:", dict_var) dict_var["name"] = "张三丰" print("修改字典中的name:", dict_var)
|
4.类型转换
4.1 数字转字符串: str()
开发过程中会经常出现字符串和数字拼接的情况,如果直接拼接则会报错,需要使用函数str()
把数字转成字符串;
if __name__ == "__main__": age = 18 name = "张三 " print("错误示例: ", name + age)
|
4.2 字符串转数字: int()
if __name__ == "__main__": a = 10 b = "5" print("相加结果: ", a + int(b))
|
4.3 列表转集合: set()
if __name__ == "__main__": list_var = [1, 2, 3, 3, 2, 1] set_var = set(list_var) print("set_var:", set_var) print("set_var type:", type(set_var))
|
4.4 集合转列表: list()
if __name__ == "__main__": set_var = {1, 2, 3, 3, 2, 1} list_var = list(set_var) print("list_var:", list_var) print("list_var type:", type(list_var))
|