XuSenfeng

个人站

复读了,更新随缘,有的文件不全或者图片缺失具体看我的笔记库(https://github.com/XuSenfeng/note)


day1

目录

day1

常见的数据类型

  • 整形, 可以存储任意大小的整数, 支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。
  • 浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2
  • 字符串型:字符串是以单引号或双引号括起来的任意文本,比如'hello'"hello",字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。
  • 布尔型:布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以直接用TrueFalse表示布尔值
  • 复数型:形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j

变量命令

和C语言相似

常用的模式

  • 小写字母下划线连接
  • 受保护的属性使用下划线开头
  • 是有的实例属性使用两个下划线

实际的使用

在Python中可以使用type函数对变量的类型进行检查

a = 100
b = 12.345
c = 1 + 5j
d = 'hello, world'
e = True
print(type(a))    # <class 'int'>
print(type(b))    # <class 'float'>
print(type(c))    # <class 'complex'>
print(type(d))    # <class 'str'>
print(type(e))    # <class 'bool'>

可以使用Python中内置的函数对变量类型进行转换。

  • int():将一个数值或字符串转换成整数,可以指定进制。
  • float():将一个字符串转换成浮点数。
  • str():将指定的对象转换成字符串形式,可以指定编码。
  • chr():将整数转换成该编码对应的字符串(一个字符)。
  • ord():将字符串(一个字符)转换成对应的编码(整数)。
a = int(input('a = '))
b = int(input('b = '))
print('%d + %d = %d' % (a, b, a + b))
print('%d - %d = %d' % (a, b, a - b))
print('%d * %d = %d' % (a, b, a * b))
print('%d / %d = %f' % (a, b, a / b))
print('%d // %d = %d' % (a, b, a // b))
print('%d %% %d = %d' % (a, b, a % b))
print('%d ** %d = %d' % (a, b, a ** b))

字符串之后的%后面跟的变量值会替换掉占位符然后输出到终端中

运算符

运算符 描述
[] [:] 下标,切片
** 指数
~ + - 按位取反, 正负号
* / % // 乘,除,模,整除
+ - 加,减
>> << 右移,左移
& 按位与
^ | 按位异或,按位或
<= < > >= 小于等于,小于,大于,大于等于
== != 等于,不等于
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
= += -= *= /= %= //= **= &= |= ^= >>= <<=  

is 和 == 的区别

Python 中,对于任意的变量都具有三个基本要素:分别是 id,type,value。其中 id 为身份标识,即唯一能识别变量的标志,type 为数据类型,value 为数据值。

>>> a=1
>>> id(a)
140705782725696
>>> type(a)
<class 'int'>
>>> a
1

“==” 主要用于判断两个对象的 value 是否相等,属于 Python 标准操作符中的比较运算符。

“is” 主要用来判断两个对象的身份标识,即两者的基本要素 “id”,也叫做同一性运算符。

在 Python 中,整型对象和字符串对象是不可变对象,所以 Python 会很高效地对它们进行缓存。因此在程序上看应该创建新对象时,却并不会创建新对象,而是对它们进行缓存。

但 Python 仅缓存简单整型,因为 Python 认为在程序中这些小整型会经常被用到。而 Python 缓存的值也是有一定范围的,并且是可变的,使用时要注意。

>>> a = 1
>>> b = 1
>>> a == b
True
>>> a is b
True
>>> c = 1.0
>>> d = 1.0
>>> c == d
True
>>> c is d
False
>>> e = "abc"
>>> f = "abc"
>>> e == f
True
>>> e is f
True
>>> g = [1,2,3]
>>> h = [1,2,3]
>>> g == h
True
>>> g is h
False
>>> i = (1,2,3)
>>> j = (1,2,3)
>>> i == j
True
>>> i is j
False

条件语句

使用的关键字if , elif, else, 语句之后使用:进行分割

a = input("请用户输入用户名: ")
b = input("请输入密码: ")
if a == 'jiao' and b == '1234':
    print("用户存在")
else:
    print("滚")

循环结构

for循环

sum = 0
for x in range(101):
    sum += x
print(sum)

range(1, 101)可以用来构造一个从1到100的范围,当我们把这样一个范围放到for-in循环中,就可以通过前面的循环变量x依次取出从1到100的整数。

  • range(101):可以用来产生0到100范围的整数,需要注意的是取不到101。
  • range(1, 101):可以用来产生1到100范围的整数,相当于前面是闭区间后面是开区间。
  • range(1, 101, 2):可以用来产生1到100的奇数,其中2是步长,即每次数值递增的值。
  • range(100, 0, -2):可以用来产生100到1的偶数,其中-2是步长,即每次数字递减的值。

while循环

while True:

实例

求最大公约数以及最小公倍数

x = int(input('x = '))
y = int(input('y = '))
# 如果x大于y就交换x和y的值
if x > y:
    # 通过下面的操作将y的值赋给x, 将x的值赋给y
    x, y = y, x
# 从两个数中较小的数开始做递减的循环
for factor in range(x, 0, -1):
    if x % factor == 0 and y % factor == 0:
        print('%d和%d的最大公约数是%d' % (x, y, factor))
        print('%d和%d的最小公倍数是%d' % (x, y, x * y // factor))
        break