Python自学之路---Day01

时间:2023-02-12 08:46:15

Python自学之路---Day01

注释

注释是对一段代码的解释和说明,可提高程序代码的可读性,让人能够更加轻松的阅读理解代码。

单行注释

Python中单行注释是以#开头的,单行注释可以单独占据一行也可以跟在代码后面,如果注释占据单独一行,我们习惯在#后面加一个空格然后再写上相应的注释;如果注释跟在代码后面,我们先空两个再加上#然后再空一格,最后再写上相应的注释。

# 这是单行注释
print("Hello world!") # 这是跟在代码后面的注释

多行注释

Python中多行注释使用三个单引号(''')或者三个双引号(""")来标记的,而实际上这是多行字符串的书写方式,并不是Python提倡的多行注释方式。

"""
这里面写多行注释的内容,其实这是一个多行字符串,
可以换行
"""

print()函数

print()用于向屏幕打印输出

语法

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

参数

*objects:复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。

sep = ' ' :设置用什么字符来分隔多个对象,默认是一个空格

end = '\n':设置结尾字符,默认是一个换行符(\n),我们可以换成其它字符,这样在输出完后就不会换行了

实例

print('I am a good man')
print("123", "456")
print("123", "456", sep="+")
print("测试1")
print("测试2")
print("测试1", end=",")
print("测试2", end=",")

输出

I am a good man

123 456

123+456

测试1

测试2

测试1,测试2,

input()函数

接受一个标准输入数据,返回类型为字符串

语法

input([prompt])

参数

[prompt]:相应的提示信息

实例

age = input('请输入你的年龄:')
print(age)
print(type(age))

输出

请输入你的年龄:18

18

<class 'str'>

查看Python的关键字

在Python中,具有特殊功能的标识符称为关键字。关键字是Python语言自己已经使用的了,不允许开发者自己定义和关键字相同名字的标识符。

代码

import keyword

print(keyword.kwlist)

输出

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

变量与常量

变量

变量,是用于在内存中存放程序数据的容器

如何定义一个变量

变量名 = 值

name = "小明"
age = 21

变量命名规则

数字,字母,下划线, 任意组合,数字不能开头,python 的关键字不能用,变量名尽量有意义。

推荐变量命名使用驼峰式

如何查看变量类型

name = "小明"
age = 21
print(type(name))
print(type(age))

输出

<class 'str'>

<class 'int'>

如何查看变量首地址

name = "小明"
age = 21
print(id(name))
print(id(age))

输出

38542768

8791321846800

注意:这里不同电脑输出结果一般不同

常量

常量,即指不变的量 , Python中没有专门定义常量的方式,通常使用大写变量名表示 ,仅仅是一种提示效果

NAME = 'tony'  # 本质还是变量

数字类型

分类

数字类型可分为:整数,浮点数与复数

整数 :Python可以处理任意大小的整数,当然包括负整数,在程序中的表示和数学的写法一致

浮点数:浮点型由整数部分与小数部分组成,浮点数运算可能会有四舍五入的误差

复数 :实部和虚部组成,可以用a+bj表示

类型转换

浮点数--->整数

整数---->浮点数

字符串--->数字 注意:只有所有字符所表达的意思与数学中意思一致时才可以进行转换

print(int(1.9))  # 将浮点数转换成整数
print(float(1)) # 将整数转换成浮点数
print(int("123")) # 将字符串转换成整数
print(float("12.3")) # 将字符串转换成小数
print(int("+123")) # +123字面表达的意思就是正整数123,所以将字符串转换成整数

结果

1

1.0

123

12.3

123

内置数学函数

abs(x)函数

返回x的绝对值

print(abs(-10))

结果

10

max(x, y)与min(x, y)函数

返回x, y中的最大或最小值

print(max(10, 20))
print(min(10, 20))

结果

20

10

pow(x, y)函数

返回x的y次方的值

print(pow(2, 5))

结果

32

round(x, n=0)函数

返回x的四舍五入值,默认n=0,即保留到整数

print(round(3.556))
print(round(3.556, 2))

结果

4

3.56

math库

导入math库

import math

math.ceil(x)与math.floor(x)函数

math.ceil(x):x向上取整

math.floor(x):x向下取整

print(math.ceil(18.1))
print(math.floor(18.1))

结果

19

18

math.sqrt(x)函数

返回x开方后的值

print(math.sqrt(16))

结果

4.0

random库

导入random库

import random

random.choice(x)函数

从序列x的元素中随机挑选一个元素

print(random.choice([1, 3, 5, 7, 9, "aa"]))
print(random.choice(range(5))) # range(5) = [0, 1, 2, 3, 4]
print(random.choice("sunck")) # "sunck" = ['s', 'u', 'n', 'c', 'k']

结果

1

3

s

注意:每次返回结果不一定相同

random.randrange(start=0, stop, step=1)函数

从给定的范围随机返回一个值,默认范围开始是0,步长是1

print(random.randrange(1, 100, 2))  # 返回[1,100)中的随机数,步长是2,所以返回的全是奇数

结果

7

注意:每次返回结果不一定相同

random.random()函数

返回[0,1)之间的一个随机数

print(random.random())

结果

0.5349369878922869

注意:每次返回结果不一定相同

运算符与表达式

表达式:由变量,常量和运算符组成的式子

算术运算符:+ - * / % ** //

**注意:****是幂 //是取整,在Python中/不是其他语言中的整除

复合运算符:+= -= *= /= %= **= //=

注意:在Python中没有自加自减运算,即没有a++,--a这些

if 语句

格式

当表达式的值为真时,才执行缩进后的语句,否则不执行或者执行else后缩进的语句

# if语句
if 表达式:
语句
# if-else语句
if 表达式:
语句1
else
语句2

if练习

# 1.从控制台输入一个三位数,如果是水仙花数就打印“是水仙花数”,否则打印“不是水仙花数”# 水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
number = int(input('请输入一个三位数:'))
num1 = number // 100
num2 = (number % 100) // 10
num3 = number % 10
if num1**3 + num2**3 + num3**3 == number:
print('是水仙花数')
else:
print('不是水仙花数')

# 2.从控制台输入一个五位数,如果是回文数就打印“是回文数”,否则打印“不是回文数”
number = int(input('请输入一个五位数:'))
if number // 10000 == number % 10 and number % 10000 // 1000 == number % 100 // 10: print('是回文数')
else:
print('不是回文数')

# 3.从控制台输入两个数,输出较大者(不能用max()和min())
max_num = 0
number1 = int(input('请输入第一个数字:'))
if max_num < number1:
max_num = number1
number1 = int(input('请输入第二个数字:'))
if max_num < number1:
max_num = number1
print('The max number is', max_num)

# 4.从控制台输入三个数,输出较大者(不能用max()和min())
max_num = 0
number1 = int(input('请输入第一个数字:'))
if max_num < number1:
max_num = number1
number1 = int(input('请输入第二个数字:'))
if max_num < number1:
max_num = number1
number1 = int(input('请输入第三个数字:'))
if max_num < number1:
max_num = number1
print('The max number is', max_num)