Python学习笔记-001

记录一下重学python,虽然python老早就接触了,更多的还是停留在语法层面,老c++了。最近打算从头开始系统拉一下python的基础,先预计8天学完。后面还打算系统学一下Numpy,Pandas和Matplotlib。

python基础教程

python简介

  • 检查是否安装python,终端输入python --version
  • python是一种解释性编程语言,只需要在文本编辑器中编写python文件,放入解释器中运行即可,比如在命令行中运行python test.py or ./test.py
    如果想要实时快速地测试python代码,编写文件运行并不高效,python其实本身就可以作为命令行运行,如在终端中输入python;调试完成后,使用exit()退出即可。

python关键字和标识符

python是区分大小写的!!!即Var和var是不同的变量
关键字是python中的保留字,不能用作变量名或函数名,并且关键字区分大小写,除了False,TrueNone之外,都是小写,如下表所示。
image
用法太多,用到的时候再查也行。
标识符是python中类,函数和变量等实体的名称,用于区分不同的实体。

  • 标识符是小写字母或大写字母或数字或下划线的组合。
  • 但是不能以数字开头。
  • 关键字不能用作标识符。
  • 不能用特殊符号作为标识符。
  • 标识符可以是任意长度。
    可以使用下划线对多个单词进行命名,如this_is_long_variable

python语句缩进和注释python语句缩进和注释

换行

python中换行可以使用\,如:

a = 1 + 2 + \
    3 + 4 + \
    5 + 6

或者

a = (1 + 2 + 
     3 + 4 + 
     5 + 6)

或者使用;将多个语句放在一行:

a = 1; b = 2; c = 3

缩进

python使用缩进来定义代码块

注释

  • 使用#注释
  • 使用"""注释
"""这是
一个
多行注释"""

文档字符串

文档字符串说明了函数的作用。

def double(x):
    """函数值翻倍"""
    return x * 2

通过调用print(double.__doc__)获得文档字符串。

变量,常量和字面量

  • 变量是在内存中存储数据的命名位置。python是一种类型推断语言,不必显式定义类型。
  • 常量无法更改,一般用大写字母命名
  • 字面量
    字面量是以常量或变量给出的原始数据。
    数字字面量(不可更改):
a = 0b1010 #二进制字面量
b = 100 #十进制字面量
c = 0o310 #八进制字面量
d = 0x12c #十六进制字面量

#Float 字面量
float_1 = 10.5 
float_2 = 1.5e2

#Complex 字面量
x = 3.14j

print(a, b, c, d)
print(float_1, float_2)
print(x, x.imag, x.real)

输出为:

10 100 200 300
10.5 150.0
3.14j 3.14 0.0

字符串字面量:用引号括起来的一系列字符

strings = "This is Python"
char = "C"
multiline_str = """This is a multiline string with more than one line code."""
unicode = u"\u00dcnic\u00f6de"
raw_str = r"raw \n string"

print(strings)
print(char)
print(multiline_str)
print(unicode)
print(raw_str)

输出为:

This is Python
C
This is a multiline string with more than one line code.
Ünicöde
raw \n string

布尔字面量:TrueorFalse

x = (1 == True)
y = (1 == False)
a = True + 4
b = False + 10

print("x is", x)
print("y is", y)
print("a:", a)
print("b:", b)

输出为:

x is True
y is False
a: 5
b: 10

特殊字面量:使用None来指定尚未创建的字段

drink = "Available"
food = None

def menu(x):
    if x == drink:
        print(drink)
    else:
        print(food)

menu(drink)
menu(food)

输出为:

Available
None

字面量集:列表,元组,字典和集合

fruits = ["apple", "mango", "orange"] #列表
numbers = (1, 2, 3) #元组
alphabets = {'a':'apple', 'b':'ball', 'c':'cat'} #字典
vowels = {'a', 'e', 'i' , 'o', 'u'} #集合

print(fruits)
print(numbers)
print(alphabets)
print(vowels)

输出为:

['apple', 'mango', 'orange']
(1, 2, 3)
{'a': 'apple', 'b': 'ball', 'c': 'cat'}
{'e', 'a', 'o', 'i', 'u'}

数据类型

python中一切都是对象,因此数据类型是类,变量是这些类的对象。

数字(Number)

整数(不限长度,但受内存限制),浮点数(精确到15个小数位)和复数,它们被定义为int,floatcomplex类。使用type()函数判断变量属于哪个类。

列表(List)

列表中的元素可以不是同一类型,并且元素可变。索引从0开始,使用切片(左闭右开)提取一系列元素。

a = [5,10,15,20,25,30,35,40]

# a[2] = 15
print("a[2] = ", a[2])

# a[0:3] = [5, 10, 15]
print("a[0:3] = ", a[0:3])

# a[5:] = [30, 35, 40]
print("a[5:] = ", a[5:])

输出为:

a[2] =  15
a[0:3] =  [5, 10, 15]
a[5:] =  [30, 35, 40]

元组(Tuple)

和列表类似,唯一区别是元组的元素不可变。

字符串

字符串不可变。

集合(Set)

集合是无序的,且具有唯一值,切片操作不起作用。

字典

字典是键值对的无序集合。

数据类型转换

使用int(),float(),str()

>>> float(5)
5.0
>>> int(10.6)
10
>>> int(-10.6)    # 接近0
-10
>>> set([1,2,3])
{1, 2, 3}
>>> tuple({5,6,7})
(5, 6, 7)
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
>>> dict([[1,2],[3,4]])
{1: 2, 3: 4}
>>> dict([(3,26),(4,44)])
{3: 26, 4: 44}

Python类型转换

隐式类型转换

python解释器自动进行,无需用户操作。python把较低数据类型(int)自动转换为较高数据类型(float)。

显示类型转换

用户强制转换,可能会发生数据丢失,通过<required_datatype>(expression)实现。

Python输入输出导出

print()函数输出

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

  • objects是要打印的值
  • sep是值之间的分隔符,默认是空格
  • end是最后打印的字符,默认是换行
  • file是打印值的对象,默认是屏幕

输出格式

通过str.format()实现,如:

>>> x = 5; y = 10
>>> print('x的值为{},y的值为{}'.format(x,y))
x的值为5,y的值为10

也可以使用索引指定它们的打印顺序

>>> print('I love {0} and {1}'.format('bread','butter'))
I love bread and butter
>>> print('I love {1} and {0}'.format('bread','butter'))
I love butter and bread

也可以使用关键字参数格式化字符串

>>> print('Hello {name}, {greeting}'.format(greeting = 'Goodmorning', name = 'John'))
Hello John, Goodmorning

也可以使用C编程中sprintf的旧样式格式化字符串,用%实现

>>> x = 12.3456789
>>> print('x的值为 %3.2f' %x)
x的值为 12.35
>>> print('x的值为 %3.4f' %x)
x的值为 12.3457

python输入

>>> num = input('Enter a number: ')
Enter a number: 10
>>> num
'10'

python导入

模块是包含python定义和语句的文件,使用import将一个模块的定义导入到另一个模块。

Python运算符

算数运算符和比较运算符都比较简单。

逻辑运算符

and,or,not

位运算符

image

赋值运算符

=

特殊运算符

image
image

Python关键字列表

as:导入模块时创建别名。
assert:用于调试,如果条件为真,pass,否则引发AssertionError。

>>> assert a > 5
Traceback (most recent call last):
  File "<string>", line 301, in runcode
  File "<interactive input>", line 1, in <module>
AssertionError

或者

>>> assert a > 5, "The value of a is too small"
Traceback (most recent call last):
  File "<string>", line 301, in runcode
  File "<interactive input>", line 1, in <module>
AssertionError: The value of a is too small

lambda:匿名函数

a = lambda x: x*2
for i in range(1,6):
    print(a(i))

pass:空语句,用作占位符。

posted @ 2024-04-08 15:32  吃瓜吃撑了  阅读(19)  评论(0)    收藏  举报
相关博文:
阅读排行:
· 突发,CSDN 崩了!程序员们开始慌了?
· 完成微博外链备案,微博中直接可以打开园子的链接
· C# WinForms 实现打印监听组件
· C#实现欧姆龙 HostLink 通讯协议库
· 一个基于 .NET 开源、模块化 AI 图像生成 Web 用户界面
点击右上角即可分享
微信分享提示