python笔记

1. 在文本文件中编写代码,以.py扩展名的方式保存,这个文件是一个Python的脚本。

2. 使用IDLE编写程序;

3. 在程序中添加注释,在注释的每一行的前面输入#号,

如:#这是一条注释

4.注释的另一种方式:使用三个单引号(或三个双引号)来添加多行注释,

 如:

’’’

这是一条注释

这也是一条注释

‘’’

5. 对于超长语句,最好使用圆括号()来连接行;

补充:

1. 使用内置函数type(object)可以返回object的数据类型;

如:

>>> type(1)

<class 'int'>

>>> type(1.0)

<class 'float'>

>>> type('1')

<class 'str'>

也可用isInstance函数判断某个对象是否属于某个类型:

如:

isInstance(1,int)

2. 二进制、八进制、十六进制分别用0b,0o,0x表示;

3. 查看复数的时虚部:

>>> (3-4j).real

3.0

>>> (3-4j).imag

-4.0

                                                     

变量和操作符

1.定义变量:

 userAge=0

也可以一次定义多个变量:

userAge,userName=30,’Peter’

或者写成:

userAge=30

userName=’Peter’

2.命名一个变量

python中,一个变量名仅可以包含字母(a-z,A-Z)、数字或者下划线(-);

第一个字符不能是数字;

如:usernameuser_nameuserName_2

但是:2userName是不对的;

Python中,printinputifwhile等预留的单词不能用作变量的名字;

 

赋值符号

1.=是一个赋值符号;

2. x=yy=x含义不同;

 

基本操作符

1. 除法/;    整除//;     取余%;    指数**

如:x=5,y=2

 x**y=25(52次方)

 

分配操作符

1. x+=2  即:x=x+2

2 .x-=2  即:x=x-2

其它的分配操作符:*=+=-=等等;

 

python中的数据类型

整型

1. 整型是没有小数部分的数字;如:-5-30等等;

2. 声明一个整型:

variableName=initial value

如:

userAge=20,mobileNumber=123456598

 

浮点型

1. 浮点型表示带有小数点部分的数字;如:1.234、-0.023、12.098;

2. 声明一个浮点型:

   variableName=initial value

如:

userHeight=1.87,userWeight=66.2

 

字符串

1. 字符串表示的是文本;

2. 声明字符串

使用variableName=’initial value’(单引号)

或者variableName=”initial value”(双引号)

:

userName=’Peter’,userSpouseName=”Janet”,userAge=’30’

3. 使用连接符号(+)连接多个字符串;

如:”Peter”+”Lee”=“PeterLee”

 

补充:

1. 使用id()函数可以确切知道变量引用的内存地址;

如:

>>> x=1

>>> id(x)

1348720432

 

内建的字符串函数

upper()方法可以把字符串的每一个字符都变成大写;

如:’Peter’ .upper()    可以得到:”PETER”

 

使用%操作符格式化字符串

1. 使用%操作符格式化字符串,包括三个部分:

第一部分包括要写出格式化的字符串;

第二部%;

第三部分使用小括号;()括号内包括插入字符串的变量或者值;

例:
brand='Apple’
exchangeRate=1.2356225
message='the price of this %s laptop is %d USD and the exchange rate is %4.2f USD to 1 EUR' %(brand,1299,exchangeRate)

结果:the price of this Apple laptop is 1299 USD and the exchange rate is 1.24 USD to 1 EUR

分析:

%s格式化符号表示一个字符串;上面是“Apple”;

%d格式化符号表示一个整数;上面是1299

%5d%123)显示“  123”(前面两个有空格,总长度是5);

%f格式化符号用于格式化浮点数(有小数点的数字);

%4.2f其中4表示总长度,2表示2个小数位;

%7.2f来格式化:显示“   1.24”(有两个小数位,前面3个空格,总长度是7

使用format方法格式化字符串

1. 使用format方法时,不使用%s%f或者%d作为占位符;使用大括号{ }

例:

message='The price of this {0:s} laptop is {1:d} USD and exchange rate is {2:4.2f} USD to 1 EUR' .format('Apple',1299,1.2356987)

print(message)

结果:The price of this Apple laptop is 1299 USD and exchange rate is 1.24 USD to 1 EUR

分析:

参数Apple”的位置是0,1299的位置是1,1.2356987的位置是3

位置总是从0开始;

{0s}是让解释器用位置0的变量来替换{0s},它是一个字符串格式(因为格式符号是“%s”);

{1:d}指的是位置1的变量,它是个整数类型(格式符号是d);

{2:4.2f}指的是位置2的变量,它是个浮点类型(格式符号是4.2f);

例:

message='The price of this {} laptop is {} USD and exchange rate is {} USD to 1 EUR' .format('Apple',1299,1.2356987)

print(message)

结果:The price of this Apple laptop is 1299 USD and exchange rate is 1.2356987 USD to 1 EUR

分析:

这个例子中没有指定变量的位置,解释器会根据大括号内所提供的变量顺序来替换。

2. 另一个例子:

message1='{0} is easier than {1}'.format('Python','Java' )

print message1

结果:

Python is easier than Java

例:

message4='{}'.format(1.23423458)

print message4

结果:

1.23423458

 

Python中的类型转换

1. Python中的int()函数接收一个浮点型或者合适的字符串,将它转换为整型;

如:

int(5.712987)

结果:5   #小数点后的数字都被删除了

如:输入int(“4”),得到4

注:不能输入int“Hello”)或者int(“4.22321”),这两种情况下都会得到错误信息;

2. float()函数接收一个整型或者一个合适的字符串,把它转换为一个浮点型。

如:

float(2)或者float("2")

结果:2.0

如:float(“2.09109”)     结果:2.09109

3. str()函数把一个整型或浮点型转换为一个字符串;

如:

str(2.1)      结果:2.1

 

列表

1. 列表通常表示的是相关数据的一个集合;

如:userAge=[21,22,23,24,25]

2.列表中的单个值是可以通过它们的索引获取的,索引总是从0开始,而不是从1开始;

userAge[0]=21,userAge[1]=22

列表中的最后一个元素的索引是-1,倒数第二个的索引是-2,依次类推;

userAge[-1]=25,userAge[-2]=24

3. 如:userAge3=userAge[2:4]

结果:userAge3=[23,24]

分析:把列表userAge中索引为24-1的元素分配给了列表userAge3

4.符号2:4叫作切片,它包括开始索引的元素,但不包括结尾索引的元素;

5.切片符号包括第三个数字时,第三个数字叫作步长;

如:

userAge4=userAge[1:5:2]

结果:userAge4=[22,24]

分析:得到的是索引1到索引5-1中每隔一个数字的子列表,因为步长是2

6. 切片符号的默认选项中,默认的第一个数字是0,默认的第二个数字是要切片的列表的长度;

如:userAge[ :4]是从索引04-1的值;

userAge[1: ]是从索引1到索引5-1的值(因为userAge的长度为5,即userAge5个元素);

7. 修改列表中的元素

userAge[1]=5,列表变成userAge=[21,5,23,24,25]     #第二个元素的值换成了5

8. 在列表中添加元素

userAge.append(99)

得到userAge=[21,5,23,24,25,99]   #列表末尾加了99

9.删除列表中的元素

del userAge[2]

得到userAge=[21,5,24,25,99]     #第三个元素被删除了

例:

mylist=[1,2,3,4,5,"Hello"]

print(mylist)

print(mylist[-1])

mylist2=mylist[1:5]

mylist[1]=20

mylist.append("How are you")

del mylist[5]

print(mylist)

 

 

元组

1. 元组和列表很像,但是无法修改元组的值;

2. 元祖的初始值在后面的程序中保持不变;

3. 声明一个元组时,使用的是圆括号();多个值用逗号分隔;

如:

monthsOfYear=(“Jan”,”Feb”,”Mar”)

也可以用索引来获取元组的对应位置的值;

如:

monthsOfYear[0]=”Jan”,monthsOfYear[-1]=”Mar”

 

字典

1. 声明字典时,要求字典的关键字必须是唯一的(在一个字典中);

myDictionary={“Peter”:38,”John”:51,“Peter”:13}  #这是错误的声明,因为Peter被两次用于字典的关键字;

如:

userNameAndAge={"Peter":38,"John":51,"Alex":13,"Alvin":"Not Avaible"}

或者使用dict()方法声明字典

userNameAndAge=dict(Peter=38,John=51,Alex=13,Alvin=”Not Avaible”)

2. 获取字典中的单个元素

userNameAndAge["John"]

结果:51

3. 修改字典中的元素

userNameAndAge["John"]=21

结果:

{'Alex': 13, 'Peter': 38, 'John': 21, 'Alvin': 'Not Avaible'}

4. 也可声明一个字典,且不分配任何的初始值;

写成:ditionaryName={}

5. 在字典中添加元素

userNameAndAge["Joe"]=40

结果:

{'Alex': 13, 'Peter': 38, 'John': 51, 'Joe': 40, 'Alvin': 'Not Avaible'}

6. 从字典中删除元素

del userNameAndAge["Alex"]

结果:

{'Peter': 38, 'John': 51, 'Alvin': 'Not Avaible'}

例:

myDict={"one":1.35,2.5:"Two Point Five",3:"+",7.9:2}

print(myDict)

print(myDict["one"])

print(myDict[7.9])

print(myDict[2.5])

myDict[2.5]="Two and a half"

myDict["New item"]="I'm new"

del myDict["one"]

print(myDict)

注:字典中元素的顺序与声明时的顺序是不一样的;

 

程序可交互

例:

myName=input("Please enter your name:")

myAge=input("What about your age:")

print("Hello World,my name is",myName,"and I am",myAge,"years old.")

 

input()

例:

myName=input("Please enter your name:")

input()函数用于给用户提供指导信息;

 

print()

1. print()函数用于给用户展示信息;

2. %格式化符号打印有变量的声明的方法:

print("Hello World,my name is %s and I am %s years old."%(myName,myAge))

3. format()方法打印出相同语句:

print("Hello World,my name is {} and I am {} years old".format(myName,myAge))

 

三引号

1. 要显示一段很长的信息,可以使用三引号(‘ ‘ ‘或者” “ “),让信息扩展到多行;

如:

print('''Hello World.MY

name is James andI

am 20 years old.''')

这样有利于消息的可读性;

 

转义符号

1. 使用\(反斜杠)符号来转义字符;

2. 如:

   print('Hello\tWorld')

  结果:Hello World

3. \n表示打印输出

如:print(‘Hello\nWorld’)

结果:

Hello

World

4. \\(打印反斜杠本身);

如:print(‘\\’)

结果:\

如:\’’(打印双引号)

例:

print("I am 5'9\"tall")

print('I am 5\'9"tall')

5. 若不想把\t翻译成一个制表符号,应该输入print(r’Hello\tWorld’)

结果:Hello\tWorld

 

选择和判断

条件语句

=(不等于)

  <=(小于等于)

  >=(大于等于)

如:5>=2

    5>=5

逻辑符号:and、or、not

 

if语句

if结构:

if condition 1 is met:

   do A

elif condition 2 is met:

   do B

elif condition 3 is met:

   do C

elif condition 4 is met:

   do D

else:

  do E

注:elif表示“else if”;

Python使用缩进来表示语句的开始和结束;

例:

userInput=input('Enter 1 or 2: ')

if userInput=="1":

   print("Hello World")

   print("How are you?")

elif userInput=="2":

    print("Python Rocks!")

    print("I love Python")

 

else:

    print("You did not enter a valid number")

结果:

Enter 1 or 2: 1

Hello World

How are you?

Enter 1 or 2: 2

Python Rocks!

I love Python

Enter 1 or 2: 3

You did not enter a valid number

补充:

例:

name=input("名字:")

chinese=float(input("语文:"))

math=float(input("数学:"))

english=float(input("英语:"))

average=(chinese+math+english)/3

if average>=85:

    print(name,"一等奖")

elif average>=75:

    print(name,"二等奖")

elif average>=65:

    print(name,"三等奖")

else:

    print(name,"无奖")

 

內联if

如:

num1=12 if myInt==10 else 13

分析:

这个语句在myInt等于10的时候把12分配给num1,否则它把13分配给num1;

例:

myInt=input("number:")

num1=12 if myInt==10 else 13

print(num1)

例:

myInt=input("number:")

print("This is task A" if myInt==10 else "This is task B")

 

for循环

1.通过迭代循环

1.Python中,可迭代意味着可以内部循环的对象;

例:

pets=['cats','dogs','rabbits','hamsters']

for myPets in pets:

print(myPets)

结果:

cats

dogs

rabbits

hamsters

若想显示列表中成员的索引值,可以使用enumerate()函数:

pets=['cats','dogs','rabbits','hamsters']

for index,myPets in enumerate(pets):

    print(index,myPets)

结果:

0 cats

1 dogs

2 rabbits

3 hamsters

2.在字符串上循环

例:

message='Hello'

for i in message:

    print(i)

结果:

H

e

l

l

o

 

2.在一段数字上循环

1.用内建的range()函数;

语法:range(start,end,step)

注:若step没有指定,将会生成一个连续数字的列表,即step=1;

end的值必须指定;

   指定的end值不会出现在生成的列表中;

如:

range(5)   #生成列表[0,1,2,3,4]

range(3,10)   #生成列表[3,4,5,6,7,8,9]

range(4,10,2)  #生成列表[4,6,8]

例:

for i in range(5):

    print(i)

结果:

0

1

2

3

4

 

while循环

语句结构:

while condition is true:

do A

例:

counter=5

while counter>0:

    print("counter=",counter)

    counter=counter-1

    

结果:

counter= 5

counter= 4

counter= 3

counter= 2

counter= 1

注:要小心无限循环的危险;

 

break中断

当使用循环时,有时在满足某个条件时,你可能想要退出整个循环,此时可以使用break关键字;

例:

j=0

for i in range(5):

    j=j+2

    print('i= ',i,',j= ',j)

    if j==6:

        break

结果:

i=  0 ,j=  2

i=  1 ,j=  4

i=  2 ,j=  6

 

continue

当我们使用continue时,本次循环中在关键字后的程序将会在本次循环中被跳过;

例:

j=0

for i in range(5):

    j=j+2

    print('\ni= ',i,',j= ',j)

    if j==6:

        continue

print('I will be skipped over if j=6')

结果:

i=  0 ,j=  2

i=  1 ,j=  4

i=  2 ,j=  6

i=  3 ,j=  8

i=  4 ,j=  10

I will be skipped over if j=6

 

Try,Except

try,except语句在错误发生时可以控制程序执行的方式;

例:

try:

    answer=12/0

    print(answer)

except:

    print("An error occurred")

结果:

An error occurred

例:

try:

    userInput1=int(input("Please enter a number:"))

    userInput2=int(input("Please enter another number:"))

    answer=userInput1/userInput2

    print("The answer is",answer)

    myFile=open("missing.txt",'r')

except ValueError:

    print("Error:You did not enter a number")

except ZeroDivisionError:

    print("Error:cannot divide by zero")

except Exception as e:

    print("Unkown error:",e)

结果:

第一种:

Please enter a number:12

Please enter another number:0

Error:cannot divide by zero

第二种:

Please enter a number:12

Please enter another number:3

The answer is 4.0

Unkown error: [Errno 2] No such file or directory: 'missing.txt'

 

Python中其他常见的错误:

IOError:

ImportError:

IndexError:

KeyError:

NameError:

TypeError:

注:Python对于不同类型的错误预先定义了错误的信息,若想要显示这些信息,可以在错误类型后面使用as关键字;

:

except Exception as e:

    print("Unkown error:",e)

 

函数和模块

什么是函数?

例:

为了操作文本字符串,使用replace()函数;

"Hello World".replace("World","Universe")

为了在屏幕上显示文字;

print("Hello World")

 

定义函数

1.

例:

def checkIfPrime(numberToCheck):

 for x in range(2,numberToCheck):

    if(numberToCheck%x==0):

        return False

 return True

answer=checkIfPrime(13)

print(answer)

结果:true

 

变量作用域

1. 在一个函数内定义的任何变量仅在函数内可访问,这些变量叫局部变量;

在函数外定义的任何变量叫全局变量,可以在程序的任何位置访问;

补充:

1. 匿名函数:没有实际名称的函数;

使用lambda创建匿名函数;

 

打开并读取文件

例:

建立一个文本文件并保存为myfile.txt,接下来打开IDLE输入:

f=open('myfile.txt','r')

firstline=f.readline()

secondline=f.readline()

thirdline=f.readline()

print(firstline)

print(secondline)

print(thirdline)

f.close

结果:

显示出文本文件的三行文字;

 

使用for循环来读取文件

例:

f=open('myfile.txt','r')

for line in f:

    print(line,end='')

f.close()

结果:跟上面那个例子的结果一样;

 

写入文本文件

例:

f=open('myfile.txt','a')

f.write('\nThis sentence will be append.')

f.write('\nPython is Fun!')

f.close()

结果:在myfile文本文件中增加了:

      This sentence will be append.

Python is Fun!

 

通过缓冲大小来打开并读取文本文件

例:

inputFile=open('myfile.txt','r')

outputFile=open('myoutputfile.txt','w')

msg=inputFile.read(10)

while len(msg):

    outputFile.write(msg)

    msg=inputFile.read(10)

inputFile.close()

outputFile.close()

结果:

myfile和myoutputfile中的内容是一样的;

 

打开、读取并写入二进制文件

例:

把一个图片命名为:myimage.jpg,编辑程序:

inputFile=open('myimage.jpg','rb')

outputFile=open('myoutputimage.jpg','wb')

msg=inputFile.read(10)

while len(msg):

    outputFile.write(msg)

    msg=inputFile.read(10)

inputFile.close()

outputFile.close()

结果:在相同文件夹下得到一个新的jpg图片文件,看起来跟myimage.jpg一模一样;

 

删除和重命名文件

1. 删除文件:remove()函数;

语法是:remove('myfile.txt’)

2. 重命名文件:rename()函数;

语法是:rename(('myfile.txt’)

 

 

mammals 哺乳类,哺乳类动物;

 

 

Python中我们用import导入我们需要的模块。

 

图形界面设计

title()方法设置标题文字;

geometry()方法设置窗体大小;

当导入tkinter模块后,调用Tk()方法可初始化一个根窗体事例root

 

图形绘制

canvas 帆布

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值