Python入门学习笔记

发布于:2022-12-27 ⋅ 阅读:(440) ⋅ 点赞:(0)

python基础

python优点

  • 强大的可移植性 windows uinx 类unix
  • 解释性的编程语言
  • 广泛的开发支持 功能模块很多 数据分析 深度学习 人工智能 支持到位
  • 胶水语言 有良好的并发处理支持
  • 支持多进程多线程(假的)没办法拥有多线程并发

大缺点:

  • 执行速度慢 高并发不如java 性能最高
  • 开发版本不兼容
  • GIL(全局解释器锁)问题 限制并发对多处理器系统支持度不高 并发会受到锁的限制
  • 源代码没有加密 明文发布

python虚拟机

  • 虚拟机运行环境有限 可以帮助开发隐藏一些底层细节问题
  • C java 编译型
  • php asp python 解释型部署到运行环境里面就可以执行了
  • 编写源代码 字节码pyc 程序执行
  • python虚拟机的支持相同 可以任意移植

搭建python开发环境

python.org
文档 pip模块化管理 idle test py运行环境 全部选中
C:\Program Files\Python310\Scripts
pip环境配置成功可以编写python代码了
*.py文件代码

# coding:UTF-8
print("Hello hudie")
print("www.baidu.com")

目前要求文件保存的编码与程序中定义的编码相同 python定义的utf-8(主流)
mysql 是gbk
GBK UNCODE UTF-8 ISO-8859-1

程序基本概念

python注释

后续代码解析方便

  • 单行注释 #
  • 多行注释 ‘’’ 多行注释’‘’’
    所有注释法人内容不会被编译器解释
    单引号和多引号都可以执行 --python的特殊之处
  • 注释是首要的完成任务

标识符和关键字

字母数字下划线 (不能用数字开头 不能出现关键字)
非法标识符 110Hello class(关键字)
2.X和3X关键字有差别

变量和常量

可以使用分号 对于一行的判断为截止

第三章数据类型划分

python里面没有数值传递
对象引用传递

Python的数据类型

  • 整数 字符串 列表 元组 字典 日期 全部为引用传递数据类型

数值型

整数 小数

#  coding:UTF-8
num = None  #描述的是一个空
  • 定义变量
#  coding:UTF-8
num_a  = 10
num_b =4
print(num_a/num_b)

<class 'NoneType'>
-----------
<class 'int'>
-----------
<class 'float'>

num1=10E5
num2=30.3E6
num1*num2

<class 'float'>

type()函数 可以知道变量的类型
None是无法确定类型的

科学计数法是可以使用的
浮点型 3.X将长度取消了 任何大的数都可以

复数

实部和虚部,
定义复数:

#  coding:UTF-8
num1 = complex(10,2) #实部10虚部2
print(num1)

输出结果
(10+2j)

avatar

  • num.real
  • num.imag
  • num.conjugate() #获取共轭复数

布尔

0才表示为false -10也显示为true

字符串

引号 单引号和多引号都可以 一样表示
python没有字符的概念

通过type函数返回的str 引号返回的类型是一致的
python源代码使用的是单引号 所以最好习惯使用单引号
C语言没有双引号的概念
现代语言的使用都是双引号 老师建议使用双引号
千万记住需要使用统一 不同的引号可以嵌套

#  coding:UTF-8
msg="molekeji  'hahahah '  "  

python 
使用三引号“””           “””可以执行预编译 保留格式  续航符\

使用+号可以字符的连接
转义字符


键盘数据输入

input()

实际上在所有的编程语言里面 输入信息都是字符串

int(str)格式转换函数


num_a = float(input("请输入第一个数字:"))
num_b = float(input("请输入第二个数字:"))

result = num_a + num_b ;
print( num_a + " + " + num_b + "=" + result )

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Is44ar81-1662458543737)(http://122.112.166.255/HuPhoto/20220906/af8c73b201acabe848a2d169574bc8bb.png)]

数值型和str 不能直接链接 必须全部转换成str
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OaYtZcAz-1662458543737)(evernotecid://52A48768-587E-4C8A-9C79-6BDF8705DC6C/appyinxiangcom/30485129/ENResource/p92)]

格式化输出

  1. 混合输出 必须要使用str 麻烦
  2. %c %e %s %f %o %x

print("hahahah %d ,wozai %s ")

age = 18
work = "光大"
salary =9013904308489458

print("A年龄%d,准备在%s,年薪%e " % (age,work,salary)) 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XjbqnV3a-1662458543737)(evernotecid://52A48768-587E-4C8A-9C79-6BDF8705DC6C/appyinxiangcom/30485129/ENResource/p93)]
默认的使用10位输出
为了减少变量输入
利用vars()函数自动填充

name ='胡蝶'
age = 18
score = 97.8
print("姓名: %(name)s ,age: %(age)d,score: %(score)5.2f" %vars())

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hMCJCh7u-1662458543737)(evernotecid://52A48768-587E-4C8A-9C79-6BDF8705DC6C/appyinxiangcom/30485129/ENResource/p94)]

使用print函数会换行
end参数自定义完结符

print(":xiaoming :" ,end="、")

print(":xiaoli :" ,end="\n")

print(":xiaoci :" ,end="----------")

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-adYqR05s-1662458543738)(evernotecid://52A48768-587E-4C8A-9C79-6BDF8705DC6C/appyinxiangcom/30485129/ENResource/p95)]

运算符

运算符简介

        • /
  • 简化代码编写 不要写太复杂的运算式

数学运算符

只要传统除法的数据运算,都是浮点型 答案是浮点型
//两个除号是整数除法只保留商

print(10/4)
print(10//4)

avatar
乘法 str *3 输出3次

关系运算符

==
y小写字母>大写字母Y
关系操作 肯定是 大小关系的比较操作
返回的判断结果 是布尔类型

==

不同的整数表示的不同 小写的数值 对于大写的数值 python ord()函数转换

 # coding:UTF-8
print("数据比较结果: %s"% ("yootk" == "yootk"))
print("数据比较结果: %s"% ("yootk" >= "Yootk"))
print("y code: %d , Ycode; %d" %(ord("y"),ord("Y")) )

avatar
大写字母范围 A~Z 65 -90

小写字母范围a~z 97 -122
0 ~9 48~57
ASCII 码目录
Python的特殊之处:可以使用多个关系运算符

age = 20
result = 18 <= age <= 30
print(result)

avatar
一个条件直接解决
很简洁 方便

逻辑运算符

与 或 非
在Python里面

# coding:UTF-8
age = 20
name = "s"
result = age == 20 and name == "s"
print(result)

avatar

# coding:UTF-8
age = 18
name = "s"
result = age == 20 or name == "s"
print(result)
# coding:UTF-8
age = 18
name = "s"
result = not age == 20 
print(result)

位运算符

高级语言对于位运算需求不是很大
bin() 二进制
oct() 八进制
int() 十进制
hex() 十六进制

& 位与
| 位或
^  位异或
~  反码计算
<< 左移
>> 右移
 # coding:UTF-8
num_a = 13 
'''
1101 0111
0101
''' 
num_b =7

print("jieguo: %s" %  (num_a & num_b))

身份运算符

Python 自己提供的运算符 进行功能完全相等的判断

Python里面是引用类型 id()获取内存地址 唯一一个与底层有交互的函数

    # coding:UTF-8
        num_a = 2
        num_b =1+1
        num_c = 4 // 2
        print(id(num_a))
        print(id(num_b))
        print(id(num_c))

python就是说数据相同的地址是一样的
avatar

      # coding:UTF-8
        num_int = 10
        num_float =10.0

        print(id(num_int))
        print(id(num_float))
        print(num_int ==num_float )
    
    默认 整型转换成float类型

avatar

  • is
  • is not

分支判断机构

程序逻辑

在程序开发过程层中 数据处理

分支机构

断言

断言是assert
利用assert设置断言判断表达式
avatar
断言错误
avatar

需要为断言设置错误信息

无论什么时候千万不要在python语句前面空格。
断言是不收到程序逻辑控制之外的问题 在世纪的开发之中慎用

循环结构

while循环

  • while循环
    while 循环结束判断
    循环语句
    修改循环结束条件

  • while else 循环
    while 循环结束判断
    循环语句
    修改循环结束条件
    else:
    循环语句执行完毕后执行的代码

#coding:UTF-8
sum = 0
num = 1
while num <= 100:
	sum += num
	num +=1
print(sum)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KUIypUcR-1662458543739)(http://122.112.166.255/HuPhoto/20220906/.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E8j1llZJ-1662458543739)(evernotecid://52A48768-587E-4C8A-9C79-6BDF8705DC6C/appyinxiangcom/30485129/ENResource/p108)]

#coding:UTF-8
sum = 0
num = 1
while num <= 100:
	sum += num
	num +=1
else:
	print("哈哈哈哈哈哈哈")
	print("数字累加计算结果: %d,当前的数值: %d " % (sum ,num))
print(sum)

avatar

实现1000以内的斐波那契数列

# coding:UTF-8
num_a = 0
num_b = 1
while num_b <= 1000 :
   print(num_b , end = ",")
   num_a , num_b = num_b ,num_a + num_b

for循环

循环控制语句

循环嵌套

列表

序列结构简介

列表基本定义

数据分片

成员运算符

列表操作函数