我是靠谱客的博主 辛勤小懒猪,这篇文章主要介绍Python:入门到放弃之基础篇(一)前言一、python的标识符二、python变量类型三、python流程控制总结,现在分享给大家,希望可以做个参考。
文章目录
- 前言
- 一、python的标识符
- 二、python变量类型
- 1.Number
- 2.String
- 3.List
- 4.Tuple
- 5.Set
- 6.Dictionary
- 三、python流程控制
- 1.顺序流程控制
- 2.分支流程控制
- 3.循环流程控制
- 总结
前言
此系列代码完全基于python3和pycharm2021.2。
一、python的标识符
- 标识符由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
- 标识符不能和 Python 中的保留字相同。
- Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。
- 在 Python 中,标识符中的字母是严格区分大小写的
- 虽然标识符可以有下划线,但以下划线开头的标识符往往含有特殊含义,因此不建议使用下划线开头的标识符,除非你确实要这么做。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14例:下列标识符合法: abcd abc_d Abc_3d IF //python区分大小写,所以if是保留字,但IF不是,可以用 下列标识符不合法: 3abc //数字不能开头 if //标识符不能与保留字相同 @abc //标识符不能有空格、@、% 以及 $ 等特殊字符
python的保留字可以通过print(keyword.kwlist)来打印。
二、python变量类型
- python是弱类型的语言,但不代表它没有类型,只不过它会动态绑定类型而无需我们关注。变量的类型可以通过 type()函数来打印
- Python 中标准的数据类型:
Number(数字)
String(字符串)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典) - 得益于python异常丰富的标准库,python的数据类型有许多的函数用法,有兴趣的同学可以去查阅资料。
1.Number
- Python的数字类型支持 int(整型)、float(浮点)、bool(布尔)、complex(复数)。
- python中bool的两种类型True和False其实分别是1和0,所以布尔值实际上可以与其他数值相加。
复制代码
1
2
3
4
5例如: a=10.01 print(True+a) //输出会是11.01
2.String
- 字符串的赋值:
复制代码
1
2
3
4
5
6
7
8
9
10
11str='xxxx' str1="xxxx" 如果特殊字符,需要使用反斜杠来进行转义, 例:str="xxxnccc" print(str) //输出是两行,第一行是Ru,第二行是oob 如果不想转义,那么可以在字符串前加一个r, 例:str=r"xxxnccc" print(str) //输出是xxxnccc
- 字符串可以进行切片操作,来方便的截取其中的部分字符
复制代码
1
2
3
4
5
6
7语法格式:字符串变量名[头下标:尾下标] 获取的结果含头不含尾。//下标从0开始,依次往后增大,但也可以是负数,意为从后往前走。 例: a="abcdefg" print(a[0:3]) //输出是abc print(a[0:-3]) //输出是abcd
- 字符串之间也可以使用加号进行拼接,使用乘号来多次输出
复制代码
1
2
3
4
5例: a="abcdefg" print(a+"123") //输出是abcdefg123 print(a*2) //输出是abcdefgabcdefg
- python的字符串是不可变的,所以不能对某一下标赋值
3.List
- 列表是写在方括号 [] 之间、用逗号分隔开的元素列表。其中的元素类型可以互不相同,也可以进行嵌套。
- 列表也可以和字符串一样进行拼接和截取,截取后返回一个新的列表。同样含头不含尾。
- 列表中的元素是可以改变的。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15例: list = [123, “abcd” , 2.23,[456,"efg"] ] tinylist = [123, 'runoob'] print (list) //输出[123, 'abcd', 2.23, [456, 'efg']] print (list[0]) //输出123 print (list[3]) //输出[456, 'efg'] print (list[0:3]) //输出[123, 'abcd', 2.23] print (list * 2) //输出[123, 'abcd', 2.23, [456, 'efg'], 123, 'abcd', 2.23, [456, 'efg']] print (list + [789,"qwe"]) //输出[123, 'abcd', 2.23, [456, 'efg'], 789, 'qwe']
4.Tuple
- 元组和列表类似,也可以切片、拼接、重复输出。元组元素写在小括号 () 里,元素类型可以不相同,但元素不能修改。
- 元素不能修改的意思是元素的引用不能修改,也就是不能通过元组下标来修改元素,但元素本身的值可以变化
复制代码
1
2
3
4
5
6
7
8
9
10
11例: a=123 list=[789,"abc"] tuple = (a, 456, list) list=[147,"asd"] print(tuple) //输出(123, 456, [789, 'abc']) print(list) //输出[147, 'asd'],list的元素值发生了变化
5.Set
- 集合,和数学上的集合概念相似,不保证内部元素的有序性、没有重复元素、可以进行并集、差集、交集的运算。
- 使用大括号 { } 或者 set() 函数可以创建集合,但如果要创建一个空集合则不能使用 { },因为 { } 是用来创建一个空字典。
- 正因为集合的无序性,所以不能够知道一个元素在集合中的具体位置,所以也就不能对集合采取切片操作。
复制代码
1
2
3
4
5
6
7
8
9
10例: set1={"java","c++","c","c","python"} print(set1) //我这里输出的结果为{'java', 'c++', 'python', 'c'},可以看到两个c只输出了一个;同时由于集合的无序性,这个输出结果的元素之间的顺序也是会变化的 set2={"java1","c++","c","c","python"} print(set1-set2) //计算差集,输出{'java'} print(set1|set2) //计算并集,输出{'c', 'c++', 'java1', 'python', 'java'} print(set1&set2) //计算交集,输出{'c++', 'python', 'c'} //再次强调,集合是无序的,所以不用纠结于不同次输出结果的外表上的不同。
6.Dictionary
- 字典,顾名思义,就像一本新华字典一样,如果我们需要查到一个汉字,那么就需要通过拼音、偏旁等方法来得到一个页码,才能查到这个汉字。在python的字典中,这个“拼音”、“偏旁”被称为key(键),这个页码被称为value(值),字典正式通过这个key - value的方式来一一对应的存储元素。
- 正因为字典的一一对应的特性,所以key必须是唯一的。
- 字典用 { } 标识,它是一个无序的 key - value的集合。
复制代码
1
2
3
4
5
6
7
8例: dict={"1":"我是key为1的值","xxxx":"我是key为xxxx的值"} print(dict) //输出{'1': '我是key为1的值', 'xxxx': '我是key为xxxx的值'} print(dict.get("1"))//输出我是key为1的值 print(dict.keys())//这个函数会输出字典中所有的key,本例中输出dict_keys(['1', 'xxxx']) print(dict.values())//这个函数会输出字典中所有的value,本例中输出dict_values(['我是key为1的值', '我是key为xxxx的值'])
三、python流程控制
任何编程语言都绕不开三大流程控制语句,同时,任何一个功能都是由三大流程控制语句的组合来实现。
1.顺序流程控制
顺序流程控制就是自顶向下,一直走下去,而不考虑任何可能的折返、驻留等操作,一鼓作气完成所有语句,并且每条语句只执行一次。
复制代码
1
2
3
4
5
6
7
8例: dict={"1":"我是key为1的值","xxxx":"我是key为xxxx的值"} print(dict) print(dict.get("1")) print(dict.keys()) print(dict.values()) 以上文代码为例,整个程序从字典的定义开始,到输出字典的所有value为止,每一条语句都在上一条语句执行完毕后才开始执行,并且执行成功后便不会再有被执行的可能。
2.分支流程控制
- 分支流程控制就是在程序有多种不同的执行方法时,使用条件来控制具体的执行语句。比如我们去买瓜。如果它保熟,那么我们就买,如果不保熟就化身华强(雾)…
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30格式: if 条件判断式 : //条件判断式的结果是一个布尔值,即True或False,也只能是这两个值,当然布尔值的本质是1和0,所以条件判断式是1或0也可以 具体操作 elif 条件表达式 : // 这个条件表达式是在不满足上面条件的前提下的条件表达式 具体操作 else : // 这个是在上述所有条件都不满足后所做的操作。 具体操作 例: a=int(input("请输入一个数:")) //注意这里input得到的是一个字符串类型,需要我们去转换为整型。 if a>50 : print("xx") elif a>30 : print("aaa") else : print("dddd") 当有多个if同时满足时,则将全部执行 例: a=50 if a>30 : print("xx") if a>20 : print("aaa") //程序会输出xx后换行输出aaa //一般情况下,我们不经常用elif,只使用if-else就能满足大多数要求。
- 三元表达式
三元表达式在很多语言中都有,而且格式基本一样,而python这个三元表达式的格式,就比较特立独行
复制代码
1
2
3
4
5
6
7格式 : 条件为True时返回的值 if 条件判断式 else 条件为False时返回的值
3.循环流程控制
循环操作十分常用,比如我们需要输出0-1000内的所有整数,或者是输出某一集合内的所有元素,这个时候就需要用到循环,它的核心就是重复相同操作。同时,python中循环也分为while循环和for循环两种。
- while循环
当条件判断式为True时才执行具体操作
复制代码
1
2
3
4
5
6
7
8
9
10格式: while 条件判断式 : //条件判断式的结果是一个布尔值,即True或False,也只能是这两个值,当然布尔值的本质是1和0,所以条件判断式是1或0也可以 具体操作 例: while 2-1 : print("233") //2-1=1,实质上是True,所以这个程序会一直输出233(当然这就是一个死循环了,是我们应该避免发生的情况。),同理,如果把2-1改成2-2,那么2-2=0,则这个程序就不会有任何输出
- for循环
复制代码
1
2
3
4
5
6
7
8
9格式: for 条件判断式 : //这里的条件判断式主要是用来遍历 具体操作 例: for num in range(0,101,2): //range(start,end,step)的作用是返回一个列表,列表中含有从start开始依次递增step直到end(不包含end)的所有值 print(num) //这个程序会输出0到100之间的所有偶数
- 循环中断语句
一般情况下我们写循环都是为了在大量重复操作中得到一个特殊的操作(比如寻找一些特定的值),而得到后就没必要继续。那么就需要break语句来结束循环;或者我们在一大堆操作中不需要某些操作,那么我们也可以使用continue略过它。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15例: for num in range(0,101,2): if num==2 : print(num) break //程序的意思是从这一大堆数中,我们只需要2,所以遍历到了2之后就直接输出然后结束循环。 例: for num in range(0,101,2): if num==2 : continue print(num) //程序的意思是在0到100的整数中,我们不需要2这个数字,所以遍历到2就略过不输出,其他正常输出。
- else语句
循环操作也可以有else语句,它会在循环正常执行完毕之后再执行,for和while都可以用,但是不建议,因为一般情况下它作用不大,反而在代码比较复杂时会增大代码的阅读难度。
复制代码
1
2
3
4
5
6
7
8
9例: for num in range(0,101,2): if num==2 : continue print(num) else: print("我是else")
总结
无论学习任何一门语言,首先都要学习它的数据类型以及基础语法,python虽然说相对易学,但各种细节以及灵活运用都需要经常实践才能掌握。特别是对于学过java和c的人来说,某些python的语法特性反而会比较难以理解,就像一个从小被严加看管的的孩子突然飞出牢笼一样,自由的同时也会十分迷茫。
最后
以上就是辛勤小懒猪最近收集整理的关于Python:入门到放弃之基础篇(一)前言一、python的标识符二、python变量类型三、python流程控制总结的全部内容,更多相关Python:入门到放弃之基础篇(一)前言一、python内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复