1.基本的输出函数print:
语法结构:print(输出内容) 如:print('Hello Python')
函数完整的语法格式:print(value,.sep='',end='\n',file=None)
//当不指定end时,默认会自动换行,在输出结果的最下方有一个空白行
2.使用print函数将内容输出到文件中:
fp=open("note.txt","w") # 打开文件 w--write
print("北京欢迎你",file = fp) # 将"北京欢迎你"输出到note文件中
fp.close() #关闭文件
# 需要转换称GBK格式才能打开
3.基本的输入函数input
x=input("提示文字")
# 无论输入的数据是什么x的数据类型都是字符串类型
# 可以使用int将字符串转化为整型,注意:字符串和数字不能用"+"拼接,可以用","
num=input("请输入您的幸运数字:")
num=int(num)
print("您的幸运数字是:",num)
4.Python中的注释:
1.单行注释: # 注释内容
2.多行注释: """
多行注释
多行注释
"""
'''
多行注释
多行注释
'''
3.中文声明注释:# coding=utf-8
注:中文声明注释,一定要写在第一行
5.代码缩进:
Python语言通过缩进来体现语句之间的逻辑关系 , 类定义、函数定义、流程控制语句以及异常处理语句等行尾的冒号和下一行的缩进表示一个代码块的开始,而缩进结束,则表示一个代码块的结束,通常情况下采用4个空格作为一个缩进量。
# 类的定义
class Student:
pass
# 函数的定义
def fun():
pass
6.IPO程序编写方法
IPO(Input, Process, Output)
输入--->处理--->输出
7.保留字(35个):
指在Python中被赋予特定意义的一些单词,在开发程序时,不可以把这些保留字作为变量、函数、类、模块和其他对象的名称来使用:
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 |
# 获取保留字的方式: keyword是内置模块,可直接引入使用
import keyword
print(keyword.kwlist)
print(len(keyword.kwlist)) #获取保留字的个数
8.Python标识符的命名规则:
- 可以是字符(英文、中文)、下划线””和数字,并且第一个字符不能是数字
- 不能使用Python中的保留字
- 标识符严格区分大小写
- 以下划线开头的标识符有特殊意义,一般应避免使用相似的标识符》允许使用中文作为标识符,但不建议使用
9.Python标识符的命名规范:
- 模块名尽量短小,并且全部使用小写字母,可以使用下划线分隔多个字母。例如:grame_main
- 包名尽量短小,并且全部使用小写字母,不推荐使用下划线。例如:com.ysjpython ,不推荐使用com_ysjpython
- 类名采用单词首字母大写形式(Pascal风格)。例如:MyClass
- 模块内部的类采用”_”+Pascal 风格的类名组成,例如:在MyClass中的内部类 _InnerMyClass
- 函数、类的属性和方法的命名,全部使用小写字母,多个字母之间使用下划线分隔
- 常量命名时采用全部大写字母,可以使用下划线
- 使用单下划线”_”开头的模块变量或函数是受保护的,在使用“from xxx import * ”语句从模块中导入时,这些模块变量或函数不能被导入
- 使用双下划线“__”开头的实例变量或方法是类私有的
- 以双下划线开头和结尾的是Python的专用标识,例如:__init__()表示初始化函数
10.变量的声明及使用:
# 1.变量的声明:变量名=value
luck_number=8 # 创建一个整型变量luck_number,并赋值8
my_name="张三" # 创建一个字符串类型的变量my_name,并赋值"张三"
# 2.获取变量的类型:type(变量)
type(luck_number) # 结果:<class 'int'>
# 3.Python动态修改变量的数据类型,通过赋不同类型的值就可以直接修改
luck_number="你好呀"
type(luck_number) # 结果:<class 'str'>
# 4.Python中允许多个变量指向同一个值,id()查看对象的内存地址
no=number=1024
print(no,number)
print(id(no)) # 结果:1937719278544
print(id(number)) # 结果:1937719278544
11.变量与常量:
变量命名应遵循以下几条规则
- 变量名必须是一个有效的标识符
- 变量名不能使用Python中的保留字
- 慎用小写字母 | 和大写字母O
- 应选择有意义的单词作为变量名
常量:常量就是在程序运行过程中,值不允许改变的量,全部使用大写字母和下划线命名。
12.数值类型:
- 整数类型:表示的数值是没有小数部分的数值,包含正整数、负整数和0。
进制种类 | 引导符号 | 描述 |
十进制 | 无 | 默认情况,例如:365,786 |
二进制 | 0b或0B | 由字符0和i组成,例如0b10101,0B10101 |
八进制 | 0o或0O | 由字符0到7组成,例如0o763,00765 |
十六进制 | 0x或0X | 由字符0到9,a到f或A到F组成,例如0x987A,0X987A |
- 浮点数类型:表示带有小数点的数值,由整数部分和小数部分组成。
注意事项:
- 两个浮点类型的数在进行运算时,有一定的概率运算结果后增加一些“不确定的”尾数,如: print(0.1+0.2) 结果是:0.30000000000000004。
- Python中的复数与数学中的复数形式完全一致,由实部和虚部组成,实数部分使用.real表示,虚数部分使用.imag表示,如x=123+456j , print(x.real) 结果为:123.0,print(x.imag) 结果为:456.0。
13.字符串类型:
连续的字符序列,可以表示计算机所能识别的一切字符,
- 字符串的界定符 : 单引号、双引号、三引号
- 原字符 : 使转义字符失效的字符r或R
- 索引 : 对字符串中某个字符的检索称为索引,正向索引是从0开始,length-1结束,反向索引从-1开始,到-length结束
- 切片 : 对字符串中某个子串或区间的检索称为切片,切片的语法结构:字符串或字符串变量[N:M](包含N,但是不包含M)
转义字符 | 描述说明 |
\n | 换行符 |
\t | 水平制表位,用于横向跳到下一个制表位(一个制表位8个字符) |
\" | 双引号 |
\' | 单引号 |
\\ | 一个反斜杠 |
操作符 | 描述说明 |
x+y | 将字符串x与y连接起来 |
x*n或n*x | 复制n次字符串x |
x in s | 如果x是s的子串,结果为True,否则结果为False |
# 1.多行字符串写法
address='''
家庭住址:北京故宫
练习地址:上海东方明珠
'''
# 2.转义字符与原字符
speak="老师说:\"好好学习,天天向上\""
welcome="北京\n欢迎你"
welcome2=r"北京\n欢迎你"
print(speak) # 老师说:"好好学习,天天向上"
print(welcome) # 北京
欢迎你
print(welcome2) # 北京\n欢迎你
# 3.索引与切片
a="HELLOWORLD"
print(a[0]) # H
print(a[-10]) # H
print(a[2:7]) # LLOWO 从2开始,切到第7个,不包含第7个
print(a[:7]) # HELLOWO 从0开始,切到第7个,不包含第7个
print(a[3:]) # LOWORLD 从3开始,切到最后
# 4.字符串操作
x="2022年"
y="北京冬奥会"
print(x+y) # 2022年北京冬奥会
print(x*10) # 2022年2022年2022年2022年2022年2022年2022年2022年2022年2022年
print("北京" in y) # True
print("上海" in y) # False
14.布尔类型:
用来表示“真”值或“假”值的数据类型。在Python中使用标识符True或False表示布尔类型的值,True表示整数1,False表示整数0。
布尔值为False的情况如下:
- False 或者是None
- 数值中的0,包含0,0.0,虚数0
- 空序列,包含空字符串、空元组、空列表、空字典、空集合
- 自定义对象的实例,该对象的__bool__()方法返回False或__len__()方法返回0
#True表示整数1,False表示整数0
print(True+10) # 11
print(False+10) # 10
15.数据类型之间的转换:
- 隐式转换:如:print(True+10) 自动将布尔值True转换为数字1;
如:x=10 y=3 z=x/y 通过运算隐式转换了结果的类型
- 显示转换:
函数 | 描述说明 |
int(x) | 将x转换为整数类型,只保留整数部分,不会四舍五入,如int(3.8)结果为3 |
float(x) | 将x转换为浮点数类型 |
str(x) | 将x转成字符串 |
chr(x) | 将整数 x转换为一个字符 |
ord(x) | 将一个字符x转换为其对应的整数值 |
hex(x) | 将一个整数 x转换为一个十六进制字符串 |
oct(x) | 将一个整数 x转换为一个八进制字符串 |
bin(x) | 将一个整数 x转换为一个二进制字符串 |
16.eval函数:
eval函数是Python中的内置函数,可以直接使用。用于去掉字符串最外侧的引号,并按照Python语句方式执行去掉引号后的字符串,eval()函数经常和input()函数一起使用。
# eval的语法格式:变量=eval(字符串)
age=eval(input("请输入你的年龄:"))
print(age,type(age)) # 20 <class 'int'>
hello="北京欢迎你"
print(hello) # 北京欢迎你
print("hello") # hello
print(eval("hello")) # 北京欢迎你 (eval去掉引号后变成hello变量,所以输出"北京欢迎你")
17.python中的算数运算符:
算数运算符的优先级由高到低是:
- 第一级:**(幂运算)
- 第二级:*、/、%、//
- 第三级:+、-
运算符 | 描述说明 | 示例 | 结果 |
+ | 加法 | 1+1 | 2 |
- | 减法 | 1-1 | 0 |
* | 乘法 | 2*3 | 6 |
/ | 除法 | 10/2 | 5 |
// | 整除 | 10//3 | 3 |
% | 取余 | 10%3 | 1 |
** | 幂运算 | 2**4 | 16 |
18.python中的赋值运算符:
运算符 | 描述说明 | 示例 | 展开形式 |
= | 简单的赋值运算 | x=y | x=y |
+= | 加赋值 | x+=y | x=x+y |
-= | 减赋值 | x-=y | x=x-y |
*= | 乘赋值 | x*=y | x=x*y |
/= | 除赋值 | x/=y | x=x/y |
%= | 取余赋值 | x%=y | x=x%y |
**= | 幂赋值 | x**=y | x=x**y |
//= | 整除赋值 | x//=y | x=x//y |
#python支持链式赋值:
a=b=c=100 # 相当于a=100 b=100 c=100
#python支持系列解包赋值:
x,y=10,20 # 相当于x=10 y=20
#交换两个变量的值
x,y=y,x # x=20 y=10
19.python中的比较运算符:
运算符 | 描述说明 | 示例 | 结果 |
> | 大于 | 98>90 | True |
< | 小于 | 98<90 | False |
== | 等于 | 98==90 | False |
!= | 不等于 | 98!=90 | True |
>= | 大于或等于 | 98>=98 | True |
<= | 小于或等于 | 98<=98 | True |
20.逻辑运算符:
运算符 | 描述说明 | 用法 | 结合方向 |
and | 逻辑与 | 表达式1 and 表达式2 | 从左到右 |
or | 逻辑或 | 表达式1 or 表达式2 | 从左到右 |
not | 逻辑非 | not 表达式 | 从右到左 |