核心内容摘要
Python图形化打包工具:让程序发布零命令行的解决方案
文章目录前言
标识符
1 单下划线开头_xxx
2 双下划线开头__xxx名称修饰
3 双下划线开头和结尾__xxx__
关键字
引号
编码
输入输出
1 输出
2 输入
缩进
多行
注释
数据类型
运算符
1
1 常用运算符
1
2 运算符优先级前言本文介绍Python入门的基础知识。
标识符标识符是用于识别变量、函数、类、模块等对象的名称。
基本命名规则组成字符只能包含字母A-Z, a-z、数字
和下划线_开头限制不能以数字开头大小写敏感myVar 和 myvar 是两个不同的标识符长度不限可以是任意长度但建议保持简洁明了避免关键字不能使用Python的保留关键字作为标识符python# 合法的标识符my_var10_var1hellomyClassMyClass()# 不合法的标识符# 2var 10 # 不能以数字开头# my-var 10 # 不能包含连字符# class 10 # 不能使用关键字
1 单下划线开头_xxx约定为内部使用虽然技术上仍可访问但表示这是模块或类的内部实现细节import限制使用 from module import * 时不会被导入常见用途临时变量、内部辅助函数
2 双下划线开头__xxx名称修饰实现私有化Python通过名称修饰name mangling实现类的私有成员访问限制不能在类外部直接访问但仍可通过特殊方式访问避免命名冲突防止子类意外覆盖父类属性
3 双下划线开头和结尾xxx特殊方法/属性Python的内置魔术方法magic methods系统定义这些名称由Python解释器保留和使用不应自定义避免自定义这类名称除非明确要实现特殊功能
关键字Python保留的特殊单词不能用作标识符。
pythonimportkeyword# 查看所有关键字print(keyword.kwlist)# 输出[False, None, True, and, as, assert, async, await,# break, class, continue, def, del, elif, else, except,# finally, for, from, global, if, import, in, is, lambda,# nonlocal, not, or, pass, raise, return, try, while, with, yield]# 检查单词是否是关键字print(keyword.iskeyword(if))# Trueprint(keyword.iskeyword(my_var))# False
引号Python中使用单引号、双引号和三引号表示字符串。
python# 单引号str1Hello Worldprint(str
# 双引号str2Hello Worldprint(str
# 三引号可以跨越多行str3这是一个 多行 字符串print(str
# 三双引号str4这也是一个 多行 字符串print(str
# 引号嵌套str5他说你好str6她说再见print(str
print(str
6)
编码Python2 中默认编码为 ASCII假如内容为汉字不指定编码便不能正确的输出及读取比如我们想要指定编码为 UTF-8Python 中通过在开头加入 # -- coding: UTF-8 -- 进行指定。
Python3 中默认编码为 UTF-8因此在使用 Python3 时我们通常不需指定编码。
python# 在Python文件中指定编码通常在文件开头# -*- coding: utf-8 -*-# 编码相关函数text你好世界# 编码为字节encodedtext.encode(utf-
print(f编码后:{encoded})# 解码为字符串decodedencoded.decode(utf-
print(f解码后:{decoded})# 检查编码importsysprint(f默认编码:{sys.getdefaultencoding()})
输入输出
1 输出python# 基本输出print(Hello World!)# 输出多个值name张三age20print(姓名:,name,年龄:,age)# 格式化输出#
使用f-stringPython
6推荐print(f姓名:{name}, 年龄:{age})#
使用format方法print(姓名: {}, 年龄: {}.format(name,age))#
使用%格式化print(姓名: %s, 年龄: %d%(name,age))# 指定分隔符和结束符print(Python,Java,C,sep, ,end!\n)
2 输入python# 基本输入nameinput(请输入你的名字: )print(f你好,{name}!)# 输入数值ageint(input(请输入你的年龄: ))heightfloat(input(请输入你的身高(米): ))print(f年龄:{age}, 身高:{height}米)# 输入多个值valuesinput(请输入两个数字用空格分隔: ).split()num1,num2map(float,values)print(f数字1:{num1}, 数字2:{num2}, 和:{num1num2})
缩进Python使用缩进来表示代码块而不是大括号。
python# 正确的缩进ifTrue:print(这是if语句内的代码)print(这行代码与上一行在同一代码块内)print(这行代码在if语句外)# 错误的缩进会导致IndentationError# if True:# print(这会导致错误) # 缺少缩进# 不同层次的缩进foriinrange(
:print(f外层循环:{i})forjinrange(
:print(f 内层循环:{j})ifj1:print(f 这是if语句内的代码)# 建议使用4个空格进行缩进defmy_function():print(函数内的代码)return结果
多行多种方式实现多行代码。
python#
使用反斜杠\续行total123\456print(f总和:{total})#
在括号内自然换行推荐items[苹果,香蕉,橙子,葡萄,西瓜,芒果]print(f水果列表:{items})total(
print(f总和:{total})#
多行字符串long_string这是一个很长的字符串 它跨越多行 但仍然是一个字符串。
print(long_string)#
多行语句x1;y2;z3# 一行写多个语句print(fx{x}, y{y}, z{z})
注释用于解释代码不会被Python解释器执行。
python# 这是单行注释 这是多行注释实际上是字符串但常用于注释 可以跨越多行 通常用于模块、函数或类的文档字符串 这也是多行注释 使用单引号
数据类型Python内置的数据类型。
python#
数值类型# 整数int_num10print(f整数:{int_num}, 类型:{type(int_num)})# 浮点数float_num
14print(f浮点数:{float_num}, 类型:{type(float_num)})# 复数complex_num34jprint(f复数:{complex_num}, 类型:{type(complex_num)})#
布尔类型bool_trueTruebool_falseFalseprint(f布尔值:{bool_true},{bool_false})#
字符串str_typeHello Pythonprint(f字符串:{str_type}, 类型:{type(str_type)})#
列表可变有序序列list_type[1,2,3,a,b]list_type.append(c)print(f列表:{list_type}, 类型:{type(list_type)})#
元组不可变有序序列tuple_type(1,2,3,a,b)print(f元组:{tuple_type}, 类型:{type(tuple_type)})#
字典键值对集合dict_type{name:张三,age:20}dict_type[city]北京print(f字典:{dict_type}, 类型:{type(dict_type)})#
集合无序不重复元素集set_type{1,2,3,3,2}# 重复元素会被自动去重set_type.add(
print(f集合:{set_type}, 类型:{type(set_type)})# 类型转换num_str123num_intint(num_str)print(f字符串{num_str}转换为整数:{num_int})float_str
14num_floatfloat(float_str)print(f字符串{float_str}转换为浮点数:{num_float})
运算符
1
1 常用运算符python# 算术运算符a10b3print(fa b {ab})# 加法: 13print(fa - b {a-b})# 减法: 7print(fa * b {a*b})# 乘法: 30print(fa / b {a/b})# 除法:
3.
..print(fa // b {a//b})# 整除: 3print(fa % b {a%b})# 取模: 1print(fa ** b {a**b})# 幂运算: 1000# 比较运算符print(fa b:{ab})# 等于: Falseprint(fa ! b:{a!b})# 不等于: Trueprint(fa b:{ab})# 大于: Trueprint(fa b:{ab})# 小于: Falseprint(fa b:{ab})# 大于等于: Trueprint(fa b:{ab})# 小于等于: False# 赋值运算符x5x3# 等同于 x x 3print(fx 3 后:{x})# 8x-2# 等同于 x x - 2print(fx - 2 后:{x})# 6x*2# 等同于 x x * 2print(fx * 2 后:{x})# 12x/3# 等同于 x x / 3print(fx / 3 后:{x})#
0# 逻辑运算符is_studentTruehas_permissionFalseprint(fis_student and has_permission:{is_studentandhas_permission})# Falseprint(fis_student or has_permission:{is_studentorhas_permission})# Trueprint(fnot is_student:{notis_student})# False# 成员运算符fruits[apple,banana,orange]print(fapple in fruits:{appleinfruits})# Trueprint(fgrape not in fruits:{grapenotinfruits})# True# 身份运算符list1[1,2,3]list2[1,2,3]list3list1print(flist1 is list2:{list1islist2})# False不同对象print(flist1 is list3:{list1islist3})# True相同对象print(flist1 is not list2:{list1isnotlist2})# True# 位运算符处理二进制m10# 二进制: 1010n4# 二进制: 0100print(fm n {mn})# 按位与: 0 (
print(fm | n {m|n})# 按位或: 14 (
print(fm ^ n {m^n})# 按位异或: 14 (
print(f~m {~m})# 按位取反: -11print(fm 1 {m1})# 左移一位: 20 (
print(fm 1 {m1})# 右移一位: 5 (
0101)
1