`
`
学习编程最好的方式就是多动手取敲代码,当你的代码量达到10000行的时候,你的编程能力就会有很大的提升,所以我提供了一个刷题的网站,不仅仅是Python,其他的语言也有对应的题目,后面也会更新一些较为典型的题目解答Python在线刷题网站,本人也只是一名大一学生,如有错误地方,还请指正。
程序实例:
# coding:UTF-8
score=98.6
sex="male"
age=18
name="张三"
infors="Hello Python!"
print("%s" % (infors))
print("%d" % (age))
print(f"{sex},{name}")
上面的程序我们可以发现Python语言在编译过程中是不需要定义它的数据类型的,他的数据类型会根据程序员的初始化来确定。而Python的输出函数就是print函数,他的格式有很多,最常见的就是print(“数据类型” % (标识符))。
他的其他输出方式后面会详细介绍。
和c++,java一样,Python中也有他自己的注释符,但是格式却有点不同。
c/c++语言 | Python语言 |
---|---|
//作为c/c++中的单行注释符 | #作为Python中的单行注释符 |
/* */作为多行注释符 | “”" “”"或者’‘’ ‘’'作为多行注释符 |
注释的功能描述:
# coding:UTF-8
score=98.6 #给变量score赋值98.6
sex="male" #给字符串变量赋值
age=18
name="张三"
infors="Hello Python!"
'''
利用输出函数来实现结果的输出
'''
print("%s" % (infors))
print("%d" % (age))
print(f"{sex},{name}")
'''
合理的使用注释符可以为我们清楚地描述代码的作用。
'''
在Python中,标识符一般是由数字,字母,下划线组成,我们在定义变量和函数的时候,尽量做到见名知意,也就是用对应的英文单词来定义,尽量不要使用例如a,b,c,d等单个字母定义。在Python中双下划线“__”的使用一般有严格的要求,尽量不要使用,除了特殊要求。由于我们的程序都是由电脑进行识别,所以为了让计算机方便识别,标识符的开头最好是英文字母,尽量不要包含其他的符号。
变量是程序中的一个中要租组成单位,利用变量定义的方式可以将内存中的某个内存块保留下来以备下次使用,同时不同的变量需要有不同的数据类型,如整数或者浮点数等。在Python中变量不需要声明就可以使用,而其对应的数据类型会根据所赋予的数值来决定,但是变量在使用前都需要通过如下方式定义:
在C语言和c++中,声明常量的时候会用到特殊的关键字,但是在Python中不需要,在Python中如“num=100”,num是变量,100就是常量,100是不可以改变的。
在上面的程序中,每个语句后面都没有“;”,但是如果要使用分号也是可以的,在Python中没有强制要求使用,如果习惯了使用,则可以继续使用。但是使用分号作为分隔符也有很多好处,比如一行完成多个变量的定义。
实例:
# coding:UTF-8
score=98.6 #给变量score赋值98.6
sex="male" #给字符串变量赋值
age=18
name="张三"
infors="Hello Python!"
'''
利用输出函数来实现结果的输出
'''
print("%s" % (infors))
print("%d" % (age))
print(f"{sex},{name}")
del score
score=100
print(score)
#该改变变量score的值。
score=98
print(score)
#利用分隔符实现一行完成多个变量的初始化
num1=19;num2=18;num3=34;
print("%(num1)d %(num2)d %(num3)d" % vars()) #利用字典函数实现,后面会讲;
细心的小伙伴会发现,上面的程序用了“del”,这个就是Python中的删除函数,删除了该变量(严格意义叫“对象”,后面讲到面向对象编程的时候会讲,现在先称为变量)。使用了del函数,变量的空间会被收回,而这个原理就是Python中在系统的最底层设计了一个引用计数器的操作,当该内存空间有变量指向或者引用的时候,计数器加一,如果该变量使用del删除函数,计数器变为0,内存空间被回收。
Python中常用的数据类型有整型,浮点数,复数,布尔,字符串,列表,元组,字典,日期。
在c++和Java中,数据的传递可以划分为值传递和引用传递,在Python中所有的传递都是引用传递,在Python中,数据保存也是没有大小限制的,可以任意保存。
Python中涉及到数据类型的转换,不再像c++中那么复杂,Python会自动根据数据类型来自动转换数据类型。那么我们如何去得知数据的值喃?这个时候就要用type(常量|变量)的语法格式获取。操作代码如下:
示例:动态获取变量对应的数据类型
# coding:UTF-8
num_a=10 #定义整型数据
num_b=4
print(type(num_a))
print("%s" % (type(num_b)))
注意:在使用type()函数的时候要注意None问题,youyuPython语言的特殊性,所有的变量都会存一个None的值,其表示不确定的类型,而这种变量在使用type()函数获取类型的时候返回的是NoneType。
高中学的复数,a+bi,a为实部,b为虚部,i称为虚数单位。
复数操作 | 描述 |
---|---|
complex(实部,虚部) | 定义复数常量 |
复数变量.real | 获得复数实部 |
复数变量.imag | 获得复数虚部 |
复数变量.conjugate() | 获得共轭复数 |
代码示例: |
# coding:UTF-8
#定义复数
num_comp=complex(10,2)
#乘法运算
print(num_comp*2)
#复数实部
print(num_comp.real)
#复数虚部
print(num_comp.imag)
#复数的共轭复数
print(num_comp.conjugate())
print("%s" % (type(num_comp)))
布尔型变量是一种逻辑结果,主要保存两类数据,True和False,这类数据主要是用于一些程序逻辑上的判断。
由于Python使用c语言开发的,所以也继承了c语言的一些特点,故也可以用数字来表示真值,非零数据是真True,0是False。
Python中的字符串是可以用加号连接的,和c++的属性相似。就不需要像c语言一样用特定函数才能连接。
# coding:UTF-8
infors="Hello Python"\
"\nI will study you\\"
print(infors)
像引号等字符,我们为了简化操作,可以直接嵌套使用,就不需要使用转义字符。
Python中的输入函数是input(),在使用input输入函数的时候不需要像c语言要使用不同的数据类型,这极大地简化了写程序。但是由于Python语言中的默认数据类型是字符串类型,就像c++语言默认的是double类型,所以如果我们要进行对键盘输入数据操作的时候,就要使用到类型的转换。
函数 | 描述 |
---|---|
(1).int(数据) | 将指定数据转换为整型数据 |
(2).float(数据) | 将指定数据转换为浮点型数据 |
(3).bool(数据) | 将指定数据转换为布尔型数据 |
(4).str(数据) | 将指定数据转换为字符串类型 |
例如: |
`# coding:UTF-8
from cgitb import reset
str="12345"
num=89
enum=100
#利用数据转换来实现字符串与整型的运算
result=int(str)+num
print(result)
del str
str2="I am lihua"
str1="my python score is"
score=98
#用类型转换将字符串和整型数据一起输出(后面还有占位,字典等方法,现在先介绍这一种)
print(str2+" "+str1+" "+str(score))
#非字符串和字符串用“+”号连接的时候,需要用str,就如上面的例子。
'''
使用键盘输入数据的时候,要表明输入数据类型,这样在后面的计算中才不会报错。
'''
del score;del str2;del str1; #为养成良好的编程习惯,使用完变量后,用del删除
num_a=int(input())
num_b=float(input())
num_c=num_a+num_b
print(num_c)
print(type(num_c))
#运行后显示数据类型weifloat类型,这也就很好地说明了Python具有自定转换数据类型的功能
`
Python进行数据的输出的时候主要就是通过print()函数完成,为了方便类容按照编译者的意愿输出,就提供了一个输出格式
:
“格式化字符串” % (数值,数据…)
格式化标记
标记 | 描述 |
---|---|
1.%c | 格式化字符 |
2.%d | 格式化整型 |
3.%e | 科学技术法,使用小写字母e |
4.%g | %f和%e的简写 ,数据超过6位用%e,低于六位用%f |
5.%u | 格式化无符号整型 |
6.%x | 格式化无符号十六进制数 |
7.%s | 格式化字符串 |
8.%f | 格式化浮点型,可以设置保留精度 |
9.%E | 科学计数法,用E表示,和%e一样 |
10.%G | %f和%E的简写 |
11.%o | 格式化无符号八进制 |
12.%X | 格式化无符号十六进制数(大写字母) |
# coding:UTF-8
age=18
url="xxx大学进行学习"
salary=8197298
print("我今年%d岁了,在%s,期待以后的工资位:%E" % (age,url,salary))
格式化辅助标记
标记 | 描述 |
---|---|
1.* | 定义宽度或者精度 |
2.- | 左对齐 |
3.+ | 在正数面前显示+号 |
4.空格 | 显示位数不足的时候填充空格 |
5.(var) | 映射变量(字典参数) |
6.# | 在八进制前面显示零(‘0’),在十六进制前面显示‘0x’或者‘0X’ |
7.0 | 显示位数不足时填充0 |
8.% | ‘%%’输出一个% |
9.m.n | m设置显示的总宽度,n设置小数位数 |
代码示例: |
# coding:UTF-8
num_a=10.223456783
num_b=20.34
# %5.2:表示总长度为5,保留小数位数为2位。
# %010.2f表示总长度为10,保留2位小数,不足的用0填位
print("数字一:%5.2f,数字二:%010.2f" % (num_a,num_b))
del num_a
del num_b
name="李兴华"
age=18
score=97.8
#利用vars函数实现自动匹配,如果没有标明变量的顺序,则默认按照定义的顺序
print("姓名:%(name)s,年龄:%(age)d,成绩:%(score)f" % vars())
#print函数的拓展功能
'''
print函数在输出后会默认换行,但是在实际的开发中,有时候不需要换行,这个时候我们就可以定义一个输出格式。用end()函数。
'''
print("%010.2f" % (score),end=(","))
print("%d" % (age),end=("\n"))
Python语言完美地继承了c语言中的运算符,但是部分有些不太一样,可以参考java的运算符记忆,二者有很大的相似之处。运算符包括赋值运算符,算术运算符,条件运算符,逻辑运算符,关系运算符,身份运算符,成员运算符等。
运算符 | 描述 |
---|---|
1. () | 改变运算符优先级 |
2.** | 幂运算(相当于c++中的pow函数) |
3.~ | 反码运算符 |
4.*,/,%,// | 乘除运算 |
5.+,- | 加减运算符 |
6.>>,<< | 位运算符 |
7.& | 位于运算 |
8.^, | 异或与或运算(格式问题,或运算的符号为竖线) |
9.<=,>=,<,> | 比较运算符 |
10.==,!= | 关系运算符 |
11.=,+=,-=,=,/=,//=,**= | 简化运算符 |
12.is,is not | 身份运算符 |
13. in,not in | 成员运算符 |
14.not,or,and | 逻辑运算符 |
示例代码: |
# coding:UTF-8
a=True
b=False
c=a^b #异或运算符
print(c)
del a;del b;
a=10;b=10;
a**=b; #幂运算符
print("%G" % (a))
del a;del b;
num_first=45
num_second=23
print("%s" % type(num_first/num_second)) #输出数据为浮点型,和c++不一样
print(num_first/num_second)
print(num_first//num_second)
print("%s" % type(num_first//num_second))#输出数据为int型
del num_first;del num_second
infors="Python is easier than other languages "
infors2="I like Python"
infors3="I will studey it"
infors4="I like Python"
a=(infors==infors2)
b=(infors2==infors4)
print("%s %s" % (a,b))
if infors!=infors2:
print("infors and infors2 not equality")
if infors is not infors2: #身份运算符
print("True")
info="Python"
if info in infors2: # 成员运算符
print("True")
在Python中所有保存的数据都会存储在不同的内存地址中,然而用户并不能直接直接进行这些这些底层内存信息的操作,唯一可以观察的就是通过一个id()函数获取他们的地址。
# coding:UTF-8
num_a=2
num_b=3-1
num_c=2+1-1+3-3
print("%d" % id(num_a))
print("%d" % id(num_b))
print("%d" % id(num_c))
运行程序你会发现,他们的地址完全一样,虽然他们的赋值方式和变量名不一样,但是在Python中只会为他们开辟一个空间,他们都指向这个空间。
(1).程序注释有助于提高代码的阅读性与可维护性,Python中提供有两类注释,单行注释符和多行注释符。
(2).标识符主要用来描述某一类结构,Python中的标识符由字母,数字和下划线构成,其中不能以数字开头,不能使用关键字。
(3).Python中所有的数据都是引用数据类型,都会牵扯到内存空间的开辟。
(4).变量指的是类容可以改变的标记统称,常量指的是那些不会被改变的数据类型。
(5).Python中常用的数据类型有整型,浮点数,复数,布尔,字符串,列表,元组,字典,日期。
(6).布尔l类型用True和False表示,也可以用1和0 表示,或者用非0数表示。
(7).Python中用input()函数输入,用print()函数进行格式化输出。
(8).Python中用唐渝鹏函数获取他的数据类型
(9).算术运算符由加法运算符,减法运算符,乘法运算符,除法运算符,幂运算,整除运算,余数运算。
(10).任何运算符都有执行顺序,在开发中建议利用括号来修改运算符的优先级。