菜鸡Python笔记

**2021年9月1号,某位菜鸡开始了大二生活,为了督促自己学习Python这门离谱而优秀的编程语言,我决定写篇博客记录自己的学习过程也当做自己的一份学习笔记。**

1.python3的安装

懒得要死,想看自己去链接里学一下吧

https://blog.csdn.net/Rengarhunt/article/details/103298207?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163049000416780261966066%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=163049000416780261966066&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~hot_rank-3-103298207.pc_search_result_control_group&utm_term=python3.9&spm=1018.2226.3001.4187

2.Pycharm的破解激活方法

在CSDN里找了挺多方法,但版本问题导致都不好用,所以我选择哔哩哔哩

https://www.bilibili.com/video/BV1UK4y1w7hu

3.变量类型及运算符

3.1Python变量及其使用

3.1.1Python 变量的赋值

n = 10

变量的值不是一成不变的,它可以随时被修改,只要重新赋值即可;另外你也不用关心数据的类型,可以将不同类型的数据赋值给同一个变量

3.1.2Python 变量的使用

变量可以直接拿来使用不用去管啥地址啥的,另外变量不用去定义,但需要自己去赋值

Python是弱类型语言

变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。

变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为整数,一会儿被赋值为字符串。

弱类型是说在书写代码时不用刻意关注类型,但是在编程语言的内部仍然是有类型的。

## 3.2Python数值类型(整形、浮点型和复数)

**3.2.1整数类型**

整数就是没有小数部分的数字,Python 中的整数包括正整数、0 和负整数。

整数不分类型,或者说它只有一种类型的整数。

Python 整数的取值范围是无限的,不管多大或者多小的数字,Python 都能轻松处理。

没有short long 等类型限制

**3.2.2小数,浮点数**

书写小数时必须包含一个小数点,否则会被 Python 当作整数处理

指数  
 2.1×10 5 =2.1E5

Python 能容纳极小和极大的浮点数。print 在输出浮点数时,会根据浮点数的长度和大小适当的舍去一部分数字,或者采用科学计数法。


**3.2.3复数类型**

复数(Complex)是 Python 的内置类型,直接书写即可。

a + bj
# a 表示实部,b 表示虚部。


c1 = 12 + 0.2j
print("c1Value: ", c1)
print(“c1Type”, type(c1))
c2 = 6 - 1.2j
print("c2Value: ", c2)
#对复数进行简单计算
print("c1+c2: ", c1+c2)
print("c1c2: ", c1c2)


输出结果
c1Value:  (12+0.2j)
c1Type <class 'complex'>
c2Value:  (6-1.2j)
c1+c2:  (18-1j)
c1*c2:  (72.24-13.2j)

#3.3Python字符串

3.3.1字符串
若干个字符的集合就是一个字符串(String)。Python 中的字符串必须由双引号" "或者单引号' '包围

“字符串内容”
'字符串内容

下面都是合法的字符串:
"123789"
"123abc"
"http://c.biancheng.net/python/"
"C语言中文网成立8年了"

处理字符串中的引号

若我写的字符串中存在引号则需要特殊处理

1.     'I\'m a great coder!'

\加'  进行转义

2.     使用不同的引号包围字符串 


str1 = “I’m a great coder!” #使用双引号包围含有单引号的字符串
str2 = ‘引文双引号是",中文双引号是“’ #使用单引号包围含有双引号的字符串
print(str1)
print(str2)



字符串换行

Python 不是格式自由的语言,它对程序的换行、缩进都有严格的语法要求。

要想换行书写一个比较长的字符串,必须在行尾添加反斜杠\


```python
s2 = 'It took me six months to write this Python tutorial. \
    Please give me more support. \
    I will keep it updated.'

另外,Python 也支持表达式的换行,例如:

num = 20 + 3 / 4 + \
    2 * 3
print(num)

使用三个单引号或者双引号可以对多行内容进行注释,这其实是 Python 长字符串的写法。所谓长字符串,就是可以直接换行(不用加反斜杠\)书写的字符串。

原始字符串

为了解决转义字符的问题,Python 支持原始字符串。在原始字符串中,\不会被当作转义字符,所有的内容都保持“原汁原味”的样子。

在普通字符串或者长字符串的开头加上 r 前缀,就变成了原始字符串,具体格式为:

str1 = r'原始字符串内容'
str2 = r"""原始字符串内容"""

Windows 路径改写成原始字符串的形式:

rstr = r'D:\Program Files\Python 3.8\python.exe'
print(rstr)

3.4Python bytes类型及用法

3.4.1Python bytes类型及用法

太菜了,看不明白,先这样写写

Python bytes 类型用来表示一个字节串。“字节串“不是编程术语,是我自己“捏造”的一个词,用来和字符串相呼应。

bytes 是 Python 3.x 新增的类型,在 Python 2.x 中是不存在的。

字节串(bytes)和字符串(string)的对比:
字符串由若干个字符组成,以字符为单位进行操作;字节串由若干个字节组成,以字节为单位进行操作。
字节串和字符串除了操作的数据单元不同之外,它们支持的所有方法都基本相同。
字节串和字符串都是不可变序列,不能随意增加和删除数据。

bytes 只负责以字节序列的形式(二进制形式)来存储数据,至于这些数据到底表示什么内容(字符串、数字、图片、音频等),完全由程序的解析方式决定。如果采用合适的字符编码方式(字符集),字节串可以恢复成字符串;反之亦然,字符串也可以转换成字节串。

说白了,bytes 只是简单地记录内存中的原始数据,至于如何使用这些数据,bytes 并不在意,你想怎么使用就怎么使用,bytes 并不约束你的行为。

bytes 类型的数据非常适合在互联网上传输,可以用于网络通信编程;bytes 也可以用来存储图片、音频、视频等二进制格式的文件。

字符串和 bytes 存在着千丝万缕的联系,我们可以通过字符串来创建 bytes 对象,或者说将字符串转换成 bytes 对象。有以下三种方法可以达到这个目的:
如果字符串的内容都是 ASCII 字符,那么直接在字符串前面添加b前缀就可以转换成 bytes。
bytes 是一个类,调用它的构造方法,也就是 bytes(),可以将字符串按照指定的字符集转换成 bytes;如果不指定字符集,那么默认采用 UTF-8。
字符串本身有一个 encode() 方法,该方法专门用来将字符串按照指定的字符集转换成对应的字节串;如果不指定字符集,那么默认采用 UTF-8。

**

3.4.2Python input()函数:获取用户输入的字符串

**
input() 是 Python 的内置函数,用于从控制台读取用户输入的内容。
input() 函数总是以字符串的形式来处理用户输入的内容,所以用户输入的内容可以包含任何字符

input() 函数的简单使用:

a = input("Enter a number: ")
b = input("Enter another number: ")
print("aType: ", type(a))
print("bType: ", type(b))
result = a + b
print("resultValue: ", result)
print("resultType: ", type(result))

运行结果示例:

Enter a number: 100↙
Enter another number: 45↙
aType:  <class 'str'>
bType:  <class 'str'>
resultValue:  10045
resultType:  <class 'str'>

按理说输出结果应该是145 但是他输入的部分自己转化成了字符串,所以这里要用到强制类型转换。

a = input("Enter a number: ")
b = input("Enter another number: ")
a = float(a)
b = int(b)
print("aType: ", type(a))
print("bType: ", type(b))
result = a + b
print("resultValue: ", result)
print("resultType: ", type(result))

运行结果

Enter a number: 12.5↙
Enter another number: 64↙
aType:  <class 'float'>
bType:  <class 'int'>
resultValue:  76.5
resultType:  <class 'float'>

输入多个参数的用法
在这里插入图片描述

3.4.3 print()函数高级用法

user_name = 'Charlie'
user_age = 8
#同时输出多个变量和字符串
print("读者名:",user_name,"年龄:",user_age)

输出

读者名: Charlie 年龄: 8

从输出结果来看,使用 print() 函数输出多个变量时,print() 函数默认以空格隔开多个变量

在默认情况下,print() 函数输出之后总会换行,这是因为 print() 函数的 end 参数的默认值是“\n”,这个“\n”就代表了换行。如果希望 print() 函数输出之后不会换行,则重设 end 参数即可,例如如下代码:

#设置end 参数,指定输出之后不再换行

```python
print(40,'\t',end="")
print(5O,'\t',end="")
print(60,'\t',end="")
40    50    60

## 3.5Python格式化字符串(格式化输出)


3.5.1
此处与C语言完全类似

print() 函数使用以%开头的转换说明符对各种类型的数据进行格式化输出,具体请看下表。

表 1 Python 转换说明符
转换说明符	解释
%d、%i	转换为带符号的十进制整数
%o	转换为带符号的八进制整数
%x、%X	转换为带符号的十六进制整数
%e	转化为科学计数法表示的浮点数(e 小写)
%E	转化为科学计数法表示的浮点数(E 大写)
%f、%F	转化为十进制浮点数
%g	智能选择使用 %f 或 %e 格式
%G	智能选择使用 %F 或 %E 格式
%c	格式化字符及其 ASCII 码
%r	使用 repr() 函数将表达式转换为字符串
%s	使用 str() 函数将表达式转换为字符串
转换说明符(Conversion Specifier)只是一个占位符,它会被后面表达式(变量、常量、数字、字符串、加减乘除等各种形式)的值代替。

【实例】输出一个整数:
age = 8
print("C语言中文网已经%d岁了!" % age)
运行结果:
C语言中文网已经8岁了!

在 print() 函数中,由引号包围的是格式化字符串,它相当于一个字符串模板,可以放置一些转换说明符(占位符)。本例的格式化字符串中包含一个%d说明符,它最终会被后面的 age 变量的值所替代。

中间的%是一个分隔符,它前面是格式化字符串,后面是要输出的表达式。

当然,格式化字符串中也可以包含多个转换说明符,这个时候也得提供多个表达式,用以替换对应的转换说明符;多个表达式必须使用小括号( )包围起来。请看下面的例子:
name = "C语言中文网"
age = 8
url = "http://c.biancheng.net/"
print("%s已经%d岁了,它的网址是%s。" % (name, age, url))
运行结果:
C语言中文网已经8岁了,它的网址是http://c.biancheng.net/。

总之,有几个占位符,后面就得跟着几个表达式。


**3.5.2指定最小宽度**

%10d 表示输出的整数宽度至少为 10;

```python
n = 1234567
print("n(10):%10d." % n)
print("n(5):%5d." % n)
n(10):   1234567.
n(5):1234567.

3.5.3对齐方式

,print() 输出的数据总是右对齐的。也就是说,当数据不够宽时,数据总是靠右边输出

  • 指定左对齐
  • 表示输出的数字总要带着符号;正数带+,负数带-。
    0 表示宽度不足时补充 0,而不是补充空格。

3.5.4指定小数精度
对于小数(浮点数),print() 还允许指定小数点后的数字位数,也即指定小数的输出精度。
精度值需要放在最小宽度之后,中间用点号.隔开;也可以不写最小宽度,只写精度。具体格式如下:
%m.nf
%.nf

m 表示最小宽度,n 表示输出精度,.是必须存在的。

请看下面的代码:

f = 3.141592653
# 最小宽度为8,小数点后保留3位
print("%8.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0
print("%08.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0,带符号
print("%+08.3f" % f)

运行结果:
 

```python
  3.142
0003.142
+003.142

3.6Python转义字符及用法

在这里插入图片描述

3.7数据类型转换

在这里插入图片描述
3.8算数运算符
在这里插入图片描述

4.Python控制流程

上面洋洋洒洒写的3 C语言基本都学过 ,知识加入了py特别的地方,接下来的其实也一样

4.1 if else条件语句

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值