Python基础语法之输入输出、基本数据类型介绍

简介: 因为不同编辑器,处理制表符的方式不同,有些会把它当成一个制表符,有的会将其看成是4个或4个以上的空格,因而会产生源代码中制表符和空格的使用不一的后果,违反了Python的缩进规则。当然可以设置编辑器在打入Tab键时将其替换成相应个数的空格。
  • 输入输出

先从输出开始吧,编程语言的学习好像都是从打印Hello World开始的

print()会依次打印每个字符串,遇到逗号“,”会输出一个空格

print()函数输出后默认会换行,print("", end="") 去除换行

print('Hello world')
print('a','b','c')


微信图片_20220113211945.png


输入:通过input() 可以达到这个效果。

name=input()
hello
print(name)

执行效果:


微信图片_20220113211949.gif


格式化输出:


微信图片_20220113211951.png


  • 换行与缩进

python的语法其实总结一下就两条:

(1)一条代码作为一行:比如一个赋值、一个运算、一个请求、一条打印等。(多行代码写在一行时,中间用;间隔)

(2)对齐和缩进:同一级别的代码只需要保持对齐即可,对于不同级别的代码进行缩进,这样就能区分开代码执行的逻辑。

第二点的话,对于有过其他编程语言经验的人来说,可能一开始会有点不习惯,用惯了其他IDE工具的一键排版等功能,代码编写的比较随意,在python里面就不行,对代码编写规范要求比较高。

关于缩进风格:

   标准Python风格是每个缩进级别是使用4个空格,永远不要使用Tab制表符!

   因为不同编辑器,处理制表符的方式不同,有些会把它当成一个制表符,有的会将其看成是4个或4个以上的空格,因而会产生源代码中制表符和空格的使用不一的后果,违反了Python的缩进规则。当然可以设置编辑器在打入Tab键时将其替换成相应个数的空格。

   Python的代码原则是代码只包含空格!


  • 注释

单行注释:使用#

多行注释:使用三个单引号(''')或三个双引号(""")。

实例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:test.py
'''
这是多行注释,使用单引号。
这是多行注释,使用单引号。
这是多行注释,使用单引号。
'''
"""
这是多行注释,使用双引号。
这是多行注释,使用双引号。
这是多行注释,使用双引号。
"""
  • Python 保留字符

python中有一些保留字,在定义变量的时候不能使用,这个跟其他语言类似


微信图片_20220113211954.png



标识符

标识符就是程序员自己命名的变量名。名字需要有见名知义的效果。

标识符有自己的规定:

1、标识符中可以有字母、数字或下划线,区分大小写。但是不能以数字开头,如:2a = 1 2a这个变量名不规范,会报错。

2、标识符不能是python中的关键字和保留字,也不建议使用python的内置函数的名字,会导致内置函数被覆盖。

注意事项: 

以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 进行导入。

以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 __foo__ 代表 Python 里特殊方法专用的标识,如 __init__() 代表类的构造函数。


1.在定义变量时,为了保证代码格式,=的左右应该各保留一个空格

2.下划线命名法和大驼峰命名法:

  • 所有字母都小写,单词之间用_分割:

max_length、min_length、hello_world

  • 首字母大写,每个单词开头字母大写,其余小写

MaxLength、MinLength、HelloWorld

命名规范主要是让代码变得更清晰、方便理解和观察


  • 数据类型

int float bool str list dict tuple


本文不详细描述python的一些数据类型的基本用法,只记录一些比较特殊的容易被忽略的点!!!

python里面常见的数据类型有:int float bool str list dict tuple,下面简单介绍一下后面几种。

字符串、列表、元组、字典比较


  • str

支持切片、split分割、strip(去掉首尾某个指定字符,默认去掉首尾空格)

index 找到子字符串返回下标 没找到会报错
find  找到子字符串返回下标 没找到返回-1
count 统计子字符串出现的次数
replace 进行字符串的替换
split 对字符串进行分割
join 进行字符串的拼接
a=' abcde fghijaaa'
print(a.strip())  #去除首尾空格,输出:abcde fghijaaa
print(a.strip('a')) #去除首尾字母a,输出:abcde fghij

list:支持增删改

pop 删除列表末尾的数据
remove 根据指定的数值删除数据
del 根据下标删除
append 在列表的末尾添加数据
extend 列表末尾一次性追加另一个序列中的多个值,该函数没有返回值


微信图片_20220113211956.png


insert 在指定的位置插入数据

  • tuple:原则上数据不可变

1、元组只有1个元素时,要在元素后面加一个逗号,要不然变量类型不是元组:

输入:
print(type((1)))
print(type(('a')))
print(type((1,)))
print(type((1,2)))
对应的输出:
<class 'int'>
<class 'str'>
<class 'tuple'>
<class 'tuple'>

2、元组里面的内容不支持整体变更,但是支持局部变更

a = (1,'abcd',[1,2,3],{'k1':'1','k2':'2'})
a[2][0]=3
a[3]['k1']='sdfsd'
a[3]['k5']='null'
print(a)
输出结果如下:
(1, 'abcd', [3, 2, 3], {'k1': 'sdfsd', 'k2': '2', 'k5': 'null'})
如果使用a[2]=0 这样就会报错:
TypeError: 'tuple' object does not support item assignment
  • dist:支持增删改

字典使用pop函数时,传参是key,且为必传,而元组使用pop函数时,传参为索引,默认为-1,即取出索引最后一个的值,该函数有返回值。

以 key:value 对组成的
  1 key不可变的数据类型
    value可以是任何数据类型
  2 key是不可重复的
针对字典的相关操作:
  keys 获取字典的所有的key值
  values 获取字典的所有的value值
  items 获取字典的key-value对 [(key,value),(key,value)]
  len 获取字典 列表 字符串 元组 的长度 
  del 字典[key]
  clear() 清空字典


切片的应用场景

利用python解决问题的过程中,经常会遇到从某个对象中取部分值的情况。切片”操作正好可以实现这一操作。

索引包括正索引和负索引两部分,如下图所示,以list对象a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例:



微信图片_20220113211959.png


一个完整的切片表达式:object[start_index:end_index:step]

step:正负数均可,其绝对值大小决定了切取数据时的‘‘步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。当step省略时,默认为1,即从左往右以步长1取值。

start_index:表示起始索引(包含该索引对应值);该参数省略时,表示从对象“端点”开始取值,至于是从“起点”还是从“终点”开始,则由step参数的正负决定,step为正从“起点”开始,为负从“终点”开始。

end_index:表示终止索引不包含该索引对应值,即类似于数学里面的开区间;该参数省略时,表示一直取到数据“端点”,至于是到“起点”还是到“终点”,同样由step参数的正负决定,step为正时直到“终点”,为负时直到“起点”。


实例代码:

a='0123456789'
print(a[1:3]) #输出12
print(a[1:7:2]) #输出135
print(a[:]) #输出0123456789
print(a[3:6]) #输出345
print(a[-1::-1]) #输出9876543210   
print(a[::-1]) #9876543210

通过以上代码演示可以发现,要实现字符串的反转,使用a[-1::-1] 或者 a[::-1] 均可实现。


注意:

使用切片操作时,使用了:的话,返回的对象格式与源对象格式一致

b = [1,2,3,4,5,6,7]
print(b[5:6])  # 使用了:,返回的是[6]
print(b[5]) #返回 6

切片常用操作

1、取奇数、偶数位置的数据
a='0123456789'
print(a[::2]) # 获取偶数位置数据
print(a[1::2]) # 获取奇数位置数据

2、字符串反转

a='0123456789'
print(a[-1::-1]) #输出9876543210
print(a[::-1]) #9876543210

字符串分割

split() 通过指定分隔符对字符串进行切片

split() 方法语法:str.split(str="", num=-1),返回的是一个列表格式的数据

参数

  • str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num -- 分割次数。默认为 -1, 即分割所有。

用法演示:

s1='helloworld'
s2='hello world'
print(s1.split('l'))
print(s1.split('l', 2))
print(s1.split('g'))
print(s2.split(' '))
输出:
['he', '', 'owor', 'd']
['he', '', 'oworld']
['helloworld']
['hello', 'world']

特殊用法:

1、object.splitlines():按"行"进行字符串分割

2、利用re模块进行多字符串分割

用法:

先导入re模块:import re

之后:re.split('分割符1|分割符2',objects) --> 不同的分割符用 '|'进行间隔(分割符需要进行'\'的转义操作),然后objects为需要分割的字符串对象。

e = "277169949@qq.com"
print(re.split('@|\.',e))
['277169949', 'qq', 'com']
相关文章
|
3月前
|
人工智能 Ubuntu IDE
【Python】基础:环境配置与基础语法
本文介绍了Python编程语言及其环境配置方法。Python由Guido van Rossum于1991年创建,以其简洁、易学和强大的功能著称。文章详细讲解了Python的主要特点、Windows和Ubuntu下的安装配置步骤、基础语法、控制流、函数、文件操作、模块使用及面向对象编程等内容,帮助读者快速入门Python编程。
108 4
|
2月前
|
IDE 数据挖掘 开发工具
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
48 7
|
6天前
|
存储 开发者 Python
python基本语法
Python的基本语法简洁而强大,支持多种编程范式,包括面向对象编程和函数式编程。通过掌握变量和数据类型、操作符、控制结构、函数、类和模块等基本概念,可以有效地编写高效、可读的Python代码。无论是初学者还是经验丰富的开发者,Python都提供了丰富的工具和库来满足各种编程需求。
48 13
|
1月前
|
Python
Python 中一些常见的数据类型
Python 中一些常见的数据类型
156 8
|
2月前
|
Python
Python中不同数据类型之间如何进行转换?
Python中不同数据类型之间如何进行转换?
36 6
|
2月前
|
存储 开发者 Python
Python 的数据类型
Python 的数据类型
50 6
|
2月前
|
存储 索引 Python
Python 的基本语法
这些是 Python 的基本语法要素,掌握它们是学习和使用 Python 的基础。通过不断地实践和应用,你将能够更深入地理解和熟练运用这些语法知识,从而编写出高效、简洁的 Python 代码
91 5
|
2月前
|
存储 Python
Python编程入门:理解基础语法与编写简单程序
本文旨在为初学者提供一个关于如何开始使用Python编程语言的指南。我们将从安装Python环境开始,逐步介绍变量、数据类型、控制结构、函数和模块等基本概念。通过实例演示和练习,读者将学会如何编写简单的Python程序,并了解如何解决常见的编程问题。文章最后将提供一些资源,以供进一步学习和实践。
66 1
|
2月前
|
机器学习/深度学习 数据挖掘 开发者
Python编程入门:理解基础语法与编写第一个程序
【10月更文挑战第37天】本文旨在为初学者提供Python编程的初步了解,通过简明的语言和直观的例子,引导读者掌握Python的基础语法,并完成一个简单的程序。我们将从变量、数据类型到控制结构,逐步展开讲解,确保即使是编程新手也能轻松跟上。文章末尾附有完整代码示例,供读者参考和实践。
|
2月前
|
存储 Python Perl
python正则语法
本文介绍了正则表达式的基础知识及其在 Python 中的应用。首先解释了为什么要使用正则表达式,通过一个判断手机号的示例展示了正则表达式的简洁性。接着详细介绍了 `re` 模块的常用方法,如 `match()`、`search()`、`findall()`、`finditer()` 等,并讲解了正则表达式的基本语法,包括匹配单个字符、数字、锚字符和限定符等。最后,文章还探讨了正则表达式的高级特性,如分组、编译和贪婪与非贪婪模式。
34 2

热门文章

最新文章