✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆
📃个人主页:hacker707的csdn博客
🔥系列专栏:零基础入门篇
💬个人格言:不断的翻越一座又一座的高山,那样的人生才是我想要的。这一马平川,一眼见底的活,我不想要,我的人生,我自己书写,余生很长,请多关照,我的人生,敬请期待💖💖💖

在Python中使用"#“作为单行注释的符号,从符号”#“开始直到换行为止,”#"后面所有的内容都作为注释内容,同时注释内容会被Python编译器忽略
单行注释可以放在要注释代码的前一行,也可放在要注释代码的右侧
第一种方式:# 使用print语句打印hello world
print("hello world")
第二种方式:print("hello world") # 使用print语句打印hello world
上面两种形式运行结果是相同的,运行结果如下:

在Python中,使用三对单引号或者三对双引号进行多行注释
推荐使用三对双引号进行多行注释
第一种方式:'''
@文件名:初识Python.py
@创建日期:2023年3月25日
@创建者:hacker707
文件功能描述:使用print语句打印hello world
'''
print("hello world")
第二种方式(推荐使用):"""
@文件名:初识Python.py
@创建日期:2023年3月25日
@创建者:hacker707
文件功能描述:使用print语句打印hello world
"""
print("hello world")
上面两种方式运行结果如下:

在Python3中,默认采用的文件编码为UTF-8,这种编码支持世界上大多数语言的字符
如果不想使用默认编码,则需要在文件的第一行声明文件的编码
第一种方式(-*-只是为了美观):# -*- coding:gbk -*-
第二种方式:# coding:gbk
Python不像其他程序设计语言(例如:Java或者C语言)采用大括号{}分隔代码块,而是采用代码缩进和:区分代码之间的层级关系
例如:下面的代码为正确的缩进
number = int(input("请输入一个整数:"))
if number < 0:
print("输入的整数小于0")
elif 0 <= number <= 10:
print("输入的整数在0~10范围")
else:
print("此整数不在你设置的范围内")
代码解读:
在Pytho中默认4个空格为一个缩进单位
上面的代码中的if elif else为第一层缩进、print为第二层缩进
💨在Python中对于代码的缩进要求很严格同一个级别的代码缩进量必须相同,如果不采用合理的代码缩进,会抛出异常
IndentationError: expected an indented block
详细报错解决方案见此文章:IndentationError: expected an indented block
Python中采用PEP作为编码规范,官方详细参考文档:https://peps.python.org/pep-0008/
下面博主列出一些需要严格遵守的编码规范
导入模块推荐用法:
import random
import math
不推荐用法:
import random,math
不要在行尾添加分号:不规范的写法:
number = int(input("请输入整数:"));
建议每行不超过80个字符()将多行内容隐式连接起来demo = ("不断的翻越一座又一座的高山,那样的人生才是我想要的。"
"这一马平川,一眼见底的活,我不想要。我的人生,我自己书写"
"余生很长,请多关照,我的人生,敬请期待")
模块名命名规范:
模块名尽量短小,并且全部用小写字母,可以使用下划线分隔多个字母
例如:demo、game_main都是推荐使用的模块名称
类名命名规范:
类名采用单词首字母大写形式
例如定义一个图书管理类可以命名为BookManagement
函数、类的属性和方法命名规范:
全部使用小写,可以使用下划线分隔多个字母
私有类命名规范:
使用双下划线开头
变量命名规范:
全部使用小写,如有多个单词可以用下划线分隔
例如:count=0
常量命名规范:
全部大写,如有多个单词可以使用下划线分隔
例如:MAX_SIZE=100
标识符简单来说就是一个名字,它只要用于标记变量、函数、类、模块和其他对象的名称
Python标识符命名规则如下:
4demo
try
$money
在Python中,不需要提前声明变量名及其类型,直接赋值即可创建各种类型的变量
变量的定义应遵循以下原则:
创建变量实例:创建一个整型变量,并将其赋值为1024
number = 1024
创建其他类型的变量也是如此,例如想创建一个字符串类型的变量,直接为变量赋值一个字符串值即可
demo = "hello world"
💨扩展:
使用type()查看变量的类型
使用id()查看变量所在的内存地址
number = 1024
print("number变量的类型:", type(number))
print("number变量的内存地址:", id(number))

以上就是Python基础入门篇之初识Python(注释、代码缩进、编码规范、标识符、变量)
欢迎大家订阅系列专栏:Python零基础入门篇🥇此专栏内容会持续更新直到完结为止(如有任何纰漏请在评论区留言或者私信)
感谢大家一直以来对hacker的支持
你们的支持就是博主无尽创作的动力💖💖💖

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%
在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has
我正在使用ruby1.9解析以下带有MacRoman字符的csv文件#encoding:ISO-8859-1#csv_parse.csvName,main-dialogue"Marceu","Giveittohimóhe,hiswife."我做了以下解析。require'csv'input_string=File.read("../csv_parse.rb").force_encoding("ISO-8859-1").encode("UTF-8")#=>"Name,main-dialogue\r\n\"Marceu\",\"Giveittohim\x97he,hiswife.\"\
我正在查看instance_variable_set的文档并看到给出的示例代码是这样做的:obj.instance_variable_set(:@instnc_var,"valuefortheinstancevariable")然后允许您在类的任何实例方法中以@instnc_var的形式访问该变量。我想知道为什么在@instnc_var之前需要一个冒号:。冒号有什么作用? 最佳答案 我的第一直觉是告诉你不要使用instance_variable_set除非你真的知道你用它做什么。它本质上是一种元编程工具或绕过实例变量可见性的黑客攻击
我正在编写一个gem,我必须在其中fork两个启动两个webrick服务器的进程。我想通过基类的类方法启动这个服务器,因为应该只有这两个服务器在运行,而不是多个。在运行时,我想调用这两个服务器上的一些方法来更改变量。我的问题是,我无法通过基类的类方法访问fork的实例变量。此外,我不能在我的基类中使用线程,因为在幕后我正在使用另一个不是线程安全的库。所以我必须将每个服务器派生到它自己的进程。我用类变量试过了,比如@@server。但是当我试图通过基类访问这个变量时,它是nil。我读到在Ruby中不可能在分支之间共享类变量,对吗?那么,还有其他解决办法吗?我考虑过使用单例,但我不确定这是
我是一个Rails初学者,但我想从我的RailsView(html.haml文件)中查看Ruby变量的内容。我试图在ruby中打印出变量(认为它会在终端中出现),但没有得到任何结果。有什么建议吗?我知道Rails调试器,但更喜欢使用inspect来打印我的变量。 最佳答案 您可以在View中使用puts方法将信息输出到服务器控制台。您应该能够在View中的任何位置使用Haml执行以下操作:-puts@my_variable.inspect 关于ruby-on-rails-如何在我的R
我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru
我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的