安装python解释器
#python官网 https://www.python.org #python解释器下载地址 https://www.python.org/downloads/release/python-381
第一个python程序
#安装教程 https://blog.csdn.net/lifulian318/article/details/120096284
使用Pycharm开发
创建一个项目
创建一个python文件
运行报错,原因是 没有解释器,编译环境不行,手动添加一下即可。
再次运行,成功!
# print 函数 # 可以输出哪些内容:输出数字、输出字符串、输出带有运算符的表达式 # 输出数字 print(2) print(21.3) # 输出字符串 print("123") print('1231231') # 输出带有运算符的表达式 print(1 + 1) # 可以将内容输出到哪里:显示器、文件 # 输出到文件:指定盘符要存在,要用file=fp fp = open('D:/demo.txt', 'a+') # a+:如果文件不存在就创建,如果存在就追加 print('hello', file=fp) fp.close() # 输出的形式: 换行、不换行 # 不换行输出 print('hello','world','python')
# 转义字符 # 什么是转义字符?反斜杠+要转义的字符 # 为什么需要转义字符? # 1、当字符串中包含反斜杠、单引号和双引号等有特殊用途的字符时,必须使用反斜杠对这些字符进行转义 # 反斜杠:\\ 单引号:\' 双引号:\" # 2、当字符串中包含换行、回车、水平制表符或退格等无法具体表示的特殊字符时,可以使用转义字符。 # 换行:\n 回车:\r 水平制表符:\t 退格:\b print('hello\nworld') # \ + 转义功能首字母 n---newline的首字母n 表示换行 print('hello\tworld') print('helloooo\tworld') print('hello\rworld') # world将hello进行了覆盖 print('hello\bworld') # 退格,少了一个o print('http:\\\www.baidu.com') print('说:\'hello\'') # 原字符 不让转义字符起作用,在字符串前加的 r 或 R print(r'hello\nworld') # 最后一个字符不能是反斜杠 #print('hello\') print('hello\\')
#二进制 print(chr(0b100111001011000)) #0b表示二进制 print(ord('乘'))
import keyword 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']
变量、函数、类、模块和其他对象的命名就叫标识符
命名规则:
变量是内存中一个带标签的盒子
如:name = ‘lizhenwei’
# 变量的定义和使用 # 变量由三部分组成: # 标识:表示对象所存储的内在地址,使用内置函数 id(obj)来获取 # 类型:表示对你的数据类型,使用内置函数type(obj)来获取 # 值: 表示对你所存储的具体数据,使用print(obj)可以输出 name = 'lizhenwei' print(name) print('标识', id(name)) print('类型', type(name)) print('值', name) # 变量多次赋值之后,变量会指向新的命名空间 name = 'merry' print(name)
常用的数据类型:
# 整数类型 正数,负数,零 默认二进制 n1 = 20 n2 = -20 n3 = 0 print(n1, type(n1)) print(n2, type(n2)) print(n3, type(n3)) # 整数可以为 二进制、十进制、八进制、十六进制 print('十进制', 110) print('二进制', 0b11011001000) # 以0b开头 print('八进制', 0o17654) # 以0o开头 print('十六进制', 0x1EFA09) # 以0x开头
# 浮点类型:由整数部分和小数部分组成;浮点数存储不精确性(使用浮点数据进行计算时,可能出现小数位精度问题) a = 1.345287 print(a, type(a)) # 1.345287 <class 'float'> print(1.1 + 2.2) # 结果为 3.3000000000000003 print(1.1 + 2.1) # 结果为 3.2 # 解决方案 导入模块 decimal from decimal import Decimal print(Decimal('1.1') + Decimal('2.2')) # 3.3
# 布尔类型:用来表示 真或假 的值,True: 真;False:假 # 可转化为整数:True: 1;False:0 b1 = True b2 = False print(b1, type(b1)) # True <class 'bool'> print(b2, type(b2)) # False <class 'bool'> print(True + 1) # 2 print(False + 1) # 1
# 字符串类型:又被称为不可变的字符序列,可用单引号‘’、双引号“”、三引号''' ''' 或 “”“ ”“” # 单引号和双引号必须在一行,三引号定义的字符串可以分布在连续的多行 str1 = '我是中国人' str2 = "我是中国人" str3 = """我是中国人, 我骄傲!""" str4 = '''我是中国人, 我骄傲''' print(str1, type(str1)) print(str2, type(str2)) print(str3, type(str3)) print(str4, type(str4)) # 输出结果 我是中国人 <class 'str'> 我是中国人, 我骄傲! <class 'str'> 我是中国人, 我骄傲 <class 'str'>
# 数据类型转换 name = '张三' age = 20 print(type(name), type(age)) # print('我叫' + name + ',今年' + age + '岁') # TypeError: can only concatenate str (not "int") to str # 解决方案:将 int 类型转为 str print('我叫' + name + ',今年' + str(age) + '岁') # 我叫张三,今年20岁 # 三个函数:str()、int() 、float() # str():将其他类型转为str,也可用引号替换.str(123) '123' # int():将其他类型转为整数,1文字类和小数类字符串,无法转化为整数 2浮点数转化为整数:抹零取整。int('123'),int(9.8) # float():将其他类型转为浮点数,1文字类无法转。2整数转为浮点数,末尾为 .0。float('9.9') float(9) print(str(123), int('123'), int(9.8), float('9.9'), float(9)) # 123 123 9 9.9 9.0
# 注释:代码进行文字性解释说明,提高代码可读性。注释的内容会被python解释器忽略 # 单行注释 '''多行注释 并没有单独的多行注释标记,将一对三引号之间的代码称为多行注释 ''' # 中文编码声明注释 在文件开头加上中文声明注释用以指定源码文件的编码格式:# coding:gbk