一创建第一个python项目
1create new project 创建一个新的项目
1.1pure python项目 不带有任何框架的python项目
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IKHWCoYL-1615461661486)(F:\Typora笔记\Python\python基础.assets\image-20210304131313480.png)]
1.2new env using Virtualenv 寻找本机中python解析器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C7FobTcu-1615461661488)(F:\Typora笔记\Python\python基础.assets\image-20210304131544872.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bSp7MuQp-1615461661490)(F:\Typora笔记\Python\python基础.assets\image-20210304131726962.png)]
inherit global site-packages : 继承了全局的python虚拟环境中已经安装过的python第三方模块创建的项目 同时创建了一个新的虚拟环境 继承了 全局的虚拟环境 共享全局所安装过的模块,再单独安装的模块会安装到自己项目中虚拟环境中
make avilable to all projects: 可以把当前的虚拟环境作为一个共享的虚拟环境可以供其他的项目所分享
2.运行python文件
2.1 命令行终端 中运行的python xxx.py 找的是系统环境变量中所配置的那个python解析器
2.2 在pycharm软件中通过右击文件 --run xxx.py 直接运行
3.编码
编码utf-8 支持中英文都能够正常运行的一种编码格式 python3以上的版本 自动帮助我们文件的编码格式转成utf-8
ascii编码 只支持英文 编码
二注释
注释是不会执⾏的,注释是对代码的解释说明,是让⼈看得
单⾏注释的快捷键/取消单⾏注释 Ctrl / , 可以⼀次
选中多⾏,给其添加单⾏注释
一个文件的最上面 写上一段文字 主要对当前文件进行说明
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HZXTvnzJ-1615461661492)(F:\Typora笔记\Python\python基础.assets\image-20210304132657752.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YM3nDrJX-1615461661494)(F:\Typora笔记\Python\python基础.assets\image-20210304132730364.png)]
三.变量
变量:把程序运行的中间结果临时的存在内存里,以便后续的代码调用
del 变量名 :变量删除
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6dlHhzyp-1615461661495)(F:\Typora笔记\Python\python基础.assets\image-20210304132936696.png)]
四. 标识符和关键字
标识符命名规则: 由字⺟,数字和下划线组成,不能以数字开头
变量的命名规范:遵循标识符的规则.⻅名知意使,⽤下划线连接,不能使⽤系统的关键字
变量定义的规则:
1· 变量名只能是 字母、数字或下划线的任意组合
2· 变量名的第一个字符必须是字母、不能是数字、可以是下划线
3· 以下关键字不能声明为变量名
[‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
4· 变量的定义要具有可描述性。
关键字: 系统定义好的标识符,具有特殊的作⽤
五.数据类型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mpvNRzRx-1615461661496)(F:\Typora笔记\Python\python基础.assets\image-20210304133006077.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uu7JmiXT-1615461661496)(F:\Typora笔记\Python\python基础.assets\image-20210304133026921.png)]
Number类型 :int float类型
age=21 int 类型
money=23.3 float类型
String字符串:定义 单引号 双引号 多引号括起来的
str = "双引号"
str1 = '单引号'
str2 = '''
具有格式的多引号
'''
str3="""
"""
str4 = 'he\'ll\'o' # 同类型的定义的字符串格式中嵌套同类型的格式需要利用\转义
六输出
print() 表示为输出
print() 函数默认以空格隔开多个变量,如果读者希望改变默认的分隔符,可通过 sep 参数进行设置。例如输出语句
user_name = 'Charlie'
user_age = 8
print("读者名:" ,user_name,"年龄:",user_age,sep='|')
#读者名:|Charlie|年龄:|8
在默认情况下,print() 函数输出之后总会换行,这是因为 print() 函数的 end 参数的默认值是“\n”,这个“\n”就代表了换行。如果希望 print() 函数输出之后不会换行,则重设 end 参数即可
print(40,'\t',end="")
print(5O,'\t',end="")
print(60,'\t',end="")
#40 50 60
一次输出多个内容用,分开
print(123,345)
格式化输出 格式化占位符(坑位)
%s:字符串
%d:整形
%f:小数浮点型(默认保留6位小数)
%.nf:保留n位小数
Python3.6版本支持f-string,占位统一使用{}占位,填充的数据直接写在{}中
格式化输出
转换说明符 | 解释 |
---|---|
%d、%i | 转换为带符号的十进制整数 |
%o | 转换为带符号的八进制整数 |
%x、%X | 转换为带符号的十六进制整数 |
%e | 转化为科学计数法表示的浮点数(e 小写) |
%E | 转化为科学计数法表示的浮点数(E 大写) |
%f、%F | 转化为十进制浮点数 |
%g | 智能选择使用 %f 或 %e 格式 |
%G | 智能选择使用 %F 或 %E 格式 |
%c | 格式化字符及其 ASCII 码 |
%r | 使用 repr() 函数将表达式转换为字符串 |
%s | 使用 str() 函数将表达式转换为字符串 |
# name = input("请输入你的名字")
# age =input("请输入年纪")
# money=input("请输入工资")
# print("我的名字是%s" % name,"我的年纪是%d" % int(age),"我的工资为%f" %float(money) ,"工资小数点后两位%.2f" % float(money))
# print(f"我的名字是{name}年龄{age}工资为{money}")
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x1bSZrSJ-1615461661497)(F:\Typora笔记\Python\python基础.assets\image-20210304151050526.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bU0dGZhy-1615461661497)(F:\Typora笔记\Python\python基础.assets\image-20210304151126428.png)]
转义字符:\ 与n组合在一块,作为一个字符使用,\n表示换行
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-61cZCoSz-1615461661498)(F:\Typora笔记\Python\python基础.assets\image-20210304151222128.png)]
七输入
name= input("请输入你的名字:")
print("你的名字是:%s"%name)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pwoAZvmE-1615461661498)(F:\Typora笔记\Python\python基础.assets\image-20210304151023367.png)]
八基本运算符
1算术运算符
+ - * /
// 整除(求商)
% 取余数
** 指数,幂运算
() 可以改变优先级
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gEurapiL-1615461661499)(F:\Typora笔记\Python\python基础.assets\image-20210305140934066.png)]
2赋值运算符
= 将等号右边的结果赋值给等号左边的变量,等号左边,必须是变量,不能是具体的数字
3符合赋值运算符
+= c+=a ===> c = c + a
-= c-=a ===>c =c-a
4⽐较运算符
⽐较运算符的结果是 bool 类型, 即 True,或者是 False
== 判断是否相等, 相等是 True. 不相等是 False
!= 判断是否不相等, 不相等是 True, 相等 False
>
<
>=
<=
5逻辑运算符
逻辑运算符可以连接连个表达式, 两个表达式共同的结果决定最终的结果是 True,还是 False
-
and 逻辑与, 连接的两个条件都必须为 True,结果为True, ⼀假为假,
如果第⼀个条件为 False,就不会再判断第⼆个条件
-
or 逻辑或, 连接的两个条件都为 False,结果为False, ⼀真为真,
如果第⼀个条件为 True,第⼆个条件就不会再判断了
-
not 逻辑⾮, 取反,原来是 True,变为 False,原来是False,变为 True
6运算符优先级
运算符说明 | Python运算符 | 优先级 | 结合性 | 优先级顺序 |
---|---|---|---|---|
小括号 | ( ) | 19 | 无 | 高 |
索引运算符 | x[i] 或 x[i1: i2 [:i3]] | 18 | 左 | | |
属性访问 | x.attribute | 17 | 左 | | |
乘方 | ** | 16 | 右 | | |
按位取反 | ~ | 15 | 右 | | |
符号运算符 | +(正号)、-(负号) | 14 | 右 | | |
乘除 | *、/、//、% | 13 | 左 | | |
加减 | +、- | 12 | 左 | | |
位移 | >>、<< | 11 | 左 | | |
按位与 | & | 10 | 右 | | |
按位异或 | ^ | 9 | 左 | | |
按位或 | | | 8 | 左 | | |
比较运算符 | ==、!=、>、>=、<、<= | 7 | 左 | | |
is 运算符 | is、is not | 6 | 左 | | |
in 运算符 | in、not in | 5 | 左 | | |
逻辑非 | not | 4 | 右 | | |
逻辑与 | and | 3 | 左 | | |
逻辑或 | or | 2 | 左 | | |
逗号运算符 | exp1, exp2 | 1 | 左 | 低 |
Python成员运算
字典 in 操作符用于判断键(key)是否存在于字典(D)中,如果键在字典中返回True,否则返回False
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k0iNtQom-1615461661500)(F:\Typora笔记\Python\python基础.assets\image-20210304163044136.png)]
print('喜欢' in 'I love喜欢you')#True
print('a' in 'bcde')#False
print('y' not in 'this is a tether')#True
字典:字典 in 操作符用于判断键(key)是否存在于字典(D)中,如果键在字典中返回True,否则返回False
dict = {'Name': 'Runoob', 'Age': 7}
# 检测键 Age 是否存在
if 'Age' in dict:
print("键 Age 存在")
else :
print("键 Age 不存在")
# 检测键 Sex 是否存在
if 'Sex' in dict:
print("键 Sex 存在")
else :
print("键 Sex 不存在")
九数据类型的强制转换
函 数 | 作 用 |
---|---|
int(x) | 将 x 转换成整数类型 |
float(x) | 将 x 转换成浮点数类型 |
complex(real,[,imag]) | 创建一个复数 |
str(x) | 将 x 转换为字符串 |
repr(x) | 将 x 转换为表达式字符串 |
eval(str) | 计算在字符串中的有效 Python 表达式,并返回一个对象 |
chr(x) | 将整数编码成对应的字符串,也就是返回在数字对应ASCII 表中的值 |
ord(x) | 将字符串(一个字符)转换成对应编码(整数),也就是返回字母返回在 ASCII 表中的数字 |
hex(x) | 将一个整数 x 转换为一个十六进制字符串 |
oct(x) | 将一个整数 x 转换为一个八进制的字符串 |
ord 得到某个字符对应的ASCII码中的十进制的数字 chr ascii码中十进制的数字对应的字符是什么
ord chr 一般使用在字符串比较大小 比较的是字符串中每一个字符的大小
十转义字符
转义字符 | 说明 |
---|---|
\n | 换行符,将光标位置移到下一行开头。 |
\r | 回车符,将光标位置移到本行开头。 |
\t | 水平制表符,也即 Tab 键,一般相当于四个空格。 |
\a | 蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效。 |
\b | 退格(Backspace),将光标位置移到前一列。 |
\ | 反斜线 |
’ | 单引号 |
" | 双引号 |
\ | 在字符串行尾的续行符,即一行未完,转到下一行继续写。 |
PEP 8 规范
\1. 单⾏注释#后边应该有⼀个空格
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OoESnCFR-1615461661500)(F:\Typora笔记\Python\python基础.assets\image-20210304152557459.png)]
\2. 代码⽂件的最后⼀⾏是空⾏
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0ItO4iBD-1615461661501)(F:\Typora笔记\Python\python基础.assets\image-20210304152605669.png)]
\3. ⾏内注释需要两个空格
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gITgTrHz-1615461661501)(F:\Typora笔记\Python\python基础.assets\image-20210304152613783.png)]