如果你是有比较厚实的C语言基础,那么看Python会觉得很熟悉,这两个语言大概的逻辑是一致的(之所以只说这两个语言,因为我现在只学了这两个语言)
毕业设计设计摄像头相关的图像处理,使用的是Dofbot Jetson nano的一个搬运机械臂,故为此浅学一下Python。以下为分享的相关学习笔记,以备今后遇到相关问题便于查找和相互学习讨论。
环境:Python 3.10; 解释器:Pycharm 2021.3.2;
写在前面的部分:Python中部分函数关键字与C不同;输出为print而不是printf;是chr不是char;编译和解释的概念不同;Python是脚本语言; 这里必然会涉及到解释器的激活问题,我的建议是,先去官网注册个账户,然后登陆的话大概会有几天的试用时间,在这一段时间里面,用自己的学信网学历验证去官网申请教育试用。
【你得是本科生或者研究生嗷,如果是社畜,公司一般会买正版软件给社畜用吧】
申请教程参考如下Pycharm的安装与激活(超详细)_By基QI学习
Chap1
print(1)
print('string')
a=100
b=50
print('a')#输出字符串的时候什么引号都可以
print(a)
print(a*b)
print(a,b)#不换行多次输出
print('b')
print(chr(98))
print(ord('北'))#北的编码为21271
print('\u5317')
fp=open('note.txt','w')#打开文件,写
print('北京欢迎你',file=fp)#输出到文件中
fp.close()#关闭文件
print('北京',end='-')#sep=' '为逗号在输出中的内容,为空格;end='\n'为print函数在结尾的内容,为换行;
print('欢迎你')
print('北京欢迎你'+'2022')#意为连接
name=input('请输入你的姓名:')
print('我的姓名是:'+name)#意同为scanf函数,且默认输出字符串
num=int(input('请输出数字:'))
print('数字为:',num)#不换行多次输出
'''
多行注释
'''
#老版本pycharm开始前要先声明注释的类型
#coding=utf-8
#缩进
#类的定义
class Student:
pass
#上列必须缩进
#函数定义也要缩进
def fun():
pass
print('人生苦短,我用Python')
Chap2
#coding=utf-8
#查看python中的保留字
import keyword
print(keyword.kwlist)
#保留字不能自己用,是系统用的
#标识符等和C也一样,不能用的符号就别用
#标识符命名规则
my_name_1='刘帅亮'
#1_my_name='刘帅亮'#不能以数字开头
My_name_1='刘帅亮'
print(my_name_1)
print(My_name_1)#标识符有严格大小写
#可以用中文命名,但是不建议
class Myclass:
class _InnerClass:#在类里面定义类,名字前面加上下划线,比较规范
pass
#变量的定义和使用
luck_number=8#可以直接给变量赋值,还不用分号;
#变量的类型可以随时变化
print('luck_number的数据类型是',type(luck_number))#type获得变量的数据类型
#同一个变量通过赋不同类型的值就可以直接改变变量的数据类型
#允许多个变量指向同一个值
no=number=1
print(id(no))
print(id(number))#而且地址也相同
#不要用I和O,不好分辨;
#无定义常量的保留字
#规定变量全用小写字母,常量用首字母大写,常量也可以被改,但是不建议改;
num=100#默认十进制
num1=0b1010101#二进制
num2=0o765#八进制
num3=0x87ABF#十六进制
print(num)
print(num1)
print(num2)
print(num3)#输出的都是十进制数
#浮点型
height=187.6
print(height)
print(type(height))
#浮点数不确定的尾数问题
print(0.1+0.2)#最终输出的结果为:0.30000000000000004,计算机并不是正常加的,是二进制加的,有尾数很正常;
print(round(0.1+0.2,1))#限制尾数保留个数,此处为限制保留小数点后一位;
#复数运算
x=123+456j
print(x.real)#实部
print(x.imag)#虚部
#字符串
info='''2022年2月24日
星期四
早上九点一十二
'''
print(info)#多行字符串输出用三引号
#\n换行,前面加小写r,转义字符失效
print('北京\n在中国')
print(r'北京\n在中国')
#对字符串检索的时候正序和倒序都可以,类似于数组
s='HELLOWORLD'
print(s[0],s[-10])#正着数第0个和倒着数-10都是一样的;
print('bjhyn'[1])
print(s[2:7])
print(s[:5])#字符串的切片
print(s[5:])
#字符串类型操作
x='2022年'
y='北京冬奥会'
print(x+y)
print(x*10)
print('北京' in y)#判断 前面 是否在 后面,输出True和False;
print('上海' in y)
#布尔类型
x=True
print(x)
print(type(x))
print(True+10)#真值的本质是1
print(False+10)#假值的本质是0
#测试对象的bool值
print(bool(18))
print(bool(0),bool(0.0))#非0的数值型布尔值都为True
print(bool('北京欢迎你'))#字符串的布尔值为True
print(bool(''))#空字符串的布尔值为False
#False和None布尔值都为0
print(bool(None))
#数据类型转换
#和C不一样的部分
int()
float()#只保留整数,不四舍五入,和C一样;
str()
#chr()#整数-字符
#ord()#字符-整数
#hex()#转为16进制
#oct()#转为8进制
#bin()#转为2进制
#eval函数
s='3.14+3'
print(s,type(s))#现在输出的是字符串
x=eval(s)
print(x,type(x))#去掉了字符串的引号,还做了计算
#多和input配合使用做数据输入
#算术运算符
print('取余',10%3)#除完取余数
print('整除',10
print('幂运算',2**3)#2的3次幂
#其余和C一样,并且赋值运算符和C也完全一样,比较运算符也一样
#逻辑运算符
#and与 or或 not非,和自然语言一样!!!
#位运算符<< >>也和C一样,知道就行。
#不同于C的一个赋值法,系列解包赋值
a,b=10,20
print(a,b)#相当于执行了a=10 b=20
Chap3
#程序的描述方式
r=eval(input('请输入圆的半径:'))
S=3.14*r*r
L=2*3.14*r
print('圆的面积:',round(S,2),'周长是:',round(L,2))#保留小数点后两位
#列表分解赋值
[name,age]=['李明',15]
print(name,age)
#字符串分解赋值
a,b,c,d='room'
print(a)
#扩展的字符串解包赋值
a,*b='room'
print(a)
print(b)#只把r给了a,其余全给了b
#if语句
number=eval(input('请输出中奖号码:'))
if number==987654:
print('中奖了')
if number!=987654:
print('滚!')
#选择结构
if number==987654:
print('中了')
else:
print('爬')
#多重if语句
if number==1:
print(1)
elif number==2:
print(2)
elif number==3:
print(3)
#嵌套if
if number==1:
print(1)
if number==1 and num==1:
print(1)
elif number==1 and num==2:
print(2)
else:
print(2)
#循环结构
for i in 'hell:':
print(i)#把hello每个字母都输出一遍
#range()函数,产生一个[n,m)的整数序列,不包含m
for i in range(1,11):
print(i)#输出从1到10
'''
for 循环变量 in 遍历对象:
语句1
else:
语句2
'''
'''
while 表达式:
语句1
上述结构如果表达式为真,则执行语句1;若为否,就不进循环,跳过语句1,执行后面的东西;
while 表达式:
语句1
else:
语句2
else要在while之后使用,while通常和break还有continue用,和C一样;
'''
#break
while number==1:
i=i+1
if i>=10:
break
#也能用在for中,跳出循环;
#continue
#结束本次循环,从循环开头重新执行;而break会直接推出循环;和while for一起用;
#pass空语句
#和C里面的none一样;
|