python 学习笔记(1)——变量和类型
Contents
变量和类型
如果你对于标题有所疑惑,出门左转 C/C++ 语法教程。
变量类型
类型分类
- 整型:Python 中可以处理任意大小的整数(自带高精度的男人),并且轻松支持 $2,8,10,16$ 进制,大概表示方法就是
0b100
、0o100
、100
、0x100
这样。 浮点型:跟 C/C++ 差不太多,也支持科学计数法。
字符串型:注意跟 C/C++ 不同的是,无论用单引号还是双引号,框起来的那段文本都是字符串型,比如
'miaom'
和"miaom"
表示的是同一个字符串。除此之外,还可以书写成多行形式,用三个单引号或者双引号开始和结尾即可:
str1 = '''lyk:***** bb:***** lyk 跟 bb 撕逼现场'''
- 布尔型:唯一注意的是,
True
和False
都需要首字母大写。 复数型:形如
3+5j
,跟数学上的复数表示一样,也就是把i
换成j
而已。仅做了解。
变量命名
只讲硬性规则,毕竟其他啥标准要求也不一定会用上
- 变量名由字母(广义的 Unicode 字符,不包括特殊字符)、数字和下划线构成,数字不能开头。
- 大小写敏感。
- 不要跟关键字(有特殊含义单词,后面再讲)和系统保留字(函数、模块等名字)冲突。
运算
变量运算
基本上有 +
、-
、*
、/
、//
、%
、**
这几种运算。
其中 /
是正常除法(浮点除),//
才表示整除,而 **
则是(独有的)乘方运算,x**y
就是计算 $x^y$ 的意思。
(友情提醒,这里的整除取模对于负数的情况跟 C/C++ 不同)
简单的举例就自己尝试好了。
下面有一些类型相关的函数:
type()
:返回变量的类型。int()
:将一个数值或字符串转换成整数,可以指定进制。float()
:将一个字符串转换为浮点数。str()
:将制定的对象转换成字符串形式,可以指定编码。chr()
:将整数转换成该编码对应的字符串(一个字符)。ord()
:将字符串(一个字符)转换成对应的编码(整数)。
下面是一些使用:
"""
Version: 0.1
Author: wzf2000
Date: 2020-01-16
"""
a = 233
b = 2 + 5j
c = 3.1415
d = 'miaom ak ioi'
e = True
print(type(a)) # <class 'int'>
print(type(b)) # <class 'complex'>
print(type(c)) # <class 'float'>
print(type(d)) # <class 'str'>
print(type(e)) # <class 'bool'>
f = int(input('a = '))
g = int(input('b = '))
print('%d + %d = %d' % (f, g, f + g))
print('%d - %d = %d' % (f, g, f - g))
说明:其中这里使用了两种注释方法:
- 行内注释:用
#
开头即可,与 C/C++ 中的//
一样。- 块注释:用
"""
开头结尾,与 C/C++ 中的/*
一样。除此之外,还使用了
input()
和print()
的一些用法:
input()
中传入一个字符串,表示输出这个字符串作为输入提示,然后读入一行字符串并返回。print()
中前面一个表达式加%
加()
里面的参数列表的写法,跟 C/C++ 中printf()
的含义基本相同,主要就是%d
、%s
、%f
。注意print()
结束后会自动换行,跟puts()
有点像。
具体的运算符
主要先给出表做个了解:(以下顺序就是优先级从高到低)
运算符 | 描述 |
---|---|
[] [:] | 下标,切片 |
** | 指数 |
~ + - | 按位取反, 正负号 |
* / % // | 乘,除,模,整除 |
+ - | 加,减 |
>> << | 右移,左移 |
& | 按位与 |
^ | | 按位异或,按位或 |
<= < > >= | 小于等于,小于,大于,大于等于 |
== != | 等于,不等于 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
= += -= *= /= %= //= **= &= | 复合赋值运算符 |
可以发现很多还是跟 C/C++ 的基本相同或相似的。
对于 is
、in
等先扔在小黑屋里假装不存在好了。
原文提供的一些练习题以及答案
- 输入圆半径计算周长和面积:
""" 输入半径计算圆的周长和面积 Version: 0.1 Author: 骆昊 """ import math radius = float(input('请输入圆的半径: ')) perimeter = 2 * math.pi * radius area = math.pi * radius * radius print('周长: %.2f' % perimeter) print('面积: %.2f' % area)
- 输入年份判断是不是闰年:
""" 输入年份 如果是闰年输出True 否则输出False Version: 0.1 Author: 骆昊 """ year = int(input('请输入年份: ')) # 如果代码太长写成一行不便于阅读 可以使用\对代码进行折行 is_leap = (year % 4 == 0 and year % 100 != 0) or \ year % 400 == 0 print(is_leap)
No Comments