变量
什么是变量
变量就是用一个东西来指向某个值,这个值是与该变量相关联的信息
举个例子:
代码语言:python代码运行次数:0复制message = 'Hello Python!'
#这个message就是一个变量,指向的值就是Hello Python这个字符串
#变量message就是用来代指数据Hello python的,我们就可以通过操作message来操作Hello python
为什么要使用变量?
使用变量能够简化我们的代码,可以把很多很长的一些数据赋值给变量,通过变量来操作这些数据。
变量的命名和使用
变量的命名规范
- 变量名只能包含字母、数字和下划线。变量名能以字母或下划线打头,但不能以数字打头。
- 变量名不能包含空格,但能使用下划线来分隔其中的单词。
- 不要讲Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。
- 变量名应既简短又具有描述性。
- 慎用小写字母l和大写字母o,容易看成数字1和0。
- 变量名应使用小写字母,大写字母在变量名中有特殊含义。
使用变量时避免命名错误
要避免犯命名错误这种简单的错误,不过现在的ide基本都会提示变量名错误的。
字符串
字符串是什么?
字符串就是一系列字符,在python中,用引号(单引号、双引号)括起来的都是字符串。
例如:
代码语言:python代码运行次数:0复制str = '我是字符串'
#str指向的就是一个字符串
如何使用字符串
- 使用方法修改字符串的大小,方法名是title()。
name = 'ada lovelace'
print(name.title())
#输出结果为:Ada Lovelace
#方法title()的作用是以首字母大写的方式来显示每个单词
- 将字符串改为全部大写或全部小写,方法名分别是upper()和lower()。
name = 'Ada Lovelace'
print(name.upper())
print(name.lower())
#输出结果为:ADA LOVELACE和ada lovelace
#方法upper()的作用是将每个字母都变成大写
#方法lower()是将每个字母都变成小写
- 在字符串中使用变量(f字符串)
first_name = 'ada'
last_name = 'lovelace'
full_name = f'{first_name} {last_name}'
print(full_name)
#输出的结果为ada lovelace
#在前引号前加上字母f, 再将要插入的变量放在花括号内就可以把变量的值给替换过来。
#字符串f是format的简写,在python3.6的版本引入
代码语言:txt复制
- 使用制表符或换行符来添加空白(t制表符,n换行符)
print("Python")
Python
print("tPython")
Python
#制表符t会输出一个缩进
print("Languages:nPythonnCnJavaScript")
Languages:
Python
C
JavaScript
#换行符n则是在输出的时候另起一行
- 删除空白(rstrip()、lstrip()、strip())
favorite_language = 'python '
favorite_language
'python '
favorite_language.rstrip()
'python'
favorite_language
'python '
#rstrip()方法可以将字符串末尾的空白给暂时去掉,要重新赋值给变量才能永久更改
favorite_language = ' python '
favorite_language.rstrip()
' python'
favorite_language.lstrip()
'python '
favorite_language.strip()
'python'
#使用lstrip()可以剔除字符串前面的空格
#使用rstrip()可以剔除字符串后面的空格
#使用strip()可以剔除前后的空格
使用字符串常见错误
在输入字符串的时候容易发生语法错误,一般字符串可以使用单引号括起来,但是如果字符串中间包含了单引号或者撇号,那么就必须要用双引号将字符串括起来,因为单引号会与字符串中间的单引号括起来形成另一个字符串。
如果字符串里面有双引号则用单引号把字符串给括起来。
数
什么是数
数分为整数和浮点数,可以使用数来记录得分、记录数字、表示可视化数据等
整数
整数为int类型,1、2、445、435、323都为整数
浮点数
浮点数的类型为float,1.12、23.234、245.231,带小数点的数字都为浮点数。
数的运算
- 数的运算有 、-、*、/,分别为加减乘除,python中还有两个乘号表示乘方运算
>>> 3 ** 2
9
>>> 3 ** 3
27
>>> 10 ** 6
1000000
- 任意两个数相除,结果永远是浮点数,即使是两个整数相除且能整除。
4/2
2.0
- 在其他任何运算中,如果一个操作数是整数,另一个操作数是浮点数,结果也总是浮点数
1 2.0
3.0
2 * 3.0
6.0
3.0 ** 2
9.0
数中的下划线
书写很大的数时,可使用下划线将其中的数字分组,使其更清晰易读:
代码语言:python代码运行次数:0复制>>> universe_age = 14_000_000_000
>>> print(universe_age)
14000000000
#打印带有下划线的数字时,python不会把下划线打印出来,存储数字时,python会自动忽略下划线。
常量
常量类似于变量,一般使用全大写来指出应将某个变量视为常量,其值应始终不变:
代码语言:python代码运行次数:0复制MAX_CONNECTIONS = 5000
#MAX_CONNECTIONS就是一个常量,在不更改的前提下,它的值永远是5000
布尔类型与空类型
什么是布尔类型?
布尔类型是true和false,用来判断真假的值。一般在循环语句和判断语句中使用。
布尔类型与其他类型的关系
- 整数0为false,其他非0的数为true
- 空字符串为false,有值为true
什么是空类型
空类型为None,对应数据库的null值。
基本数据类型之间的转换和判断
如何判断数值的类型?
代码语言:python代码运行次数:0复制#使用type()方法
print(type(3))
<class 'int'>
print(type("hello"))
<class 'str'>
print(type(23.33))
<class 'float'>
print(type(True))
<class 'bool'>
#判断变量的数据类型
a = 23
print(type(a))
<class 'int'>
基本数据类型的转换
代码语言:python代码运行次数:0复制#转换成字符串类型,使用str()方法
a = 23
print(type(str(a)))
--------
<class 'str'>
#转换成整数类型,使用int()方法
a = '23'
print(a)
a = int(a)
print(type(a))
print(a)
------
23
<class 'int'>
23
#转换成浮点类型,使用float()方法
a = '23'
print(a)
a = float(a)
print(type(a))
print(a)
--------
23
<class 'float'>
23.0
#转换成布尔类型,使用bool()方法
a = '23'
print(a)
a = bool(a)
print(type(a))
print(a)
-------
23
<class 'bool'>
True
注释
什么是注释?
注释就是在程序代码中用自然语言添加的代码说明,用来解释代码的作用,程序执行时不会执行。
如何编写注释
在 Python 中, 注释用井号 (#) 标识。 井号后面的内容都会被 Python 解释器忽略, 如下所示:
代码语言:python代码运行次数:0复制# 向大家问好。
print("Hello Python people!")
Hello Python people!
还有一种为文档字符串(docstring)的注释,描述了函数是做什么的:
def greet_user():
"""显示简单的问候语。"""
代码语言:txt复制print("Hello!")
该编写什么样的注释
- 编写注释的主要目的是阐述代码要做什么,以及是如何做的。
- 编写的注释能够在以后回看代码的时候能够明白代码的作用
- 能够让别的合作的程序明白代码的作用。
python之禅
代码语言:python代码运行次数:0复制'''
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
'''