打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python基础知识自学整理1

1.1 设置代码格式,养成一个良好的Python代码编写习惯

2.1变量

3.1输入和输出

4.1运算符

5.1 数据类型:整型

5.2 数据类型:浮点型

5.3 数据类型:字符串

5.3.1 字符串方法,注意字符串方法的用法,str.方法

5.4 数据类型:布尔值

6.1 容器内容一:列表

6.1.1:列表的方法

6.2 容器二:元组

6.3容器三:字典

6.3.1.字典的方法

7.1 容器四:集合

8.1 控制流语句if,while,for

9.1函数

10.1函数编写指南

 

 

       

 

1.1 设置代码格式,养成一个良好的Python代码编写习惯

1. 缩进

建议每级缩进都使用四个空格

2. 行长

每行不超过80个字符

3. 空行

合理使用空行来让代码更利于阅读

2.1变量

例子1:变量的定义,通过=赋值,命名原则如下:

1)变量名只能包含 数字、字母、下划线;

2)变量名不能使用数字开头;

3)变量名不能包含空格,但可以使用下划线_来区分不同意义的单词;

4)变量名应该既简单又具有描述性;

5)变量名最好使用小写。

6)不要将Python关键字和函数名用作变量名。

例子2: 整型赋值给变量

>>> spam= 40

>>> spam

40

例子3: 字符串赋值给变量

>>> spam= 'Hello'

>>> spam

'Hello'

例子4: 函数返回值赋值给变量

>>>myName = input()

I am Olivia

>>>myName

'I am Olivia'

例子5: 列表,元组,字典,集合赋值给变量,列表赋值给多个变量

>>>girlName, boyName, itName = ['Olivia', 'Jerry', 'dog']

>>>girlName

'Olivia'

>>>boyName

'Jerry'

>>>itName

'dog'

>>> spam= (1, 2, 4)

>>> spam

(1, 2, 4)

>>> myCat= {'size':'fat', 'color':'gray', 'disposition':'loud'}

>>> myCat

{'size':'fat','color':'gray', 'disposition':'loud'}

>>>treeName = {'a', 'b', 'c'}

>>>treeName

{'b', 'a', 'c'}

例子6: 注意变量的特性,可以将复杂的表达式或者计算式赋值给变量,后续只通过使用变量名来完成复杂的表达或者计算过程。

>>>first_name = 'ada'

>>>last_name = 'lovelace'

>>>full_name = first_name + '' + last_name

>>>message = 'hello' + full_name.title() + '!'

>>>print(message)

例子7:变量的一个重要特性,变量代表的是一种引用(只对可变数据类型来说,变量赋值的是引用;对于不可变类型比如数值、字符串、元组,变量保存的是值非引用),并不是把真实值赋值给了变量

>>>treeName = ['a', 'b', 'c']

>>>myName = treeName

>>>myName

['a', 'b', 'c']

>>> treeName[1]= treeName[0]

>>>myName

['a', 'a', 'c']

例子8:增强赋值,利用变量自己给自己赋值

>>> spam= 'Jerry'

>>> spam= spam + 'Olivia'

>>> spam

'JerryOlivia'

用变量自己给自己赋值,有以下几种符号:+=,-=,*=,/=,%=

>>> spam+= 'Olivia'

>>> spam

'JerryOliviaOlivia'

3.1输入和输出

例子1:print()输出,print在用逗号分隔的情况下,会自动用空格分隔;

 +连接2个字符串的时候,之间是没有空格的

>>>print('I am a good girl.')

I am a good girl.

>>> a ='Jerry'

print('I am a goodgirl' + 'and' + a)

I am a goodgirlandJerry

>>>print('I am a good girl', 'and', a)

I am a good girland Jerry

例子2:改变print在有逗号的情况下默认空格分隔的行为

>>>print('cat', 'dog', 'mouse', seq = ',') #注意一下这句代码,结果出错

cat,dog,mouse

 

例子3:改变print的另一个默认行为:在每一个字符串后面添加换行符

>>> deftest():

              print('hello')

              print('world')

上面这个代码有问题,注意格式,正确代码如下:

>>> deftest():

               print('hello')

               print('world')

>>>test()

hello

world

>>> defotest():

                      print('hello', end = '')   #添加的是空字符,而不是空格字符

                      print('world')

>>>otest()

helloworld

>>> defatest():

                      print('hello', end = '+')

                      print('world')

>>> atest()

hello+world

 

例子4:format函数, 是一个字符串方法str.format()

>>> age =25

>>> name= 'Caroline'

str.format()中str的参数使用{num}进行表示,0表示第一个参数,1表示第二个参数,

>>>print('{0} is {1} years old.'.format(name, age))  #输出参数

Caroline is 25years old.

>>>print('{0} is a girl.'.format(name))  #

Caroline is agirl.

 :代表元素需要的操作,{:.3}代表小数点后需要三位,{:8}占8个字符串空间,没有的用空格填充

>>>print('{0:.3} is a decimal.'.format(1/3)) #小数点后三位

0.333 is a decimal

>>>print('{0:_^11} is a 11 length.'.format(name)) #使用_补齐空位

_Caroline__ is a11 length

>>> print('{first}is as {second}.'.format(first=name, second='Wendy'))  #别名替换

Caroline is asWendy

>>>print('My name is {0.name}'.format(open('out.txt', 'w')))  #调用方法

My name is out.txt

>>>print('My name is {0:8}.'.format('Fred')) #指定宽度

My name isFred    .

4.1运算符

例子1:运算符本身的计算结果,+、-、*、/、//、%、**

>>> 2 + 2

4

>>> 4 - 2

2

>>> 4 * 5

20

>>> 6 / 3#除法,即使能整除,也是浮点数结果

2.0

>>> 8 //3 #商数取整

2

>>> 9 % 2

1

>>> 2 **2 #指数

4

例子2:运算符之间是存在优先级别的,详细优先级(优先级排序:1.指数 2.%,/,//,* 3.-,+ 4.&,5.比较操作符 6.赋值操作符 7.标示操作符 8.成员操作符 9.逻辑操作符 )

>>> 5 **2 // 4 % 3

0

>>> 5 **2 / 4 % 3

0.25

>>> (5 **2) / ( 4 % 3)

25

转义字符的用法

>>>print('Hello there!\nHow are you?\nI\'m doing fine.')

Hello there!

How are you?

I'm doing fine.

5.1 数据类型:整型

例子1:整型自带的整型转换器int(),不同用法

>>>int(34.5)

34

>>>int('ox2d', 16)

45

>>> int('0o55',8)

45

>>>int('ob101101', 2)

45

>>>int(0b101101)

45

>>>int(0o55)

45

>>> x =0b101101

>>>int(x)

45

>>> x =0x2d

>>>int(x)

45

例子2:将整型转化成二进制、八进制、十六进制

>>> x =45

>>>bin(x)

'0b101101'

>>>oct(x)

'0o55'

>>>hex(x)

'0x2d'

例子3:如果输出结果不想带0b、0x、0o,可以使用format()函数

>>> x =45

>>>format(x, 'b')

'101101'

>>>format(x, 'x')

'2d'

>>>format(x, 'o')

'55'

5.2 数据类型:浮点型

例子1:利用float()函数将其他类型转换成浮点型

>>>float(True)

1.0

>>>float(False)

0.0

>>>float(98)

98.0

>>>float('99')

99.0

>>>float('98.0') #将包含有效浮点数的字符串转换为真正的浮点型数字

98.0

5.3 数据类型:字符串

例子1:创建字符串,注意:字符串不可变

>>>'Snap'

'Snap'

>>>'Crackle'

'Crackle'

 

例子2:双引号的作用体现在当创建本身就包含单引号的字符串

>>>''Nay, ' said the naysayer.'

''Nay, ' saidthe naysayer.'

例子3:当字符串中单引号和双引号都有的时候,需要用到转义符\''

>>> '\'do you know \''

''do youknow''

#备注:三元引号'''或者'''用于创建多行字符串

例子4:用+连接2个字符换类型的数据,注意+连接的2个必须都是字符串类型

>>>'Alice'+'Olivia'

'AliceOlivia'

>>> x =99

>>> y =str(x)

>>> z=str(x) + y

>>> z

'9999'

例子5:当字符串和*相遇的时候,*代表复制

>>>'Alice'*6

'AliceAliceAliceAliceAliceAlice'

例子6:原始字符串,忽略字符串中的转义符号,打印出原始字符串

>>>print(r'That is Carol\'s cat.')

That is Carol\'scat.

 

例子7:用下标可以获取子字符串,下标注意:从开始下标开始,从结束下标-1结束。

>>> spam= 'Hello world!'

>>>spam[0]

'H'

>>>spam[4]

'o'

>>>spam[-1]

'!'

>>>spam[0:5]

'Hello'

>>>spam[6:]

'world!'

 

>>> fizz= spam[0:5]

>>> fizz

'Hello'

通过切片并将结果子字符串保存在另一个变量中,就可以同时拥有完整的字符串和子字符串,便于快速简单的访问。

例子8:字符串中in和not in

>>>'Hello' in 'Hello world'

True

>>>'cats' not in 'cats and dogs'

False

5.3.1 字符串方法,注意字符串方法的用法,str.方法

例子1:upper()和lower()

>>> spam= 'Hello world!'

>>> spam= spam.upper()

>>> spam

'HELLO WORLD!'

>>> spam= spam.lower()

>>> spam

'hello world!'

upper()和lower()方法,返回的是一个新的字符串,不会改变原来的字符串,若想改变原来的字符串可以把返回的新的字符串赋值给原来的变量,如上面的例子。

>>> spam= 'My name is Olivia.'

>>>spam.upper()

'MY NAME ISOLIVIA.'

>>> spam

'My name isOlivia.'

例子2:isupper()和islower()

>>> spam= 'Hello world!'

>>>spam.islower()

False

>>>spam.isupper()

False

>>>'HELLO'.isupper()

True

>>>'abc12345'.islower() #只判断所有的字母都是小写或大写

True

>>>'12345'.islower()

False

>>>'12345'.isupper()

False

 

例子3:综合应用,返回True和False的方法关注一下,可以应用到if或者while循环中用于判断

while True:

       print('Enter your age:')

       age = input()

       if age.isdecimal():

              break

       print('Please enter a number for yourage.')

 

while True:

       print('Select a new password (letters andnumbers only):')

       password = input()

       if password.isalnum():

              break

       print('Passwords can only have lettersand numbers.')

 

例子4:startswith()、endswith(),当只是检查字符串的开头或结束部分的时候,这两个方法很好用

>>>'Hello world!'.startswith('Hello')

True

>>>'Hello world!'.endswith('world!')

True

>>>'abc123'.startswith('abcdef')

False

>>>'abc123'.endswith('12')

False

>>>'Hello world!'.startswith('Hello world!')

True

>>>'Hello world!'.endswith('Hello world!')

True

 

例子5:isalpha():如果字符串只包含字母,返回true,无参数,注意用法str.isalpha()

>>> str1= 'my name is Olivia'

>>> str1.isalpha()

>>>str1.isalpha()

False #str1字符串中包含空格了

>>> str2= 'my'

>>>str2.isalpha()

True

 

例子6:isalnum():如果字符串只包含字母和数字,返回true,无参数,注意用法str.isalnum()

>>> str3= 'myname 123'

>>>str3.isalnum()

False #包含空格

>>> str4= 'myname123'

True

>>> str5= '123'

>>> str5.isalnum()

True

>>> str6= 'my'

>>>str6.isalnum()

True

 

例子7:isdecimal():如果字符串只包含数字字符,返回true,无参数,注意用法str.isdecimal()

>>> str7= '123 4'

>>>str7.isdecimal()

False #包含空格

>>> str8= 'my'

>>>str8.isdecimal()

False

>>> str9= '123'

>>>str9.isdecimal()

True

 

例子8:isspace():如果字符串只包含空格、制表符、换行,返回true,注意用法,str.isspace()

 

例子9: istitle():如果字符串只包含以大写字母开头,后面都是小写字母的单词,返回true,注意用法str.istitle()

>>> str10= 'My name is olivia'

>>>str10.istitle()

False

>>> str11= 'Mynameisolivia'

>>>str11.istitle()

True

 

例子10: title()方法可以修改字符串中单词的大小写

>>> name= 'ada lovelace'

>>>print(name.title())

Ada Lovelace

总结:三种方法可以修改字符串的大小写, title(), upper(),lower()因为我们无法依靠用户来正确的输入字符串的大小写,所以可以通过这几种方法对字符串进行处理后

再执行别的代码。

 

例子11: join():将一个字符串列表中的值连接起来形成一个单独的字符串,使用方法:连接符号.join(列表或列表变量)

>>> ','.join(['cats', 'rats', 'bats'])

'cats, rats, bats'

>>> ''.join(['My', 'name', 'is', 'Simon'])

'My name is Simon'

>>>'ABC'.join(['My', 'name', 'is', 'Simon'])

'MyABCnameABCisABCSimon'

 

例子12:split():针对字符串调用,返回字符串列表,有参数,参数是分隔符(即确定按照字符串中什么符号进行分割),注意用法str.split(参数)默认的分隔符:空格、制表符、换行符

>>> 'Myname is Simon'.split()

['My', 'name','is', 'Simon']

也可以向split()中输入一个分割字符串

>>>'MyABCnameABCisABCSimon'.split('ABC')

['My', 'name','is', 'Simon']

split()一个常见的用法,按照换行符分割多行字符串

>>> spam= ''' Dear Alice,

How have you been?I am fine.

There is acontainer in the fridge

that is labeled'Milk Experiment'.

 

Please do notdrink it.

Sincerely,

Bob'''

>>>spam.split('\n')

['Dear Alice,','How have you been? I am fine.', 'There is a container in the fridge', 'that islabeled 'Milk Experiment'.','','Please do not drink it.','Sincerely,','Bob']

 

例子13:rjust():用于对齐字符串(右对齐),有两个参数,第一个参数是整数,代表字符串长度;第二个参数是填充字符,在没有第二个参数的情况下默认填充字符是空格

ljust()代表左对齐,始终记住字符串方法的用法str.rjust()

>>>'Hello'.rjust(20, '*')

'***************Hello'

>>>'Hello'.ljust(20, '-')

'Hello---------------'

 

例子14:center()字符串方法与ljust()与rjust()方法类似,让文本居中

 

例子15:strip():返回一个新字符串,把字符串左边、右边或两边的空白字符(空格、制表符、换行符)删除掉,lstrip()删除左边的,rstrip()删除右边的

strip()有一个可选参数,代表删除字符串两端中出现参数的字符

>>> spam= 'SpamSpamBaconSpamEggsSpamSpam'

>>>spam.strip('ampS')

'BaconSpamEggs' #注意参数中的字符顺序并不重要,ampS,Spam,mapS是一样的

 

>>> name= '    python'

>>>name.lstrip() #只是输出了新的字符串,但是并没有修改原来的name

'python'

>>> name

'    python'

>>> name= name.lstrip() #若想要永久的保存删除空格后的字符串,需要将新字符串赋值到原来的变量中

>>> name

'python'

 

 

例子16:用pyperclip模块拷贝粘贴字符串,pyperclip()模块有copy()和paste()函数,模块非自带,需要安装,安装完成后要导入

>>>import pyperclip

>>>pyperclip.copy('Hello World!')

>>>pyperclip.paste()

'Hello World!'

 

例子17:pop(),获取列表中指定偏移量的元素,在获取之后,改元素自动被删除;返回值是被删除的值,参数是偏移量,如果不指定偏移量,默认参数为-1

 

5.4 数据类型:布尔值

布尔值只有2个值False和True,注意区分大小写,都可以保存在变量里,0,0.0,''被认为是False

 

数据类型:NoneType,只有一个值None

 

总结,上面介绍的是Python原子内容,下面总结Python容器相关的内容,主要包括:元组、列表、字典、集合


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
我真的受够了,竟然整理出这么完整的Python知识点
十分钟入门 Python 教程
python中常见的语法基础大全1.0
Python 函数
Python中的基础数据类型(String,Number)及其常用用法简析
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服